GNU bug report logs - #36649
27.0.50; pure space and pdumper

Previous Next

Package: emacs;

Reported by: Pip Cet <pipcet <at> gmail.com>

Date: Sun, 14 Jul 2019 14:27:01 UTC

Severity: wishlist

Tags: patch

Found in version 27.0.50

Done: Pip Cet <pipcet <at> protonmail.com>

Bug is archived. No further changes may be made.

Full log


Message #259 received at 36649 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: larsi <at> gnus.org, eggert <at> cs.ucla.edu
Cc: schwab <at> linux-m68k.org, rpluim <at> gmail.com, stefan <at> marxist.se,
 monnier <at> iro.umontreal.ca, 36649 <at> debbugs.gnu.org
Subject: Re: bug#36649: 27.0.50; pure space and pdumper
Date: Wed, 19 May 2021 18:11:20 +0300
> Date: Mon, 17 May 2021 17:23:50 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: eggert <at> cs.ucla.edu, rpluim <at> gmail.com, stefan <at> marxist.se,
>  schwab <at> linux-m68k.org, monnier <at> iro.umontreal.ca, pipcet <at> gmail.com,
>  36649 <at> debbugs.gnu.org, akrl <at> sdf.org
> 
> If no one else is willing to debug the unexec problems, I will do it
> myself, at my own pace.

Now done.  At least the unoptimized build with unexec runs cleanly to
completion on GNU/Linux.  Turns out we broke this about 1.5 year ago,
when an unrelated change inadvertently disabled the use of
HYBRID_MALLOC in this build, which is a must for unexec to work on
this platform.

There's one aspect of the changeset I pushed that I'm uneasy about.
It is this part in configure.ac:

  diff --git a/configure.ac b/configure.ac
  index 3df4359..d35ac6d 100644
  --- a/configure.ac
  +++ b/configure.ac
  @@ -2306,6 +2309,9 @@ AC_DEFUN
     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

The problem here is that Gnulib wants to redirect 'free' to its
replacement 'rpl_free', and that breaks our own redirection, in
conf_post.h, to 'hybrid_free' (of gmalloc.c), which we _must_ use in
this configuration.  I couldn't find a clean fix, so for now the
unexec build will not use the Gnulib replacement for 'free'.

Paul, if this kludge annoys you enough (I hope it will), please
suggest a cleaner way out of this conundrum.




This bug report was last modified 199 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.