diff --git a/configure.ac b/configure.ac index b320c4978d6..86e2e0a9f78 100644 --- a/configure.ac +++ b/configure.ac @@ -3206,8 +3206,7 @@ AC_CACHE_CHECK( [AC_LANG_PROGRAM( [[#include static void hook (void) {}]], - [[malloc_set_state (malloc_get_state ()); - __after_morecore_hook = hook; + [[__after_morecore_hook = hook; __malloc_initialize_hook = hook;]])], [emacs_cv_var_doug_lea_malloc=yes]) fi]) @@ -3255,7 +3254,7 @@ if test "$doug_lea_malloc" = "yes"; then fi AC_DEFINE([DOUG_LEA_MALLOC], [1], [Define to 1 if the system memory allocator is Doug Lea style, - with malloc hooks and malloc_set_state.]) + with malloc hooks.]) ## Use mmap directly for allocating larger buffers. ## FIXME this comes from src/s/{gnu,gnu-linux}.h: diff --git a/src/alloc.c b/src/alloc.c index e557e82883c..1e0e5f58e84 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -209,10 +209,6 @@ enum { MALLOC_ALIGNMENT = max (2 * sizeof (size_t), alignof (long double)) }; # define MMAP_MAX_AREAS 100000000 -/* A pointer to the memory allocated that copies that static data - inside glibc's malloc. */ -static void *malloc_state_ptr; - /* Restore the dumped malloc state. Because malloc can be invoked even before main (e.g. by the dynamic linker), the dumped malloc state must be restored as early as possible using this special hook. */ @@ -247,10 +243,6 @@ malloc_initialize_hook (void) break; } } - - if (malloc_set_state (malloc_state_ptr) != 0) - emacs_abort (); - alloc_unexec_post (); } } @@ -266,27 +258,6 @@ voidfuncptr __MALLOC_HOOK_VOLATILE __malloc_initialize_hook EXTERNALLY_VISIBLE #endif #if defined DOUG_LEA_MALLOC - -/* Allocator-related actions to do just before and after unexec. */ - -void -alloc_unexec_pre (void) -{ -# ifdef DOUG_LEA_MALLOC - malloc_state_ptr = malloc_get_state (); - if (!malloc_state_ptr) - fatal ("malloc_get_state: %s", strerror (errno)); -# endif -} - -void -alloc_unexec_post (void) -{ -# ifdef DOUG_LEA_MALLOC - free (malloc_state_ptr); -# endif -} - # ifdef GNU_LINUX /* The address where the heap starts. */