Skip to content

Commit

Permalink
Mark malloc hook variables as deprecated
Browse files Browse the repository at this point in the history
  • Loading branch information
drepper committed May 30, 2011
1 parent a33c446 commit 7d17596
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 6 deletions.
2 changes: 2 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
2011-05-29 Ulrich Drepper <[email protected]>

* malloc/malloc.h: Mark malloc hook variables as deprecated.

[BZ #11781]
* malloc/malloc.h: Declare malloc hook variables as volatile.

Expand Down
5 changes: 5 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ Version 2.14

* New program sotruss to trace calls through PLTs
Implemented by Ulrich Drepper.

* The malloc hook implementation is marked deprecated and will be removed
from the default implementation in the next version. The design never
worked ever since the introduction of threads. Even programs which do
not create threads themselves can use multiple threads created internally.

Version 2.13

Expand Down
20 changes: 14 additions & 6 deletions malloc/malloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,18 @@

# ifdef _LIBC
# define __MALLOC_HOOK_VOLATILE
# define __MALLOC_DEPRECATED
# else
# define __MALLOC_HOOK_VOLATILE __volatile
# define __MALLOC_DEPRECATED __attribute_deprecated__
# endif

#else /* Not GCC. */

# define __MALLOC_P(args) args
# define __MALLOC_PMT(args) args
# define __MALLOC_HOOK_VOLATILE
# define __MALLOC_DEPRECATED __attribute_deprecated__

#endif /* GCC. */

Expand Down Expand Up @@ -164,22 +167,27 @@ extern int malloc_set_state (void *__ptr) __THROW;
/* Called once when malloc is initialized; redefining this variable in
the application provides the preferred way to set up the hook
pointers. */
extern void (*__MALLOC_HOOK_VOLATILE __malloc_initialize_hook) (void);
extern void (*__MALLOC_HOOK_VOLATILE __malloc_initialize_hook) (void)
__MALLOC_DEPRECATED;
/* Hooks for debugging and user-defined versions. */
extern void (*__MALLOC_HOOK_VOLATILE __free_hook) (void *__ptr,
__const __malloc_ptr_t);
__const __malloc_ptr_t)
__MALLOC_DEPRECATED;
extern void *(*__MALLOC_HOOK_VOLATILE __malloc_hook) (size_t __size,
__const __malloc_ptr_t);
__const __malloc_ptr_t)
__MALLOC_DEPRECATED;
extern void *(*__MALLOC_HOOK_VOLATILE __realloc_hook) (void *__ptr,
size_t __size,
__const __malloc_ptr_t);
__const __malloc_ptr_t)
__MALLOC_DEPRECATED;
extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook) (size_t __alignment,
size_t __size,
__const __malloc_ptr_t);
__const __malloc_ptr_t)
__MALLOC_DEPRECATED;
extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);

/* Activate a standard set of debugging hooks. */
extern void __malloc_check_init (void) __THROW;
extern void __malloc_check_init (void) __THROW __MALLOC_DEPRECATED;


__END_DECLS
Expand Down

0 comments on commit 7d17596

Please sign in to comment.