summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2021-05-19 17:42:50 +0300
committerEli Zaretskii <eliz@gnu.org>2021-05-19 17:42:50 +0300
commit5e1a8d5654d97d2631ad67ebb88be4d2eec7d408 (patch)
tree8c42a8a77255c2767d18cb92e11c038907d72214 /configure.ac
parentdac694b8bb1e5a31a50215ceee6b064ae7c5001f (diff)
downloademacs-5e1a8d5654d97d2631ad67ebb88be4d2eec7d408.tar.gz
Fix the unexec build on GNU/Linux
The unexec build on GNU/Linux must use HYBRID_MALLOC (gmalloc.c) and sheap.c. This was inadvertently disabled because a configure-time test for 'sbrk' was moved as side effect of an unrelated change. * configure.ac: Test for 'sbrk' before using the result in the decision about SYSTEM_MALLOC and HYBRID_MALLOC. (HYBRID_MALLOC): Prevent Gnulib from redirecting 'free' to its replacement 'rpl_free'. * lib/Makefile.in (not_emacs_OBJECTS): Add mallooc/%.o and free.o.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac8
1 files changed, 7 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 3df4359fa72..d35ac6dbd37 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2273,6 +2273,9 @@ doug_lea_malloc=$emacs_cv_var_doug_lea_malloc
hybrid_malloc=
system_malloc=yes
+dnl This must be before the test of $ac_cv_func_sbrk below.
+AC_CHECK_FUNCS_ONCE([sbrk])
+
test $with_unexec = yes &&
case "$opsys" in
## darwin ld insists on the use of malloc routines in the System framework.
@@ -2306,6 +2309,9 @@ elif test "$hybrid_malloc" = yes; then
GNU_MALLOC_reason=" (only before dumping)"
GMALLOC_OBJ=gmalloc.o
VMLIMIT_OBJ=
+ # FIXME: This is to prevent Gnulib from redirecting 'free' to its
+ # replacement, instead of 'hybrid_free' in gmalloc.c.
+ gl_cv_func_free_preserves_errno=yes
else
test "$doug_lea_malloc" != "yes" && GMALLOC_OBJ=gmalloc.o
VMLIMIT_OBJ=vm-limit.o
@@ -4677,7 +4683,7 @@ AC_CHECK_HEADERS(valgrind/valgrind.h)
AC_CHECK_MEMBERS([struct unipair.unicode], [], [], [[#include <linux/kd.h>]])
-AC_CHECK_FUNCS_ONCE([__lsan_ignore_object sbrk])
+AC_CHECK_FUNCS_ONCE([__lsan_ignore_object])
AC_FUNC_FORK