diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-23 10:53:52 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-23 10:53:52 +0000 |
commit | 404d4cef440253fa66168ca674c4aaf80c05d512 (patch) | |
tree | d0d8354370ac47275964f1fa24caf9fa3b721d1e /malloc/malloc.c | |
parent | 16495f81270e72edf3a8faae19dd0e0b22373cf1 (diff) | |
download | glibc-404d4cef440253fa66168ca674c4aaf80c05d512.tar glibc-404d4cef440253fa66168ca674c4aaf80c05d512.tar.gz glibc-404d4cef440253fa66168ca674c4aaf80c05d512.tar.bz2 glibc-404d4cef440253fa66168ca674c4aaf80c05d512.zip |
* malloc/hooks.c (__malloc_initialize_hook, __free_hook,
__malloc_hook, __realloc_hook, __memalign_hook,
__after_morecore_hook): Variable definitions moved to ...
* malloc/malloc.c: ... here, so as to be before all references.
Diffstat (limited to 'malloc/malloc.c')
-rw-r--r-- | malloc/malloc.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c index b6fd367f8b..03c3c9a33b 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -2263,6 +2263,43 @@ static void malloc_consolidate(); static Void_t** iALLOc(); #endif + +/* -------------- Early definitions for debugging hooks ---------------- */ + +/* Define and initialize the hook variables. These weak definitions must + appear before any use of the variables in a function (arena.c uses one). */ +#ifndef weak_variable +#ifndef _LIBC +#define weak_variable /**/ +#else +/* In GNU libc we want the hook variables to be weak definitions to + avoid a problem with Emacs. */ +#define weak_variable weak_function +#endif +#endif + +/* Forward declarations. */ +static Void_t* malloc_hook_ini __MALLOC_P ((size_t sz, + const __malloc_ptr_t caller)); +static Void_t* realloc_hook_ini __MALLOC_P ((Void_t* ptr, size_t sz, + const __malloc_ptr_t caller)); +static Void_t* memalign_hook_ini __MALLOC_P ((size_t alignment, size_t sz, + const __malloc_ptr_t caller)); + +void weak_variable (*__malloc_initialize_hook) __MALLOC_P ((void)) = NULL; +void weak_variable (*__free_hook) __MALLOC_P ((__malloc_ptr_t __ptr, + const __malloc_ptr_t)) = NULL; +__malloc_ptr_t weak_variable (*__malloc_hook) + __MALLOC_P ((size_t __size, const __malloc_ptr_t)) = malloc_hook_ini; +__malloc_ptr_t weak_variable (*__realloc_hook) + __MALLOC_P ((__malloc_ptr_t __ptr, size_t __size, const __malloc_ptr_t)) + = realloc_hook_ini; +__malloc_ptr_t weak_variable (*__memalign_hook) + __MALLOC_P ((size_t __alignment, size_t __size, const __malloc_ptr_t)) + = memalign_hook_ini; +void weak_variable (*__after_morecore_hook) __MALLOC_P ((void)) = NULL; + + /* ------------------- Support for multiple arenas -------------------- */ #include "arena.c" |