Mark malloc hook variables as deprecated

This commit is contained in:
Ulrich Drepper 2011-05-29 21:10:23 -04:00
parent a33c44639a
commit 7d17596c19
3 changed files with 21 additions and 6 deletions

View File

@ -1,5 +1,7 @@
2011-05-29 Ulrich Drepper <drepper@gmail.com> 2011-05-29 Ulrich Drepper <drepper@gmail.com>
* malloc/malloc.h: Mark malloc hook variables as deprecated.
[BZ #11781] [BZ #11781]
* malloc/malloc.h: Declare malloc hook variables as volatile. * malloc/malloc.h: Declare malloc hook variables as volatile.

5
NEWS
View File

@ -39,6 +39,11 @@ Version 2.14
* New program sotruss to trace calls through PLTs * New program sotruss to trace calls through PLTs
Implemented by Ulrich Drepper. 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 Version 2.13

View File

@ -39,8 +39,10 @@
# ifdef _LIBC # ifdef _LIBC
# define __MALLOC_HOOK_VOLATILE # define __MALLOC_HOOK_VOLATILE
# define __MALLOC_DEPRECATED
# else # else
# define __MALLOC_HOOK_VOLATILE __volatile # define __MALLOC_HOOK_VOLATILE __volatile
# define __MALLOC_DEPRECATED __attribute_deprecated__
# endif # endif
#else /* Not GCC. */ #else /* Not GCC. */
@ -48,6 +50,7 @@
# define __MALLOC_P(args) args # define __MALLOC_P(args) args
# define __MALLOC_PMT(args) args # define __MALLOC_PMT(args) args
# define __MALLOC_HOOK_VOLATILE # define __MALLOC_HOOK_VOLATILE
# define __MALLOC_DEPRECATED __attribute_deprecated__
#endif /* GCC. */ #endif /* GCC. */
@ -164,22 +167,27 @@ extern int malloc_set_state (void *__ptr) __THROW;
/* Called once when malloc is initialized; redefining this variable in /* Called once when malloc is initialized; redefining this variable in
the application provides the preferred way to set up the hook the application provides the preferred way to set up the hook
pointers. */ 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. */ /* Hooks for debugging and user-defined versions. */
extern void (*__MALLOC_HOOK_VOLATILE __free_hook) (void *__ptr, 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, 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, extern void *(*__MALLOC_HOOK_VOLATILE __realloc_hook) (void *__ptr,
size_t __size, size_t __size,
__const __malloc_ptr_t); __const __malloc_ptr_t)
__MALLOC_DEPRECATED;
extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook) (size_t __alignment, extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook) (size_t __alignment,
size_t __size, size_t __size,
__const __malloc_ptr_t); __const __malloc_ptr_t)
__MALLOC_DEPRECATED;
extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void); extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);
/* Activate a standard set of debugging hooks. */ /* 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 __END_DECLS