summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--malloc/hooks.c34
-rw-r--r--malloc/malloc.c37
3 files changed, 42 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index 55e1888362..c95e6f8371 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2002-08-23  Roland McGrath  <roland@redhat.com>
 
+	* 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.
+
 	* sysdeps/i386/dl-machine.h (elf_machine_load_address): Add a dummy
 	global variable reference in an unused asm parameter, to ensure the
 	compiler has set up the GOT register before we use it.
diff --git a/malloc/hooks.c b/malloc/hooks.c
index 9fab05c307..a36980360a 100644
--- a/malloc/hooks.c
+++ b/malloc/hooks.c
@@ -20,40 +20,6 @@
 
 /* $Id$ */
 
-#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));
-
-/* Define and initialize the hook variables.  These weak definitions must
-   appear before any use of the variables in a function.  */
-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;
-
-
 #ifndef DEFAULT_CHECK_ACTION
 #define DEFAULT_CHECK_ACTION 1
 #endif
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"