From: Ulrich Drepper Date: Mon, 30 May 2011 01:10:23 +0000 (-0400) Subject: Mark malloc hook variables as deprecated X-Git-Tag: glibc-2.14~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d17596c198f11fa85cbcf9587443f262e63b616;p=thirdparty%2Fglibc.git Mark malloc hook variables as deprecated --- diff --git a/ChangeLog b/ChangeLog index 5fb62a630b6..796646e1c0c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2011-05-29 Ulrich Drepper + * malloc/malloc.h: Mark malloc hook variables as deprecated. + [BZ #11781] * malloc/malloc.h: Declare malloc hook variables as volatile. diff --git a/NEWS b/NEWS index f95fcd2beac..a3e44640612 100644 --- a/NEWS +++ b/NEWS @@ -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 diff --git a/malloc/malloc.h b/malloc/malloc.h index e8f6068c1f1..3a43f7cfdb1 100644 --- a/malloc/malloc.h +++ b/malloc/malloc.h @@ -39,8 +39,10 @@ # ifdef _LIBC # define __MALLOC_HOOK_VOLATILE +# define __MALLOC_DEPRECATED # else # define __MALLOC_HOOK_VOLATILE __volatile +# define __MALLOC_DEPRECATED __attribute_deprecated__ # endif #else /* Not GCC. */ @@ -48,6 +50,7 @@ # define __MALLOC_P(args) args # define __MALLOC_PMT(args) args # define __MALLOC_HOOK_VOLATILE +# define __MALLOC_DEPRECATED __attribute_deprecated__ #endif /* GCC. */ @@ -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