1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00

* 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.
This commit is contained in:
Roland McGrath
2002-08-23 10:53:52 +00:00
parent 16495f8127
commit 404d4cef44
3 changed files with 42 additions and 34 deletions

View File

@@ -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"