--- Begin Message ---
Subject: |
26.1.50; temacs bootstrap execs itself forever on alpha-unknown-linux-gnu |
Date: |
Sat, 7 Jul 2018 17:28:22 +0200 |
Forwarding Gentoo bug https://bugs.gentoo.org/660448:
Tobias Klausmann has reported a problem with building Emacs 26.1 on an
Alpha machine under GNU/Linux:
make -C ../lisp update-subdirs
make[2]: Entering directory
'/space/portage-tmp/portage/app-editors/emacs-26.1/work/emacs-26.1/lisp'
for file in . ./calc ./calendar ./emacs-lisp ./emulation ./erc ./eshell ./gnus
./image ./international ./language ./mail ./mh-e ./net ./nxml ./obsolete ./org
./play ./progmodes ./term ./textmodes ./url ./vc; do \
./../build-aux/update-subdirs $file; \
done;
make[2]: Leaving directory
'/space/portage-tmp/portage/app-editors/emacs-26.1/work/emacs-26.1/lisp'
./temacs --batch --load loadup bootstrap
[Build aborted with C-c after waiting for a long time.]
Seemingly temacs hangs there indefinitely, but gdb shows that it is
executing itself forever:
(gdb) run
Starting program: /space/homedirs/ulm/emacs/src/temacs --batch --load loadup
bootstrap
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
process 859 is executing new program: /space/homedirs/ulm/emacs/src/temacs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
process 859 is executing new program: /space/homedirs/ulm/emacs/src/temacs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
process 859 is executing new program: /space/homedirs/ulm/emacs/src/temacs
^C
Program received signal SIGINT, Interrupt.
0x00000200000010f0 in ?? () from /lib/ld-linux.so.2
Setting a breakpoint in disable_address_randomization() shows the
following values:
pers = 0
desired_pers = 262144
personality(desired_pers) = 0
personality(0xffffffff) = 262144
So apparently, setting the persona to ADDR_NO_RANDOMIZE succeeds?
However, after the execvp, the above values are the same as before
again (especially pers = 0).
Git bisecting shows that the problem was introduced by this commit:
commit e95b023163e96538b15f030b7176b7ec59cf86f5
Author: Paul Eggert <address@hidden>
Date: Fri Jul 15 13:07:09 2016 +0200
Port to glibc 2.24 (pre-release) + ppc64
Inspired by a suggestion by Florian Weimer in:
https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
* configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
Rename from HAVE_PERSONALITY_LINUX32, and check for
ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
All uses changed.
* src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
flag ourselves. Just set that flag, rather than also setting the
persona. When doing it, avoid functions like putenv that may
allocate memory.
In GNU Emacs 26.1.50 (build 1, alpha-unknown-linux-gnu)
of 2018-07-07 built on monolith
Repository revision: b73cde5e2815c531df7f5fd13e214a7d92f78239
Configured using:
'configure --prefix=/usr --build=alpha-unknown-linux-gnu
--host=alpha-unknown-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --disable-silent-rules
--docdir=/usr/share/doc/emacs-26.1
--htmldir=/usr/share/doc/emacs-26.1/html --libdir=/usr/lib
--program-suffix=-emacs-26 --infodir=/usr/share/info/emacs-26
--localstatedir=/var
--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
--without-compress-install --without-hesiod --without-pop
--with-file-notification=inotify --enable-acl --without-dbus
--without-modules --without-gameuser --without-gpm --without-kerberos
--without-kerberos5 --without-lcms2 --without-xml2 --without-mailutils
--without-selinux --with-gnutls --without-libsystemd --with-threads
--without-wide-int --with-zlib --with-sound=no --without-x
--without-ns'
Configured features:
NOTIFY ACL GNUTLS ZLIB THREADS
--- End Message ---