Remove check for working malloc_set_state
This check was added to 'malloc_initialize_hook' in order to "insulate
Emacs better from configuration screwups" (commit b4788b9394
). With
unexec gone, we no longer use 'malloc_set_state', and thus don't need
this check.
Note that this patch removes the last uses of the deprecated glibc
functions 'malloc_set_state' and 'malloc_get_state' from our code.
* src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
Remove check for working 'malloc_set_state'.
(alloc_unexec_pre) [DOUG_LEA_MALLOC]: Delete unused function.
(alloc_unexec_post) [DOUG_LEA_MALLOC]: Delete function.
(malloc_state_ptr) [DOUG_LEA_MALLOC]: Delete variable.
* configure.ac (emacs_cv_var_doug_lea_malloc): Don't check for
malloc_set_state and malloc_get_state.
This commit is contained in:
parent
bb64e9464c
commit
892be3b3d7
2 changed files with 2 additions and 32 deletions
|
@ -3206,8 +3206,7 @@ AC_CACHE_CHECK(
|
|||
[AC_LANG_PROGRAM(
|
||||
[[#include <malloc.h>
|
||||
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:
|
||||
|
|
29
src/alloc.c
29
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. */
|
||||
|
|
Loading…
Add table
Reference in a new issue