summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-05-29 21:10:23 -0400
committerUlrich Drepper <drepper@gmail.com>2011-05-29 21:10:23 -0400
commit7d17596c198f11fa85cbcf9587443f262e63b616 (patch)
tree4f533c78403e206e013af43e5c6ff77be7ee1c7f
parenta33c44639a8784589c8386ac0b56baf6d0beca32 (diff)
Mark malloc hook variables as deprecated
-rw-r--r--ChangeLog2
-rw-r--r--NEWS5
-rw-r--r--malloc/malloc.h20
3 files changed, 21 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 5fb62a630b..796646e1c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2011-05-29 Ulrich Drepper <drepper@gmail.com>
+ * 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 f95fcd2bea..a3e4464061 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 e8f6068c1f..3a43f7cfdb 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