aboutsummaryrefslogtreecommitdiff
path: root/malloc/hooks.c
diff options
context:
space:
mode:
Diffstat (limited to 'malloc/hooks.c')
-rw-r--r--malloc/hooks.c61
1 files changed, 3 insertions, 58 deletions
diff --git a/malloc/hooks.c b/malloc/hooks.c
index 3cd44eeb84..8e9fefe6c3 100644
--- a/malloc/hooks.c
+++ b/malloc/hooks.c
@@ -34,65 +34,10 @@ void *(*__morecore)(ptrdiff_t);
compat_symbol (libc, __morecore, __morecore, GLIBC_2_0);
#endif
-static void *malloc_hook_ini (size_t, const void *) __THROW;
-static void *realloc_hook_ini (void *, size_t, const void *) __THROW;
-static void *memalign_hook_ini (size_t, size_t, const void *) __THROW;
-
void weak_variable (*__free_hook) (void *, const void *) = NULL;
-void *weak_variable (*__malloc_hook)
- (size_t, const void *) = malloc_hook_ini;
-void *weak_variable (*__realloc_hook)
- (void *, size_t, const void *) = realloc_hook_ini;
-void *weak_variable (*__memalign_hook)
- (size_t, size_t, const void *) = memalign_hook_ini;
-
-/* Hooks for debugging versions. The initial hooks just call the
- initialization routine, then do the normal work. */
-
-/* These hooks will get executed only through the interposed allocator
- functions in libc_malloc_debug.so. This means that the calls to malloc,
- realloc, etc. will lead back into the interposed functions, which is what we
- want.
-
- These initial hooks are assumed to be called in a single-threaded context,
- so it is safe to reset all hooks at once upon initialization. */
-
-static void
-generic_hook_ini (void)
-{
- __malloc_hook = NULL;
- __realloc_hook = NULL;
- __memalign_hook = NULL;
- ptmalloc_init ();
-
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_24)
- void (*hook) (void) = atomic_forced_read (__malloc_initialize_hook);
- if (hook != NULL)
- (*hook)();
-#endif
- __malloc_initialized = 1;
-}
-
-static void *
-malloc_hook_ini (size_t sz, const void *caller)
-{
- generic_hook_ini ();
- return malloc (sz);
-}
-
-static void *
-realloc_hook_ini (void *ptr, size_t sz, const void *caller)
-{
- generic_hook_ini ();
- return realloc (ptr, sz);
-}
-
-static void *
-memalign_hook_ini (size_t alignment, size_t sz, const void *caller)
-{
- generic_hook_ini ();
- return memalign (alignment, sz);
-}
+void *weak_variable (*__malloc_hook) (size_t, const void *) = NULL;
+void *weak_variable (*__realloc_hook) (void *, size_t, const void *) = NULL;
+void *weak_variable (*__memalign_hook) (size_t, size_t, const void *) = NULL;
#include "malloc-check.c"