Package: emacs;
Reported by: Petr Hracek <phracek <at> redhat.com>
Date: Wed, 20 May 2015 07:59:01 UTC
Severity: important
Tags: patch
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 20614 in the body.
You can then email your comments to 20614 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 20 May 2015 07:59:02 GMT) Full text and rfc822 format available.Petr Hracek <phracek <at> redhat.com>
:bug-gnu-emacs <at> gnu.org
.
(Wed, 20 May 2015 07:59:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: bug-gnu-emacs <at> gnu.org Subject: Segmentation fault when building on Power8 Little Endian Date: Wed, 20 May 2015 09:56:44 +0200
[Message part 1 (text/plain, inline)]
Hi folks, today I have tried to reproduce a segmentation fault which occurs on Power8 architecture PPC64LE. Build log from build is in the attachment: If you need anything for analysis please let me know. Relevant RedHat bugzilla is: https://bugzilla.redhat.com/show_bug.cgi?id=1223033 -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[build.log (text/x-log, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 20 May 2015 14:47:02 GMT) Full text and rfc822 format available.Message #8 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 20 May 2015 17:45:46 +0300
> Date: Wed, 20 May 2015 09:56:44 +0200 > From: Petr Hracek <phracek <at> redhat.com> > > today I have tried to reproduce a segmentation fault which occurs on > Power8 architecture PPC64LE. Doesn't sound like segfault to me: > Dumping under the name emacs > emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/build-gtk/src/temacs ^^^^^^^^^^^^^^^^^^^^^^^^^^
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 20 May 2015 16:13:01 GMT) Full text and rfc822 format available.Message #11 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Glenn Morris <rgm <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 20 May 2015 12:12:36 -0400
Petr Hracek wrote: > Relevant RedHat bugzilla is: > https://bugzilla.redhat.com/show_bug.cgi?id=1223033 "You are not authorized to access bug #1223033. To see this bug, you must first log in to an account with the appropriate permissions."
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 21 May 2015 12:56:03 GMT) Full text and rfc822 format available.Message #14 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Glenn Morris <rgm <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 21 May 2015 14:55:47 +0200
[Message part 1 (text/plain, inline)]
Here is the content from bugzilla: Description of problem: When built with a binutils that activties RELRO by default, emacs now fails to build on ppc64le. Since RELRO is mandatory, emacs must be updated. Version-Release number of selected component (if applicable): Happens with binutils-2.23.52.0.1-35 and newer Excerpt: Loading /builddir/build/BUILD/emacs-24.3/lisp/vc/ediff-hook.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/tooltip.el (source)... Finding pointers to doc strings... Finding pointers to doc strings...done Dumping under the name emacs emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/build-gtk/src/temacs make[2]: *** [bootstrap-emacs] Error 1 make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' Expected results: Successful build. Additional info: Turning off dump/unexec works around the issue and allows the build to succeed. On 05/20/2015 06:12 PM, Glenn Morris wrote: > Petr Hracek wrote: > >> Relevant RedHat bugzilla is: >> https://bugzilla.redhat.com/show_bug.cgi?id=1223033 > "You are not authorized to access bug #1223033. > To see this bug, you must first log in to an account with the > appropriate permissions." -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
Glenn Morris <rgm <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Fri, 22 May 2015 15:50:03 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 13 Jul 2015 11:36:01 GMT) Full text and rfc822 format available.Message #19 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: bug-gnu-emacs <at> gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 13 Jul 2015 13:27:06 +0200
[Message part 1 (text/plain, inline)]
Any update where could be a problem? Does emacs-24.3 support ppc64le? automake-1.11 is used during compilation. + ./autogen.sh Checking whether you have the necessary tools... (Read INSTALL.BZR for more details on building Emacs) Checking for autoconf (need at least version 2.65)... ok Checking for automake (need at least version 1.11)... ok Your system has the required tools, running autoreconf... You can now run `./configure'. On 05/21/2015 02:55 PM, Petr Hracek wrote: > Here is the content from bugzilla: > > Description of problem: > > When built with a binutils that activties RELRO by default, emacs now fails to build on ppc64le. Since RELRO is mandatory, emacs must be updated. > > Version-Release number of selected component (if applicable): > > Happens with binutils-2.23.52.0.1-35 and newer > > > Excerpt: > Loading /builddir/build/BUILD/emacs-24.3/lisp/vc/ediff-hook.el (source)... > Loading /builddir/build/BUILD/emacs-24.3/lisp/tooltip.el (source)... > Finding pointers to doc strings... > Finding pointers to doc strings...done > Dumping under the name emacs > emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/build-gtk/src/temacs > make[2]: *** [bootstrap-emacs] Error 1 > make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' > > Expected results: > > Successful build. > > Additional info: > > Turning off dump/unexec works around the issue and allows the build to succeed. > > On 05/20/2015 06:12 PM, Glenn Morris wrote: >> Petr Hracek wrote: >> >>> Relevant RedHat bugzilla is: >>> https://bugzilla.redhat.com/show_bug.cgi?id=1223033 >> "You are not authorized to access bug #1223033. >> To see this bug, you must first log in to an account with the >> appropriate permissions." > > > -- > Petr Hracek > Software Engineer > Developer Experience > Red Hat, Inc > Mob: +420777056169 > email:phracek <at> redhat.com -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 13 Jul 2015 13:17:02 GMT) Full text and rfc822 format available.Message #22 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Schwab <schwab <at> suse.de> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 13 Jul 2015 15:16:09 +0200
Petr Hracek <phracek <at> redhat.com> writes: > Does emacs-24.3 support ppc64le? https://build.opensuse.org/package/binaries/openSUSE:13.2/emacs?repository=ports http://download.opensuse.org/ports/ppc/distribution/13.2/repo/oss/suse/ppc64le/emacs-x11-24.3-17.2.2.ppc64le.rpm Andreas. -- Andreas Schwab, SUSE Labs, schwab <at> suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 13 Jul 2015 16:03:01 GMT) Full text and rfc822 format available.Message #25 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Glenn Morris <rgm <at> gnu.org> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian (ppc64le) Date: Mon, 13 Jul 2015 14:17:01 +0200
[Message part 1 (text/plain, inline)]
On 05/20/2015 06:12 PM, Glenn Morris wrote: > Petr Hracek wrote: > >> Relevant RedHat bugzilla is: >> https://bugzilla.redhat.com/show_bug.cgi?id=1223033 > "You are not authorized to access bug #1223033. > To see this bug, you must first log in to an account with the > appropriate permissions." A full build log is here: Mock Version: 1.1.39 Mock Version: 1.1.39 ENTER do(['bash', '--login', '-c', 'rpmbuild -bs --target ppc64le --nodeps builddir/build/SPECS/emacs.spec'], False, '/var/lib/mock/rhel-7.2-build-2648028-1249193/root/', None, 86400, True, False, 996, 135, None, False, {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'echo -n "<mock-chroot>"', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'}, logger=<mockbuild.trace_decorator.getLog object at 0x10015b33c10>) Executing command: ['bash', '--login', '-c', 'rpmbuild -bs --target ppc64le --nodeps builddir/build/SPECS/emacs.spec'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'echo -n "<mock-chroot>"', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} Building target platforms: ppc64le Building for target ppc64le Wrote: /builddir/build/SRPMS/emacs-24.3-14.el7.src.rpm Child return code was: 0 LEAVE do --> ENTER do(['bash', '--login', '-c', 'rpmbuild -bb --target ppc64le --nodeps builddir/build/SPECS/emacs.spec'], False, '/var/lib/mock/rhel-7.2-build-2648028-1249193/root/', None, 86400, True, False, 996, 135, None, False, {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'echo -n "<mock-chroot>"', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'}, logger=<mockbuild.trace_decorator.getLog object at 0x10015b33c10>) Executing command: ['bash', '--login', '-c', 'rpmbuild -bb --target ppc64le --nodeps builddir/build/SPECS/emacs.spec'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'echo -n "<mock-chroot>"', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'} Building target platforms: ppc64le Building for target ppc64le Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.3F6nsO + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf emacs-24.3 + /usr/bin/xz -dc /builddir/build/SOURCES/emacs-24.3.tar.xz + /usr/bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd emacs-24.3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch #7 (emacs-spellchecker.patch):' Patch #7 (emacs-spellchecker.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-spellchecker.patch + /usr/bin/patch -p1 -b --suffix .spellchecker --fuzz=0 patching file lisp/textmodes/ispell.el + echo 'Patch #10 (emacs-style-change-cb.patch):' Patch #10 (emacs-style-change-cb.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-style-change-cb.patch + /usr/bin/patch -p1 -b --suffix .style-change-cb.patch --fuzz=0 patching file src/gtkutil.c + echo 'Patch #11 (emacs-bell-dont-work.patch):' Patch #11 (emacs-bell-dont-work.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-bell-dont-work.patch + /usr/bin/patch -p1 -b --suffix .bell-dont-work.patch --fuzz=0 patching file configure.ac patching file src/xterm.c + echo 'Patch #12 (emacs-gtk-warning.patch):' Patch #12 (emacs-gtk-warning.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-gtk-warning.patch + /usr/bin/patch -p1 -b --suffix .gtk-warning.patch --fuzz=0 patching file src/gtkutil.c Hunk #1 succeeded at 813 (offset 29 lines). Hunk #2 succeeded at 836 (offset 29 lines). Hunk #3 succeeded at 849 (offset 29 lines). + echo 'Patch #13 (emacs-help-update.patch):' Patch #13 (emacs-help-update.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-help-update.patch + /usr/bin/patch -p1 -b --suffix .help-update.patch --fuzz=0 patching file doc/man/emacs.1 + echo 'Patch #14 (emacs-remove-memory-warning.patch):' Patch #14 (emacs-remove-memory-warning.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-remove-memory-warning.patch + /usr/bin/patch -p1 -b --suffix .remove-warning.patch --fuzz=0 patching file src/vm-limit.c + echo 'Patch #15 (emacs-24.3-configure.patch):' Patch #15 (emacs-24.3-configure.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-24.3-configure.patch + /usr/bin/patch -p1 -b --suffix .configure --fuzz=0 patching file configure.ac + echo 'Patch #100 (emacs-24.3-hunspell.patch):' Patch #100 (emacs-24.3-hunspell.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-24.3-hunspell.patch + /usr/bin/patch -p1 -b --suffix .hunspell --fuzz=0 patching file lisp/textmodes/ispell.el + echo 'Patch #101 (emacs-24.3-hunspell.2.patch):' Patch #101 (emacs-24.3-hunspell.2.patch): + /usr/bin/cat /builddir/build/SOURCES/emacs-24.3-hunspell.2.patch + /usr/bin/patch -p1 -b --suffix .hunspell.2 --fuzz=0 patching file lisp/textmodes/ispell.el + ./autogen.sh Checking whether you have the necessary tools... (Read INSTALL.BZR for more details on building Emacs) Checking for autoconf (need at least version 2.65)... ok Checking for automake (need at least version 1.13)... ok Your system has the required tools, running autoreconf... You can now run `./configure'. + cp /builddir/build/SOURCES/emacs.desktop etc/emacs.desktop + grep -v tetris.elc lisp/Makefile.in + mv lisp/Makefile.in.new lisp/Makefile.in + rm -f lisp/play/tetris.el lisp/play/tetris.elc + rm -f etc/sex.6 etc/condom.1 etc/celibacy.1 etc/COOKIES etc/future-bug etc/JOKES + cd info ++ sed 's/\.info//g' ++ sort +++ ls ada-mode.info auth.info autotype.info bovine.info calc.info ccmode.info cl.info dbus.info dired-x.info ebrowse.info ede.info ediff.info edt.info efaq.info eieio.info eintr.info elisp.info emacs-gnutls.info emacs-mime.info emacs.info epa.info erc.info ert.info eshell.info eudc.info flymake.info forms.info gnus.info htmlfontify.info idlwave.info info.info mairix-el.info message.info mh-e.info newsticker.info nxml-mode.info org.info pcl-cvs.info pgg.info rcirc.info reftex.info remember.info sasl.info sc.info semantic.info ses.info sieve.info smtpmail.info speedbar.info srecode.info tramp.info url.info vip.info viper.info widget.info wisent.info woman.info ++ tr -d '\n' ++ echo ada-mode.info auth.info autotype.info bovine.info calc.info ccmode.info cl.info dbus.info dired-x.info ebrowse.info ede.info ediff.info edt.info efaq.info eieio.info eintr.info elisp.info emacs-gnutls.info emacs-mime.info emacs.info epa.info erc.info ert.info eshell.info eudc.info flymake.info forms.info gnus.info htmlfontify.info idlwave.info info.info mairix-el.info message.info mh-e.info newsticker.info nxml-mode.info org.info pcl-cvs.info pgg.info rcirc.info reftex.info remember.info sasl.info sc.info semantic.info ses.info sieve.info smtpmail.info speedbar.info srecode.info tramp.info url.info vip.info viper.info widget.info wisent.info woman.info + files='ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc flymake forms gnus htmlfontify idlwave info mairix-el message mh-e newsticker nxml-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode tramp url vip viper widget wisent woman' + test 'ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc flymake forms gnus htmlfontify idlwave info mairix-el message mh-e newsticker nxml-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode tramp url vip viper widget wisent woman' '!=' 'ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc flymake forms gnus htmlfontify idlwave info mairix-el message mh-e newsticker nxml-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode tramp url vip viper widget wisent woman' + cd .. + ln -s ../../emacs/24.3/etc/COPYING doc + ln -s ../../emacs/24.3/etc/NEWS doc + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.ip3wVK + umask 022 + cd /builddir/build/BUILD + cd emacs-24.3 + rm lisp/textmodes/ispell.el.hunspell + rm lisp/textmodes/ispell.el.hunspell.2 + rm lisp/textmodes/ispell.el.spellchecker + export 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' + CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' + mkdir build-gtk + cd build-gtk + ln -s ../configure . + LDFLAGS=-Wl,-z,relro + export LDFLAGS + CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' + export CFLAGS + CXXFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' + export CXXFLAGS + FFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -I/usr/lib64/gfortran/modules' + export FCFLAGS + LDFLAGS=-Wl,-z,relro + export LDFLAGS + '[' 1 == 1 ']' + '[' ppc64le == ppc64le ']' + /usr/lib/rpm/redhat/libtool-handle-ppc64le.sh ++ find . -name config.guess -o -name config.sub + ./configure --build=ppc64le-redhat-linux-gnu --host=ppc64le-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes /builddir/build/BUILD/emacs-24.3/build-aux/missing: Unknown `--is-lightweight' option Try `/builddir/build/BUILD/emacs-24.3/build-aux/missing --help' for more information configure: WARNING: 'missing' script is too old or missing checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking build system type... powerpc64le-redhat-linux-gnu checking host system type... powerpc64le-redhat-linux-gnu checking for ppc64le-redhat-linux-gnu-gcc... no checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... none checking whether gcc and cc understand -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for Minix Amsterdam compiler... no checking for ppc64le-redhat-linux-gnu-ar... no checking for ar... ar checking for ppc64le-redhat-linux-gnu-ranlib... no checking for ranlib... ranlib checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for gcc option to accept ISO C99... -std=gnu99 checking for gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99 checking whether ln -s works... yes checking for install-info... /usr/sbin/install-info checking for gzip... /usr/bin/gzip checking for paxctl... no checking for makeinfo... /usr/bin/makeinfo checking for -znocombreloc... yes checking for pkg-config... /usr/bin/pkg-config checking machine/soundcard.h usability... no checking machine/soundcard.h presence... no checking for machine/soundcard.h... no checking sys/soundcard.h usability... yes checking sys/soundcard.h presence... yes checking for sys/soundcard.h... yes checking soundcard.h usability... no checking soundcard.h presence... no checking for soundcard.h... no checking for _oss_ioctl in -lossaudio... no checking for alsa >= 1.0.0... yes CFLAGS='-I/usr/include/alsa ' LIBS='-lasound ' checking for linux/version.h... yes checking for sys/systeminfo.h... no checking for stdio_ext.h... yes checking for fcntl.h... yes checking for coff.h... no checking for pty.h... yes checking for sys/vlimit.h... yes checking for sys/resource.h... yes checking for sys/utsname.h... yes checking for pwd.h... yes checking for utmp.h... yes checking for dirent.h... yes checking for util.h... no checking for sys/socket.h... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/param.h... yes checking for pthread.h... yes checking for malloc/malloc.h... no checking for maillock.h... yes checking for sys/un.h... yes checking for execinfo.h... yes checking for getopt.h... yes checking for sys/time.h... yes checking for wchar.h... yes checking for stdint.h... (cached) yes checking for inttypes.h... (cached) yes checking for sys/select.h... yes checking for sys/stat.h... (cached) yes checking for utime.h... yes checking if personality LINUX32 can be set... yes checking for term.h... yes checking whether time.h and sys/time.h may both be included... yes checking whether sys_siglist is declared... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for speed_t... yes checking for net/if.h... yes checking for ifaddrs.h... yes checking for net/if_dl.h... no checking for struct ifreq.ifr_flags... yes checking for struct ifreq.ifr_hwaddr... yes checking for struct ifreq.ifr_netmask... yes checking for struct ifreq.ifr_broadaddr... yes checking for struct ifreq.ifr_addr... yes checking for struct ifreq.ifr_addr.sa_len... no checking whether we are using GNU Make... yes checking whether gcc understands -MMD -MF... yes checking for long file names... yes checking for X... libraries , headers checking whether malloc is Doug Lea style... yes checking for getpagesize... yes checking for working mmap... yes checking for dnet_ntoa in -ldnet... no checking for main in -lXbsd... no checking for pthread_self in -lpthread... yes checking for cma_open in -lpthreads... no checking whether X on GNU/Linux needs -b to link... no checking for Xkb... yes checking for XrmSetDatabase... yes checking for XScreenResourceString... yes checking for XScreenNumberOfScreen... yes checking X11 version 6... 6 or newer checking for librsvg-2.0 >= 2.11.0... yes CFLAGS='-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/libpng15 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm ' LIBS='-lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lglib-2.0 ' checking for Wand >= 6.2.8... yes CFLAGS='-fopenmp -I/usr/include/ImageMagick ' LIBS='-lMagickWand -lMagickCore ' checking for MagickExportImagePixels... yes checking for MagickMergeImageLayers... yes checking for gtk+-3.0 >= 3.0 glib-2.0 >= 2.28... yes CFLAGS='-pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng15 -I/usr/include/libdrm ' LIBS='-lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 ' checking for gtk_main... yes configure: WARNING: Your version of Gtk+ will have problems with closing open displays. This is no problem if you just use one display, but if you use more than one and close one of them Emacs may crash. checking whether GTK_TYPE_FILE_SELECTION is declared... no checking for gtk_widget_get_window... yes checking for gtk_widget_set_has_window... yes checking for gtk_dialog_get_action_area... yes checking for gtk_widget_get_sensitive... yes checking for gtk_widget_get_mapped... yes checking for gtk_adjustment_get_page_size... yes checking for gtk_orientable_set_orientation... yes checking for gtk_window_set_has_resize_grip... yes checking for dbus-1 >= 1.0... yes CFLAGS='-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include ' LIBS='-L/lib64 -ldbus-1 ' checking for dbus_watch_get_unix_fd... yes checking for dbus_type_is_valid... yes checking for dbus_validate_bus_name... yes checking for dbus_validate_path... yes checking for dbus_validate_interface... yes checking for dbus_validate_member... yes checking for gio-2.0 >= 2.26... yes CFLAGS='-pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include ' LIBS='-lgio-2.0 -lgobject-2.0 -lglib-2.0 ' checking for gconf-2.0 >= 2.13... yes CFLAGS='-pthread -I/usr/include/gconf/2 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include ' LIBS='-lgconf-2 -lglib-2.0 ' checking for gobject-2.0 >= 2.0... yes CFLAGS='-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include ' LIBS='-lgobject-2.0 -lglib-2.0 ' checking for g_type_init... yes checking for lgetfilecon in -lselinux... yes checking for gnutls >= 2.6.6... yes CFLAGS='-I/usr/include/p11-kit-1 ' LIBS='-lgnutls ' checking for gnutls_certificate_set_verify_function... yes checking for fontconfig >= 2.2.0... yes CFLAGS='-I/usr/include/freetype2 ' LIBS='-lfontconfig -lfreetype ' checking for xft >= 0.13.0... yes CFLAGS='-I/usr/include/freetype2 ' LIBS='-lXft ' checking for XRenderQueryExtension in -lXrender... yes checking X11/Xft/Xft.h usability... yes checking X11/Xft/Xft.h presence... yes checking for X11/Xft/Xft.h... yes checking for XftFontOpen in -lXft... yes checking for freetype2... yes CFLAGS='-I/usr/include/freetype2 ' LIBS='-lfreetype ' checking for libotf... yes CFLAGS='-I/usr/include/freetype2 ' LIBS='-lotf -lfreetype ' checking for OTF_get_variation_glyphs in -lotf... yes checking for m17n-flt... yes CFLAGS=' ' LIBS='-lm17n-flt -lm17n-core ' checking X11/xpm.h usability... yes checking X11/xpm.h presence... yes checking for X11/xpm.h... yes checking for XpmReadFileToPixmap in -lXpm... yes checking for XpmReturnAllocPixels preprocessor define... yes checking jerror.h usability... yes checking jerror.h presence... yes checking for jerror.h... yes checking for jpeg_destroy_compress in -ljpeg... yes checking png.h usability... yes checking png.h presence... yes checking for png.h... yes checking for png_get_channels in -lpng... yes checking whether png_longjmp is declared... yes checking tiffio.h usability... yes checking tiffio.h presence... yes checking for tiffio.h... yes checking for TIFFGetVersion in -ltiff... yes checking gif_lib.h usability... yes checking gif_lib.h presence... yes checking for gif_lib.h... yes checking for EGifPutExtensionLast in -lgif... yes checking X11/SM/SMlib.h usability... yes checking X11/SM/SMlib.h presence... yes checking for X11/SM/SMlib.h... yes checking for SmcOpenConnection in -lSM... yes checking for libxml-2.0 > 2.6.17... yes CFLAGS='-I/usr/include/libxml2 ' LIBS='-lxml2 ' checking for htmlReadMemory in -lxml2... yes checking whether netdb declares h_errno... yes checking for sqrt in -lm... yes checking for maillock in -lmail... no checking for maillock in -llockfile... yes checking for gethostname... yes checking for closedir... yes checking for getrusage... yes checking for get_current_dir_name... yes checking for lrand48... yes checking for setsid... yes checking for fpathconf... yes checking for select... yes checking for euidaccess... yes checking for getpagesize... (cached) yes checking for setlocale... yes checking for utimes... yes checking for getrlimit... yes checking for setrlimit... yes checking for setpgid... yes checking for getcwd... yes checking for shutdown... yes checking for getaddrinfo... yes checking for __fpending... yes checking for strsignal... yes checking for setitimer... yes checking for sendto... yes checking for recvfrom... yes checking for getsockname... yes checking for getpeername... yes checking for getifaddrs... yes checking for freeifaddrs... yes checking for gai_strerror... yes checking for mkstemp... yes checking for getline... yes checking for getdelim... yes checking for fsync... yes checking for sync... yes checking for difftime... yes checking for posix_memalign... yes checking for getpwent... yes checking for endpwent... yes checking for getgrent... yes checking for endgrent... yes checking for touchlock... yes checking for cfmakeraw... yes checking for cfsetspeed... yes checking for copysign... yes checking for __executable_start... yes checking for getwd... yes checking for random... yes checking for rint... yes checking for __builtin_unwind_init... yes checking for _LARGEFILE_SOURCE value needed for large files... no checking whether getpgrp requires zero arguments... yes checking for grantpt... yes checking for getpt... yes checking for posix_openpt... yes checking for library containing tputs... -ltinfo checking for tzset... yes checking for readlinkat... yes checking for gettimeofday... yes checking for nanotime... no checking for lstat... yes checking for alarm... yes checking for pselect... yes checking for pthread_sigmask... yes checking for readlink... yes checking for strtoimax... yes checking for strtoumax... yes checking for symlink... yes checking for localtime_r... yes checking for futimes... yes checking for futimesat... yes checking for futimens... yes checking for utimensat... yes checking for lutimes... yes checking whether localtime caches TZ... no checking for socket... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking whether system supports dynamic ptys... yes checking for pid_t... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking for snprintf... yes checking for nl_langinfo and CODESET... yes checking for mbstate_t... yes checking for C restricted array declarations... yes checking for signals via characters... yes checking whether we are using the GNU C library... yes checking for style of pending output formalism... new checking for _setjmp... yes checking for usable FIONREAD... yes checking for usable SIGIO... yes checking for working alloca.h... yes checking for alloca... yes checking whether byte ordering is bigendian... no checking for inline... inline checking whether strtold conforms to C99... yes checking if environ is properly declared... yes checking for st_dm_mode in struct stat... no checking whether strmode is declared... no checking whether the preprocessor supports include_next... yes checking whether system header files limit the line length... no checking for getopt.h... (cached) yes checking for getopt_long_only... yes checking whether getopt is POSIX compatible... yes checking for working GNU getopt function... yes checking for working GNU getopt_long function... yes checking whether getenv is declared... yes checking for C/C++ restrict keyword... __restrict checking for struct timeval... yes checking for wide-enough struct timeval.tv_sec member... yes checking for unsigned long long int... yes checking for long long int... yes checking whether stdint.h conforms to C99... yes checking whether lstat correctly handles trailing slash... yes checking whether <sys/select.h> is self-contained... yes checking for sigset_t... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for wchar_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for struct tm.tm_zone... yes checking for struct tm.tm_gmtoff... yes checking whether strtoimax is declared... yes checking whether strtoumax is declared... yes checking whether stat file-mode macros are broken... no checking for mode_t... yes checking for struct timespec in <time.h>... yes checking whether the utimes function works... yes checking for struct utimbuf... yes checking for alloca as a compiler built-in... yes checking for library containing clock_gettime... none required checking for clock_gettime... yes checking for clock_settime... yes checking whether dup2 works... yes checking for library containing backtrace_symbols_fd... none required checking for getloadavg... yes checking sys/loadavg.h usability... no checking sys/loadavg.h presence... no checking for sys/loadavg.h... no checking whether getloadavg is declared... yes checking whether gettimeofday clobbers localtime buffer... no checking for gettimeofday with POSIX signature... almost checking for working mktime... yes checking whether signature of pselect conforms to POSIX... yes checking whether pselect detects invalid fds... yes checking whether pthread_sigmask works without -lpthread... yes checking whether pthread_sigmask returns error numbers... yes checking whether pthread_sigmask unblocks signals correctly... guessing yes checking whether readlink signature is correct... yes checking whether readlink handles trailing slash correctly... yes checking for volatile sig_atomic_t... yes checking for sighandler_t... yes checking for socklen_t... yes checking for ssize_t... yes checking for struct stat.st_atim.tv_nsec... yes checking whether struct stat.st_atim is of type struct timespec... yes checking for struct stat.st_birthtimespec.tv_nsec... no checking for struct stat.st_birthtimensec... no checking for struct stat.st_birthtim.tv_nsec... no checking for working stdalign.h... yes checking for va_copy... yes checking whether NULL can be used in arbitrary expressions... yes checking whether strtoimax works... yes checking whether symlink handles trailing slash correctly... yes checking whether <sys/select.h> is self-contained... (cached) yes checking for nlink_t... yes checking whether localtime_r is declared... yes checking whether localtime_r is compatible with its POSIX signature... yes checking for library containing timer_settime... -lrt checking for timer_settime... yes Configured for `powerpc64le-redhat-linux-gnu'. Where should the build process find the source code? /builddir/build/BUILD/emacs-24.3 What compiler should emacs be built with? gcc -std=gnu99 -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 Should Emacs use the GNU version of malloc? yes (Using Doug Lea's new malloc from the GNU C Library.) Should Emacs use a relocating allocator for buffers? no Should Emacs use mmap(2) for buffer allocation? no What window system should Emacs use? x11 What toolkit should Emacs use? GTK3 Where do we find X Windows header files? Standard dirs Where do we find X Windows libraries? Standard dirs Does Emacs use -lXaw3d? no Does Emacs use -lXpm? yes Does Emacs use -ljpeg? yes Does Emacs use -ltiff? yes Does Emacs use a gif library? yes -lgif Does Emacs use -lpng? yes Does Emacs use -lrsvg-2? yes Does Emacs use imagemagick? yes Does Emacs use -lgpm? no Does Emacs use -ldbus? yes Does Emacs use -lgconf? yes Does Emacs use GSettings? yes Does Emacs use -lselinux? yes Does Emacs use -lgnutls? yes Does Emacs use -lxml2? yes Does Emacs use -lfreetype? yes Does Emacs use -lm17n-flt? yes Does Emacs use -lotf? yes Does Emacs use -lxft? yes Does Emacs use toolkit scroll bars? yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating lib/Makefile config.status: creating lib-src/Makefile config.status: creating oldXMenu/Makefile config.status: creating doc/emacs/Makefile config.status: creating doc/misc/Makefile config.status: creating doc/lispintro/Makefile config.status: creating doc/lispref/Makefile config.status: creating src/Makefile config.status: creating lwlib/Makefile config.status: creating lisp/Makefile config.status: creating leim/Makefile config.status: creating nextstep/Makefile config.status: creating admin/unidata/Makefile config.status: creating src/config.h config.status: executing depfiles commands config.status: executing mkdirs commands config.status: executing epaths commands creating src/epaths.h config.status: executing gdbinit commands creating src/.gdbinit + make bootstrap [ -r "/builddir/build/BUILD/emacs-24.3/src/config.in" ] || ( cd /builddir/build/BUILD/emacs-24.3 && autoheader ) (cd src; make bootstrap-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' rm -f temacs core *.core \#* *.o libXMenu11.a liblw.a rm -f ../etc/DOC rm -f bootstrap-emacs emacs-24.3 rm -f buildobj.h rm -f globals.h gl-stamp rm -f emacs-*.*.* emacs rm -rf deps rm -f epaths.h config.h config.stamp stamp-oldxmenu ../etc/DOC-* if test -f ./.gdbinit; then \ mv ./.gdbinit ./.gdbinit.save; \ if test -f "/builddir/build/BUILD/emacs-24.3/src/.gdbinit"; then rm -f ./.gdbinit.save; \ else mv ./.gdbinit.save ./.gdbinit; fi; \ fi make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' (cd oldXMenu; make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/oldXMenu' rm -f libXMenu11.a Activate.o AddPane.o AddSel.o ChgPane.o ChgSel.o Create.o DelPane.o DelSel.o Destroy.o Error.o EvHand.o FindPane.o FindSel.o InsPane.o InsSel.o Internal.o Locate.o Post.o Recomp.o SetAEQ.o SetFrz.o SetPane.o SetSel.o XDelAssoc.o XLookAssoc.o XCrAssoc.o XDestAssoc.o XMakeAssoc.o insque.o rm -f Makefile make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/oldXMenu' (cd lwlib; make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lwlib' rm -f *.o liblw.a \#* rm -f Makefile rm -f TAGS make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lwlib' (cd lib; make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib' test -z "libgnu.a" || rm -f libgnu.a rm -f *.o test -z "core *.stackdump alloca.h alloca.h-t execinfo.h execinfo.h-t getopt.h getopt.h-t inttypes.h inttypes.h-t signal.h signal.h-t arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t warn-on-use.h warn-on-use.h-t stdalign.h stdalign.h-t stdarg.h stdarg.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t sys/select.h sys/select.h-t sys/stat.h sys/stat.h-t sys/time.h sys/time.h-t time.h time.h-t unistd.h unistd.h-t" || rm -f core *.stackdump alloca.h alloca.h-t execinfo.h execinfo.h-t getopt.h getopt.h-t inttypes.h inttypes.h-t signal.h signal.h-t arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t warn-on-use.h warn-on-use.h-t stdalign.h stdalign.h-t stdarg.h stdarg.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t sys/select.h sys/select.h-t sys/stat.h sys/stat.h-t sys/time.h sys/time.h-t time.h time.h-t unistd.h unistd.h-t rm -f *.tab.c test -z "" || rm -f test . = "/builddir/build/BUILD/emacs-24.3/lib" || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags This command is intended for maintainers to use it deletes files that may require special tools to rebuild. test -z "alloca.h inttypes.h signal.h arg-nonnull.h c++defs.h warn-on-use.h stdio.h stdlib.h sys/select.h sys/stat.h sys/time.h time.h unistd.h" || rm -f alloca.h inttypes.h signal.h arg-nonnull.h c++defs.h warn-on-use.h stdio.h stdlib.h sys/select.h sys/stat.h sys/time.h time.h unistd.h rm -rf ./.deps rm -f Makefile make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib' (cd lib-src; make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib-src' rm -f core *.o rm -f etags ctags emacsclient ebrowse profile movemail hexl update-game-score test-distrib make-docfile rm -f TAGS rm -f Makefile blessmail true make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib-src' (cd doc/emacs && make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/emacs' rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \ *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs rm -f emacs.dvi emacs-xtra.dvi emacs.pdf emacs-xtra.pdf \ emacs.ps emacs-xtra.ps rm -rf emacs.html/ rm -f emacs-manual-24.3.tar* cd /builddir/build/BUILD/emacs-24.3/doc/emacs/../../info && rm -f emacs.info emacs.info-[1-9] emacs.info-[1-9][0-9] make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/emacs' (cd doc/misc && make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/misc' rm -f *.aux *.log *.toc *.c[mp] *.c[mp]s *.fn *.fns \ *.ky *.kys *.op *.ops *.p[gj] *.p[gj]s *.sc *.scs *.ss \ *.t[gp] *.t[gp]s *.vr *.vrs rm -f gnustmp.* rm -f ada-mode.dvi auth.dvi autotype.dvi bovine.dvi calc.dvi cc-mode.dvi cl.dvi dbus.dvi dired-x.dvi ebrowse.dvi ede.dvi ediff.dvi edt.dvi eieio.dvi emacs-mime.dvi epa.dvi erc.dvi ert.dvi eshell.dvi eudc.dvi faq.dvi flymake.dvi forms.dvi gnus.dvi emacs-gnutls.dvi htmlfontify.dvi idlwave.dvi info.dvi mairix-el.dvi message.dvi mh-e.dvi newsticker.dvi nxml-mode.dvi org.dvi pcl-cvs.dvi pgg.dvi rcirc.dvi reftex.dvi remember.dvi sasl.dvi sc.dvi semantic.dvi ses.dvi sieve.dvi smtpmail.dvi speedbar.dvi srecode.dvi tramp.dvi url.dvi vip.dvi viper.dvi widget.dvi wisent.dvi woman.dvi ada-mode.pdf auth.pdf autotype.pdf bovine.pdf calc.pdf cc-mode.pdf cl.pdf dbus.pdf dired-x.pdf ebrowse.pdf ede.pdf ediff.pdf edt.pdf eieio.pdf emacs-mime.pdf epa.pdf erc.pdf ert.pdf eshell.pdf eudc.pdf faq.pdf flymake.pdf forms.pdf gnus.pdf htmlfontify.pdf emacs-gnutls.pdf idlwave.pdf info.pdf mairix-el.pdf message.pdf mh-e.pdf newsticker.pdf nxml-mode.pdf org.pdf pcl-cvs.pdf pgg.pdf rcirc.pdf reftex.pdf remember.pdf sasl.pdf sc.pdf semantic.pdf ses.pdf sieve.pdf smtpmail.pdf speedbar.pdf srecode.pdf tramp.pdf url.pdf vip.pdf viper.pdf widget.pdf wisent.pdf woman.pdf emacs-faq.html emacs-faq.text cd /builddir/build/BUILD/emacs-24.3/doc/misc/../../info; for file in ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt eieio emacs-mime epa erc ert eshell eudc efaq flymake forms gnus emacs-gnutls htmlfontify idlwave info.info mairix-el message mh-e newsticker nxml-mode org pcl-cvs pgg rcirc remember reftex sasl sc semantic ses sieve smtpmail speedbar srecode tramp url vip viper widget wisent woman; do \ file=`echo ${file} | sed 's/\.info$//'`.info; \ rm -f ${file} ${file}-[1-9] ${file}-[1-9][0-9]; \ done make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/misc' (cd doc/lispref && make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/lispref' rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \ *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs rm -f elisp[12]* vol[12].tmp rm -f elisp.dvi elisp.pdf elisp.ps rm -f vol[12].dvi vol[12].pdf vol[12].ps rm -rf elisp.html rm -f emacs-lispref-24.3.tar* cd /builddir/build/BUILD/emacs-24.3/doc/lispref/../../info && rm -f elisp.info elisp.info-[1-9] elisp.info-[1-9][0-9] make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/lispref' (cd doc/lispintro && make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/lispintro' rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \ *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs rm -f emacs-lisp-intro.dvi emacs-lisp-intro.pdf emacs-lisp-intro.ps rm -rf emacs-lisp-intro.html/ rm -f emacs-lispintro-24.3.tar* cd /builddir/build/BUILD/emacs-24.3/doc/lispintro/../../info && rm -f eintr.info eintr.info-[1-9] make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/lispintro' (cd leim; make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/leim' rm -f quail/CCDOSPY.el quail/Punct.el quail/QJ.el quail/SW.el quail/TONEPY.el quail/4Corner.el quail/ARRAY30.el quail/ECDICT.el quail/ETZY.el quail/Punct-b5.el quail/PY-b5.el quail/QJ-b5.el quail/ZOZY.el quail/tsang-b5.el quail/quick-b5.el quail/tsang-cns.el quail/quick-cns.el quail/PY.el quail/ZIRANMA.el quail/CTLau.el quail/CTLau-b5.el quail/CCDOSPY.elc quail/Punct.elc quail/QJ.elc quail/SW.elc quail/TONEPY.elc quail/4Corner.elc quail/ARRAY30.elc quail/ECDICT.elc quail/ETZY.elc quail/Punct-b5.elc quail/PY-b5.elc quail/QJ-b5.elc quail/ZOZY.elc quail/tsang-b5.elc quail/quick-b5.elc quail/tsang-cns.elc quail/quick-cns.elc quail/PY.elc quail/ZIRANMA.elc quail/CTLau.elc quail/CTLau-b5.elc \ leim-list.el changed.tit changed.misc [ `cd /builddir/build/BUILD/emacs-24.3/leim && /bin/pwd` != `/bin/pwd` ] && rm -rf quail rm -f Makefile wins="/builddir/build/BUILD/emacs-24.3/leim/ja-dic quail"; [ `cd /builddir/build/BUILD/emacs-24.3/leim && /bin/pwd` != `/bin/pwd` ] && wins="$wins /builddir/build/BUILD/emacs-24.3/leim/quail"; for w in $wins; do rm -f $w/*.elc; done make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/leim' (cd lisp; make bootstrap-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' cd /builddir/build/BUILD/emacs-24.3/lisp; rm -f *.elc */*.elc */*/*.elc */*/*/*.elc loaddefs.el /builddir/build/BUILD/emacs-24.3/lisp/calendar/cal-loaddefs.el /builddir/build/BUILD/emacs-24.3/lisp/calendar/diary-loaddefs.el /builddir/build/BUILD/emacs-24.3/lisp/calendar/hol-loaddefs.el /builddir/build/BUILD/emacs-24.3/lisp/mh-e/mh-loaddefs.el /builddir/build/BUILD/emacs-24.3/lisp/net/tramp-loaddefs.el cus-load.el finder-inf.el subdirs.el calc/calc-loaddefs.el eshell/esh-groups.el cedet/semantic/loaddefs.el cedet/ede/loaddefs.el cedet/srecode/loaddefs.el make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' (cd nextstep && make maintainer-clean) make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/nextstep' rm -rf rm -f Makefile rm -f GNUstep/Emacs.base/Resources/Info-gnustep.plist \ GNUstep/Emacs.base/Resources/Emacs.desktop \ Cocoa/Emacs.base/Contents/Info.plist \ Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/nextstep' [ ! -f config.log ] || mv -f config.log config.log~ rm -f config.cache config.log cd /builddir/build/BUILD/emacs-24.3 && { ./autogen.sh || autogen/copy_autogen; } Checking whether you have the necessary tools... (Read INSTALL.BZR for more details on building Emacs) Checking for autoconf (need at least version 2.65)... ok Checking for automake (need at least version 1.13)... ok Your system has the required tools, running autoreconf... You can now run `./configure'. make MAKEFILE_NAME=force-Makefile force-Makefile make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk' [ -r "/builddir/build/BUILD/emacs-24.3/src/config.in" ] || ( cd /builddir/build/BUILD/emacs-24.3 && autoheader ) MAKE='make' ./config.status config.status: creating Makefile config.status: creating lib/Makefile config.status: creating lib-src/Makefile config.status: creating oldXMenu/Makefile config.status: creating doc/emacs/Makefile config.status: creating doc/misc/Makefile config.status: creating doc/lispintro/Makefile config.status: creating doc/lispref/Makefile config.status: creating src/Makefile config.status: creating lwlib/Makefile config.status: creating lisp/Makefile config.status: creating leim/Makefile config.status: creating nextstep/Makefile config.status: creating admin/unidata/Makefile config.status: creating src/config.h config.status: executing depfiles commands config.status: executing mkdirs commands config.status: executing epaths commands creating src/epaths.h make[2]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk' make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk' config.status: executing gdbinit commands creating src/.gdbinit make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk' make info all make[1]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk' [ -r "/builddir/build/BUILD/emacs-24.3/src/config.in" ] || ( cd /builddir/build/BUILD/emacs-24.3 && autoheader ) make[2]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk' [ -r "/builddir/build/BUILD/emacs-24.3/src/config.in" ] || ( cd /builddir/build/BUILD/emacs-24.3 && autoheader ) (cd doc/emacs; make -w info) make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/emacs' /usr/bin/makeinfo --force --enable-encoding -I /builddir/build/BUILD/emacs-24.3/doc/emacs --no-split -o /builddir/build/BUILD/emacs-24.3/doc/emacs/../../info/emacs.info /builddir/build/BUILD/emacs-24.3/doc/emacs/emacs.texi make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/emacs' (cd doc/misc; make -w info) make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/misc' /usr/bin/makeinfo --force -I/builddir/build/BUILD/emacs-24.3/doc/misc/../emacs --no-split -o /builddir/build/BUILD/emacs-24.3/doc/misc/../../info/ada-mode.info /builddir/build/BUILD/emacs-24.3/doc/misc/ada-mode.texi ... snip ... /usr/bin/makeinfo --force -I/builddir/build/BUILD/emacs-24.3/doc/misc/../emacs --no-split -o /builddir/build/BUILD/emacs-24.3/doc/misc/../../info/widget.info /builddir/build/BUILD/emacs-24.3/doc/misc/widget.texi /usr/bin/makeinfo --force -I/builddir/build/BUILD/emacs-24.3/doc/misc/../emacs --no-split -o /builddir/build/BUILD/emacs-24.3/doc/misc/../../info/wisent.info /builddir/build/BUILD/emacs-24.3/doc/misc/wisent.texi /usr/bin/makeinfo --force -I/builddir/build/BUILD/emacs-24.3/doc/misc/../emacs --no-split -o /builddir/build/BUILD/emacs-24.3/doc/misc/../../info/woman.info /builddir/build/BUILD/emacs-24.3/doc/misc/woman.texi make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/misc' (cd doc/lispref; make -w info) make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/lispref' /usr/bin/makeinfo --force --enable-encoding -I /builddir/build/BUILD/emacs-24.3/doc/lispref/../emacs -I /builddir/build/BUILD/emacs-24.3/doc/lispref --no-split -o /builddir/build/BUILD/emacs-24.3/doc/lispref/../../info/elisp.info /builddir/build/BUILD/emacs-24.3/doc/lispref/elisp.texi make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/lispref' (cd doc/lispintro; make -w info) make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/lispintro' /usr/bin/makeinfo --force -I /builddir/build/BUILD/emacs-24.3/doc/lispintro --no-split -o /builddir/build/BUILD/emacs-24.3/doc/lispintro/../../info/eintr.info /builddir/build/BUILD/emacs-24.3/doc/lispintro/emacs-lisp-intro.texi make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/doc/lispintro' make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk' cd lib && make all -w \ CC='gcc -std=gnu99' CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' CPPFLAGS='' \ LDFLAGS='-Wl,-z,relro -Wl,-znocombreloc ' MAKE='make' make[2]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib' rm -f alloca.h-t alloca.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat /builddir/build/BUILD/emacs-24.3/lib/alloca.in.h; \ } > alloca.h-t && \ mv -f alloca.h-t alloca.h rm -f c++defs.h-t c++defs.h && \ sed -n -e '/_GL_CXXDEFS/,$p' \ < /builddir/build/BUILD/emacs-24.3/build-aux/snippet/c++defs.h \ > c++defs.h-t && \ mv c++defs.h-t c++defs.h rm -f warn-on-use.h-t warn-on-use.h && \ sed -n -e '/^.ifndef/,$p' \ < /builddir/build/BUILD/emacs-24.3/build-aux/snippet/warn-on-use.h \ > warn-on-use.h-t && \ mv warn-on-use.h-t warn-on-use.h rm -f arg-nonnull.h-t arg-nonnull.h && \ sed -n -e '/GL_ARG_NONNULL/,$p' \ < /builddir/build/BUILD/emacs-24.3/build-aux/snippet/arg-nonnull.h \ > arg-nonnull.h-t && \ mv arg-nonnull.h-t arg-nonnull.h rm -f inttypes.h-t inttypes.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/1/g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_INTTYPES_H''@|<inttypes.h>|g' \ -e 's/@''PRI_MACROS_BROKEN''@/0/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/1/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/1/g' \ -e 's/@''PRIPTR_PREFIX''@/__PRIPTR_PREFIX/g' \ -e 's/@''GNULIB_IMAXABS''@/0/g' \ -e 's/@''GNULIB_IMAXDIV''@/0/g' \ -e 's/@''GNULIB_STRTOIMAX''@/1/g' \ -e 's/@''GNULIB_STRTOUMAX''@/1/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/1/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/1/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/1/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/1/g' \ -e 's/@''REPLACE_STRTOIMAX''@/0/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/1/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/defined _LP64/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/1/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/defined _LP64/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \ < /builddir/build/BUILD/emacs-24.3/lib/inttypes.in.h; \ } > inttypes.h-t && \ mv inttypes.h-t inttypes.h rm -f signal.h-t signal.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SIGNAL_H''@|<signal.h>|g' \ -e 's|@''GNULIB_PTHREAD_SIGMASK''@|1|g' \ -e 's|@''GNULIB_RAISE''@|0|g' \ -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/0/g' \ -e 's/@''GNULIB_SIGPROCMASK''@/0/g' \ -e 's/@''GNULIB_SIGACTION''@/0/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|1|g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|1|g' \ -e 's|@''HAVE_RAISE''@|1|g' \ -e 's|@''HAVE_SIGSET_T''@|1|g' \ -e 's|@''HAVE_SIGINFO_T''@|1|g' \ -e 's|@''HAVE_SIGACTION''@|1|g' \ -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|1|g' \ -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|1|g' \ -e 's|@''HAVE_SIGHANDLER_T''@|1|g' \ -e 's|@''REPLACE_PTHREAD_SIGMASK''@|1|g' \ -e 's|@''REPLACE_RAISE''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \ < /builddir/build/BUILD/emacs-24.3/lib/signal.in.h; \ } > signal.h-t && \ mv signal.h-t signal.h rm -f stdio.h-t stdio.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_STDIO_H''@|<stdio.h>|g' \ -e 's/@''GNULIB_DPRINTF''@/0/g' \ -e 's/@''GNULIB_FCLOSE''@/0/g' \ -e 's/@''GNULIB_FDOPEN''@/0/g' \ -e 's/@''GNULIB_FFLUSH''@/0/g' \ -e 's/@''GNULIB_FGETC''@/1/g' \ -e 's/@''GNULIB_FGETS''@/1/g' \ -e 's/@''GNULIB_FOPEN''@/0/g' \ -e 's/@''GNULIB_FPRINTF''@/1/g' \ -e 's/@''GNULIB_FPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_FPURGE''@/0/g' \ -e 's/@''GNULIB_FPUTC''@/1/g' \ -e 's/@''GNULIB_FPUTS''@/1/g' \ -e 's/@''GNULIB_FREAD''@/1/g' \ -e 's/@''GNULIB_FREOPEN''@/0/g' \ -e 's/@''GNULIB_FSCANF''@/1/g' \ -e 's/@''GNULIB_FSEEK''@/0/g' \ -e 's/@''GNULIB_FSEEKO''@/0/g' \ -e 's/@''GNULIB_FTELL''@/0/g' \ -e 's/@''GNULIB_FTELLO''@/0/g' \ -e 's/@''GNULIB_FWRITE''@/1/g' \ -e 's/@''GNULIB_GETC''@/1/g' \ -e 's/@''GNULIB_GETCHAR''@/1/g' \ -e 's/@''GNULIB_GETDELIM''@/0/g' \ -e 's/@''GNULIB_GETLINE''@/0/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/0/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_PCLOSE''@/0/g' \ -e 's/@''GNULIB_PERROR''@/0/g' \ -e 's/@''GNULIB_POPEN''@/0/g' \ -e 's/@''GNULIB_PRINTF''@/1/g' \ -e 's/@''GNULIB_PRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_PUTC''@/1/g' \ -e 's/@''GNULIB_PUTCHAR''@/1/g' \ -e 's/@''GNULIB_PUTS''@/1/g' \ -e 's/@''GNULIB_REMOVE''@/0/g' \ -e 's/@''GNULIB_RENAME''@/0/g' \ -e 's/@''GNULIB_RENAMEAT''@/0/g' \ -e 's/@''GNULIB_SCANF''@/1/g' \ -e 's/@''GNULIB_SNPRINTF''@/0/g' \ -e 's/@''GNULIB_SPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/0/g' \ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/0/g' \ -e 's/@''GNULIB_TMPFILE''@/0/g' \ -e 's/@''GNULIB_VASPRINTF''@/0/g' \ -e 's/@''GNULIB_VDPRINTF''@/0/g' \ -e 's/@''GNULIB_VFPRINTF''@/1/g' \ -e 's/@''GNULIB_VFPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_VFSCANF''@/0/g' \ -e 's/@''GNULIB_VSCANF''@/0/g' \ -e 's/@''GNULIB_VPRINTF''@/1/g' \ -e 's/@''GNULIB_VPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_VSNPRINTF''@/0/g' \ -e 's/@''GNULIB_VSPRINTF_POSIX''@/0/g' \ < /builddir/build/BUILD/emacs-24.3/lib/stdio.in.h | \ sed -e 's|@''HAVE_DECL_FPURGE''@|1|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|1|g' \ -e 's|@''HAVE_DECL_FTELLO''@|1|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|1|g' \ -e 's|@''HAVE_DECL_GETLINE''@|1|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|1|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|1|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|1|g' \ -e 's|@''HAVE_DPRINTF''@|1|g' \ -e 's|@''HAVE_FSEEKO''@|1|g' \ -e 's|@''HAVE_FTELLO''@|1|g' \ -e 's|@''HAVE_PCLOSE''@|1|g' \ -e 's|@''HAVE_POPEN''@|1|g' \ -e 's|@''HAVE_RENAMEAT''@|1|g' \ -e 's|@''HAVE_VASPRINTF''@|1|g' \ -e 's|@''HAVE_VDPRINTF''@|1|g' \ -e 's|@''REPLACE_DPRINTF''@|0|g' \ -e 's|@''REPLACE_FCLOSE''@|0|g' \ -e 's|@''REPLACE_FDOPEN''@|0|g' \ -e 's|@''REPLACE_FFLUSH''@|0|g' \ -e 's|@''REPLACE_FOPEN''@|0|g' \ -e 's|@''REPLACE_FPRINTF''@|0|g' \ -e 's|@''REPLACE_FPURGE''@|0|g' \ -e 's|@''REPLACE_FREOPEN''@|0|g' \ -e 's|@''REPLACE_FSEEK''@|0|g' \ -e 's|@''REPLACE_FSEEKO''@|0|g' \ -e 's|@''REPLACE_FTELL''@|0|g' \ -e 's|@''REPLACE_FTELLO''@|0|g' \ -e 's|@''REPLACE_GETDELIM''@|0|g' \ -e 's|@''REPLACE_GETLINE''@|0|g' \ -e 's|@''REPLACE_OBSTACK_PRINTF''@|0|g' \ -e 's|@''REPLACE_PERROR''@|0|g' \ -e 's|@''REPLACE_POPEN''@|0|g' \ -e 's|@''REPLACE_PRINTF''@|0|g' \ -e 's|@''REPLACE_REMOVE''@|0|g' \ -e 's|@''REPLACE_RENAME''@|0|g' \ -e 's|@''REPLACE_RENAMEAT''@|0|g' \ -e 's|@''REPLACE_SNPRINTF''@|0|g' \ -e 's|@''REPLACE_SPRINTF''@|0|g' \ -e 's|@''REPLACE_STDIO_READ_FUNCS''@|0|g' \ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|0|g' \ -e 's|@''REPLACE_TMPFILE''@|0|g' \ -e 's|@''REPLACE_VASPRINTF''@|0|g' \ -e 's|@''REPLACE_VDPRINTF''@|0|g' \ -e 's|@''REPLACE_VFPRINTF''@|0|g' \ -e 's|@''REPLACE_VPRINTF''@|0|g' \ -e 's|@''REPLACE_VSNPRINTF''@|0|g' \ -e 's|@''REPLACE_VSPRINTF''@|0|g' \ -e 's|@''ASM_SYMBOL_PREFIX''@||g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \ } > stdio.h-t && \ mv stdio.h-t stdio.h rm -f stdlib.h-t stdlib.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_STDLIB_H''@|<stdlib.h>|g' \ -e 's/@''GNULIB__EXIT''@/0/g' \ -e 's/@''GNULIB_ATOLL''@/0/g' \ -e 's/@''GNULIB_CALLOC_POSIX''@/0/g' \ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/0/g' \ -e 's/@''GNULIB_GETLOADAVG''@/1/g' \ -e 's/@''GNULIB_GETSUBOPT''@/0/g' \ -e 's/@''GNULIB_GRANTPT''@/0/g' \ -e 's/@''GNULIB_MALLOC_POSIX''@/0/g' \ -e 's/@''GNULIB_MBTOWC''@/0/g' \ -e 's/@''GNULIB_MKDTEMP''@/0/g' \ -e 's/@''GNULIB_MKOSTEMP''@/0/g' \ -e 's/@''GNULIB_MKOSTEMPS''@/0/g' \ -e 's/@''GNULIB_MKSTEMP''@/0/g' \ -e 's/@''GNULIB_MKSTEMPS''@/0/g' \ -e 's/@''GNULIB_POSIX_OPENPT''@/0/g' \ -e 's/@''GNULIB_PTSNAME''@/0/g' \ -e 's/@''GNULIB_PTSNAME_R''@/0/g' \ -e 's/@''GNULIB_PUTENV''@/0/g' \ -e 's/@''GNULIB_RANDOM''@/0/g' \ -e 's/@''GNULIB_RANDOM_R''@/0/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/0/g' \ -e 's/@''GNULIB_REALPATH''@/0/g' \ -e 's/@''GNULIB_RPMATCH''@/0/g' \ -e 's/@''GNULIB_SETENV''@/0/g' \ -e 's/@''GNULIB_STRTOD''@/0/g' \ -e 's/@''GNULIB_STRTOLL''@/0/g' \ -e 's/@''GNULIB_STRTOULL''@/0/g' \ -e 's/@''GNULIB_SYSTEM_POSIX''@/0/g' \ -e 's/@''GNULIB_UNLOCKPT''@/0/g' \ -e 's/@''GNULIB_UNSETENV''@/0/g' \ -e 's/@''GNULIB_WCTOMB''@/0/g' \ < /builddir/build/BUILD/emacs-24.3/lib/stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|1|g' \ -e 's|@''HAVE_ATOLL''@|1|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|1|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \ -e 's|@''HAVE_GETSUBOPT''@|1|g' \ -e 's|@''HAVE_GRANTPT''@|1|g' \ -e 's|@''HAVE_MKDTEMP''@|1|g' \ -e 's|@''HAVE_MKOSTEMP''@|1|g' \ -e 's|@''HAVE_MKOSTEMPS''@|1|g' \ -e 's|@''HAVE_MKSTEMP''@|1|g' \ -e 's|@''HAVE_MKSTEMPS''@|1|g' \ -e 's|@''HAVE_POSIX_OPENPT''@|1|g' \ -e 's|@''HAVE_PTSNAME''@|1|g' \ -e 's|@''HAVE_PTSNAME_R''@|1|g' \ -e 's|@''HAVE_RANDOM''@|1|g' \ -e 's|@''HAVE_RANDOM_H''@|1|g' \ -e 's|@''HAVE_RANDOM_R''@|1|g' \ -e 's|@''HAVE_REALPATH''@|1|g' \ -e 's|@''HAVE_RPMATCH''@|1|g' \ -e 's|@''HAVE_DECL_SETENV''@|1|g' \ -e 's|@''HAVE_STRTOD''@|1|g' \ -e 's|@''HAVE_STRTOLL''@|1|g' \ -e 's|@''HAVE_STRTOULL''@|1|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|1|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|0|g' \ -e 's|@''HAVE_UNLOCKPT''@|1|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|1|g' \ -e 's|@''REPLACE_CALLOC''@|0|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|0|g' \ -e 's|@''REPLACE_MALLOC''@|0|g' \ -e 's|@''REPLACE_MBTOWC''@|0|g' \ -e 's|@''REPLACE_MKSTEMP''@|0|g' \ -e 's|@''REPLACE_PTSNAME''@|0|g' \ -e 's|@''REPLACE_PTSNAME_R''@|0|g' \ -e 's|@''REPLACE_PUTENV''@|0|g' \ -e 's|@''REPLACE_RANDOM_R''@|0|g' \ -e 's|@''REPLACE_REALLOC''@|0|g' \ -e 's|@''REPLACE_REALPATH''@|0|g' \ -e 's|@''REPLACE_SETENV''@|0|g' \ -e 's|@''REPLACE_STRTOD''@|0|g' \ -e 's|@''REPLACE_UNSETENV''@|0|g' \ -e 's|@''REPLACE_WCTOMB''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _Noreturn/r /builddir/build/BUILD/emacs-24.3/build-aux/snippet/_Noreturn.h' \ -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \ } > stdlib.h-t && \ mv stdlib.h-t stdlib.h /usr/bin/mkdir -p sys rm -f sys/select.h-t sys/select.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SYS_SELECT_H''@|<sys/select.h>|g' \ -e 's|@''HAVE_SYS_SELECT_H''@|1|g' \ -e 's/@''GNULIB_PSELECT''@/1/g' \ -e 's/@''GNULIB_SELECT''@/0/g' \ -e 's|@''HAVE_WINSOCK2_H''@|0|g' \ -e 's|@''HAVE_PSELECT''@|1|g' \ -e 's|@''REPLACE_PSELECT''@|0|g' \ -e 's|@''REPLACE_SELECT''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \ < /builddir/build/BUILD/emacs-24.3/lib/sys_select.in.h; \ } > sys/select.h-t && \ mv sys/select.h-t sys/select.h /usr/bin/mkdir -p sys rm -f sys/stat.h-t sys/stat.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SYS_STAT_H''@|<sys/stat.h>|g' \ -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|0|g' \ -e 's/@''GNULIB_FCHMODAT''@/0/g' \ -e 's/@''GNULIB_FSTAT''@/0/g' \ -e 's/@''GNULIB_FSTATAT''@/0/g' \ -e 's/@''GNULIB_FUTIMENS''@/0/g' \ -e 's/@''GNULIB_LCHMOD''@/0/g' \ -e 's/@''GNULIB_LSTAT''@/1/g' \ -e 's/@''GNULIB_MKDIRAT''@/0/g' \ -e 's/@''GNULIB_MKFIFO''@/0/g' \ -e 's/@''GNULIB_MKFIFOAT''@/0/g' \ -e 's/@''GNULIB_MKNOD''@/0/g' \ -e 's/@''GNULIB_MKNODAT''@/0/g' \ -e 's/@''GNULIB_STAT''@/0/g' \ -e 's/@''GNULIB_UTIMENSAT''@/0/g' \ -e 's|@''HAVE_FCHMODAT''@|1|g' \ -e 's|@''HAVE_FSTATAT''@|1|g' \ -e 's|@''HAVE_FUTIMENS''@|1|g' \ -e 's|@''HAVE_LCHMOD''@|1|g' \ -e 's|@''HAVE_LSTAT''@|1|g' \ -e 's|@''HAVE_MKDIRAT''@|1|g' \ -e 's|@''HAVE_MKFIFO''@|1|g' \ -e 's|@''HAVE_MKFIFOAT''@|1|g' \ -e 's|@''HAVE_MKNOD''@|1|g' \ -e 's|@''HAVE_MKNODAT''@|1|g' \ -e 's|@''HAVE_UTIMENSAT''@|1|g' \ -e 's|@''REPLACE_FSTAT''@|0|g' \ -e 's|@''REPLACE_FSTATAT''@|0|g' \ -e 's|@''REPLACE_FUTIMENS''@|0|g' \ -e 's|@''REPLACE_LSTAT''@|0|g' \ -e 's|@''REPLACE_MKDIR''@|0|g' \ -e 's|@''REPLACE_MKFIFO''@|0|g' \ -e 's|@''REPLACE_MKNOD''@|0|g' \ -e 's|@''REPLACE_STAT''@|0|g' \ -e 's|@''REPLACE_UTIMENSAT''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \ < /builddir/build/BUILD/emacs-24.3/lib/sys_stat.in.h; \ } > sys/stat.h-t && \ mv sys/stat.h-t sys/stat.h /usr/bin/mkdir -p sys rm -f sys/time.h-t sys/time.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_SYS_TIME_H''@/1/g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SYS_TIME_H''@|<sys/time.h>|g' \ -e 's/@''GNULIB_GETTIMEOFDAY''@/1/g' \ -e 's|@''HAVE_WINSOCK2_H''@|0|g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/1/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/1/g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/0/g' \ -e 's/@''REPLACE_STRUCT_TIMEVAL''@/0/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \ < /builddir/build/BUILD/emacs-24.3/lib/sys_time.in.h; \ } > sys/time.h-t && \ mv sys/time.h-t sys/time.h rm -f time.h-t time.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_TIME_H''@|<time.h>|g' \ -e 's/@''GNULIB_MKTIME''@/1/g' \ -e 's/@''GNULIB_NANOSLEEP''@/0/g' \ -e 's/@''GNULIB_STRPTIME''@/0/g' \ -e 's/@''GNULIB_TIMEGM''@/0/g' \ -e 's/@''GNULIB_TIME_R''@/1/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|1|g' \ -e 's|@''HAVE_NANOSLEEP''@|1|g' \ -e 's|@''HAVE_STRPTIME''@|1|g' \ -e 's|@''HAVE_TIMEGM''@|1|g' \ -e 's|@''REPLACE_LOCALTIME_R''@|0|g' \ -e 's|@''REPLACE_MKTIME''@|0|g' \ -e 's|@''REPLACE_NANOSLEEP''@|GNULIB_PORTCHECK|g' \ -e 's|@''REPLACE_TIMEGM''@|GNULIB_PORTCHECK|g' \ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|1|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \ < /builddir/build/BUILD/emacs-24.3/lib/time.in.h; \ } > time.h-t && \ mv time.h-t time.h rm -f unistd.h-t unistd.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_UNISTD_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_UNISTD_H''@|<unistd.h>|g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|0|g' \ -e 's/@''GNULIB_CHDIR''@/0/g' \ -e 's/@''GNULIB_CHOWN''@/0/g' \ -e 's/@''GNULIB_CLOSE''@/0/g' \ -e 's/@''GNULIB_DUP''@/0/g' \ -e 's/@''GNULIB_DUP2''@/1/g' \ -e 's/@''GNULIB_DUP3''@/0/g' \ -e 's/@''GNULIB_ENVIRON''@/1/g' \ -e 's/@''GNULIB_EUIDACCESS''@/0/g' \ -e 's/@''GNULIB_FACCESSAT''@/0/g' \ -e 's/@''GNULIB_FCHDIR''@/0/g' \ -e 's/@''GNULIB_FCHOWNAT''@/0/g' \ -e 's/@''GNULIB_FDATASYNC''@/0/g' \ -e 's/@''GNULIB_FSYNC''@/0/g' \ -e 's/@''GNULIB_FTRUNCATE''@/0/g' \ -e 's/@''GNULIB_GETCWD''@/0/g' \ -e 's/@''GNULIB_GETDOMAINNAME''@/0/g' \ -e 's/@''GNULIB_GETDTABLESIZE''@/0/g' \ -e 's/@''GNULIB_GETGROUPS''@/0/g' \ -e 's/@''GNULIB_GETHOSTNAME''@/0/g' \ -e 's/@''GNULIB_GETLOGIN''@/0/g' \ -e 's/@''GNULIB_GETLOGIN_R''@/0/g' \ -e 's/@''GNULIB_GETPAGESIZE''@/0/g' \ -e 's/@''GNULIB_GETUSERSHELL''@/0/g' \ -e 's/@''GNULIB_GROUP_MEMBER''@/0/g' \ -e 's/@''GNULIB_ISATTY''@/0/g' \ -e 's/@''GNULIB_LCHOWN''@/0/g' \ -e 's/@''GNULIB_LINK''@/0/g' \ -e 's/@''GNULIB_LINKAT''@/0/g' \ -e 's/@''GNULIB_LSEEK''@/0/g' \ -e 's/@''GNULIB_PIPE''@/0/g' \ -e 's/@''GNULIB_PIPE2''@/0/g' \ -e 's/@''GNULIB_PREAD''@/0/g' \ -e 's/@''GNULIB_PWRITE''@/0/g' \ -e 's/@''GNULIB_READ''@/0/g' \ -e 's/@''GNULIB_READLINK''@/1/g' \ -e 's/@''GNULIB_READLINKAT''@/0/g' \ -e 's/@''GNULIB_RMDIR''@/0/g' \ -e 's/@''GNULIB_SETHOSTNAME''@/0/g' \ -e 's/@''GNULIB_SLEEP''@/0/g' \ -e 's/@''GNULIB_SYMLINK''@/1/g' \ -e 's/@''GNULIB_SYMLINKAT''@/0/g' \ -e 's/@''GNULIB_TTYNAME_R''@/0/g' \ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0/g' \ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/0/g' \ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/0/g' \ -e 's/@''GNULIB_UNLINK''@/0/g' \ -e 's/@''GNULIB_UNLINKAT''@/0/g' \ -e 's/@''GNULIB_USLEEP''@/0/g' \ -e 's/@''GNULIB_WRITE''@/0/g' \ < /builddir/build/BUILD/emacs-24.3/lib/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|1|g' \ -e 's|@''HAVE_DUP2''@|1|g' \ -e 's|@''HAVE_DUP3''@|1|g' \ -e 's|@''HAVE_EUIDACCESS''@|1|g' \ -e 's|@''HAVE_FACCESSAT''@|1|g' \ -e 's|@''HAVE_FCHDIR''@|1|g' \ -e 's|@''HAVE_FCHOWNAT''@|1|g' \ -e 's|@''HAVE_FDATASYNC''@|1|g' \ -e 's|@''HAVE_FSYNC''@|1|g' \ -e 's|@''HAVE_FTRUNCATE''@|1|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|1|g' \ -e 's|@''HAVE_GETGROUPS''@|1|g' \ -e 's|@''HAVE_GETHOSTNAME''@|1|g' \ -e 's|@''HAVE_GETLOGIN''@|1|g' \ -e 's|@''HAVE_GETPAGESIZE''@|1|g' \ -e 's|@''HAVE_GROUP_MEMBER''@|1|g' \ -e 's|@''HAVE_LCHOWN''@|1|g' \ -e 's|@''HAVE_LINK''@|1|g' \ -e 's|@''HAVE_LINKAT''@|1|g' \ -e 's|@''HAVE_PIPE''@|1|g' \ -e 's|@''HAVE_PIPE2''@|1|g' \ -e 's|@''HAVE_PREAD''@|1|g' \ -e 's|@''HAVE_PWRITE''@|1|g' \ -e 's|@''HAVE_READLINK''@|1|g' \ -e 's|@''HAVE_READLINKAT''@|1|g' \ -e 's|@''HAVE_SETHOSTNAME''@|1|g' \ -e 's|@''HAVE_SLEEP''@|1|g' \ -e 's|@''HAVE_SYMLINK''@|1|g' \ -e 's|@''HAVE_SYMLINKAT''@|1|g' \ -e 's|@''HAVE_UNLINKAT''@|1|g' \ -e 's|@''HAVE_USLEEP''@|1|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|1|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|1|g' \ -e 's|@''HAVE_DECL_FDATASYNC''@|1|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|1|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|1|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|1|g' \ -e 's|@''HAVE_DECL_SETHOSTNAME''@|1|g' \ -e 's|@''HAVE_DECL_TTYNAME_R''@|1|g' \ -e 's|@''HAVE_OS_H''@|0|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \ | \ sed -e 's|@''REPLACE_CHOWN''@|0|g' \ -e 's|@''REPLACE_CLOSE''@|0|g' \ -e 's|@''REPLACE_DUP''@|0|g' \ -e 's|@''REPLACE_DUP2''@|0|g' \ -e 's|@''REPLACE_FCHOWNAT''@|0|g' \ -e 's|@''REPLACE_FTRUNCATE''@|0|g' \ -e 's|@''REPLACE_GETCWD''@|0|g' \ -e 's|@''REPLACE_GETDOMAINNAME''@|0|g' \ -e 's|@''REPLACE_GETLOGIN_R''@|0|g' \ -e 's|@''REPLACE_GETGROUPS''@|0|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|0|g' \ -e 's|@''REPLACE_ISATTY''@|0|g' \ -e 's|@''REPLACE_LCHOWN''@|0|g' \ -e 's|@''REPLACE_LINK''@|0|g' \ -e 's|@''REPLACE_LINKAT''@|0|g' \ -e 's|@''REPLACE_LSEEK''@|0|g' \ -e 's|@''REPLACE_PREAD''@|0|g' \ -e 's|@''REPLACE_PWRITE''@|0|g' \ -e 's|@''REPLACE_READ''@|0|g' \ -e 's|@''REPLACE_READLINK''@|0|g' \ -e 's|@''REPLACE_RMDIR''@|0|g' \ -e 's|@''REPLACE_SLEEP''@|0|g' \ -e 's|@''REPLACE_SYMLINK''@|0|g' \ -e 's|@''REPLACE_TTYNAME_R''@|0|g' \ -e 's|@''REPLACE_UNLINK''@|0|g' \ -e 's|@''REPLACE_UNLINKAT''@|0|g' \ -e 's|@''REPLACE_USLEEP''@|0|g' \ -e 's|@''REPLACE_WRITE''@|0|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \ } > unistd.h-t && \ mv unistd.h-t unistd.h make all-am make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/builddir/build/BUILD/emacs-24.3/lib -I../src -I/builddir/build/BUILD/emacs-24.3/src -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -c /builddir/build/BUILD/emacs-24.3/lib/allocator.c ... snip ... gcc-switches -m64 -mcpu=power7 -mtune=power8 -c /builddir/build/BUILD/emacs-24.3/lib/utimens.c gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/builddir/build/BUILD/emacs-24.3/lib -I../src -I/builddir/build/BUILD/emacs-24.3/src -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -c /builddir/build/BUILD/emacs-24.3/lib/pthread_sigmask.c rm -f libgnu.a ar cru libgnu.a allocator.o c-ctype.o c-strcasecmp.o c-strncasecmp.o careadlinkat.o md5.o sha1.o sha256.o sha512.o dtoastr.o dtotimespec.o filemode.o gettime.o stat-time.o strftime.o timespec.o timespec-add.o timespec-sub.o u64.o utimens.o pthread_sigmask.o ranlib libgnu.a make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib' make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib' cd lib-src && make all -w \ CC='gcc -std=gnu99' CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' CPPFLAGS='' \ LDFLAGS='-Wl,-z,relro -Wl,-znocombreloc ' MAKE='make' make[2]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lib-src' gcc -std=gnu99 -c -I. -I../src -I../lib -I/builddir/build/BUILD/emacs-24.3/lib-src -I/builddir/build/BUILD/emacs-24.3/lib-src/../src -I/builddir/build/BUILD/emacs-24.3/lib-src/../lib -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \ /builddir/build/BUILD/emacs-24.3/lib-src/../src/regex.c ... snip ... gcc -std=gnu99 -nostdlib -Demacs -I. -I/builddir/build/BUILD/emacs-24.3/src -I../lib -I/builddir/build/BUILD/emacs-24.3/src/../lib -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng15 -I/usr/include/libdrm -I/usr/include/freetype2 -I/usr/include/alsa -pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/libpng15 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -fopenmp -I/usr/include/ImageMagick -I/usr/include/libxml2 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gconf/2 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/freetype2 -I/usr/include/freetype2 -MMD -MF deps/.d -MP -I/usr/include/p11-kit-1 -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -Wl,-z,relro -Wl,-znocombreloc \ -o temacs pre-crt0.o /usr/lib/gcc/ppc64le-redhat-linux/4.8.3/../../../../lib64/crt1.o /usr/lib/gcc/ppc64le-redhat-linux/4.8.3/../../../../lib64/crti.o dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o window.o charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o xgselect.o gtkutil.o emacsgtkfixed.o dbusbind.o emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexelf.o bytecode.o process.o gnutls.o callproc.o region-cache.o sound.o atimer.o doprnt.o intervals.o textprop.o composite.o xml.o profiler.o xfont.o ftfont.o xftfont.o ftxfont.o fontset.o fringe.o image.o terminfo.o lastfile.o vm-limit.o ../lib/libgnu.a -ltiff -ljpeg -lpng -lz -lm -lgif -lXpm -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -lSM -lICE -lX11 -lXrender -lXft -lasound -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lglib-2.0 -lMagickWand -lMagickCore -lrt -L/lib64 -ldbus-1 -lxml2 -ltinfo -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgconf-2 -lglib-2.0 -lgobject-2.0 -lglib-2.0 -lselinux -lfreetype -lfontconfig -lfreetype -lotf -lfreetype -lm17n-flt -lm17n-core -lgnutls -lpthread -lm -lgcc -lc -lgcc /usr/lib/gcc/ppc64le-redhat-linux/4.8.3/../../../../lib64/crtn.o test "no" = "yes" || \ test "X" = X || -r temacs cd ../lisp; make -w update-subdirs make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' cd /builddir/build/BUILD/emacs-24.3/lisp; subdirs=`find . -type d -print`; for file in $subdirs; do case $file in */.* | */.*/* | */=* | */cedet* ) ;; *) wins="$wins $file" ;; esac; done; \ for file in $wins; do \ /builddir/build/BUILD/emacs-24.3/build-aux/update-subdirs $file; \ done; make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' if test "no" = "yes"; then \ rm -f bootstrap-emacs; \ ln temacs bootstrap-emacs; \ else \ `/bin/pwd`/temacs --batch --load loadup bootstrap || exit 1; \ test "X" = X || -zex emacs; \ mv -f emacs bootstrap-emacs; \ fi Loading loadup.el (source)... Using load-path (/builddir/build/BUILD/emacs-24.3/lisp /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp /builddir/build/BUILD/emacs-24.3/lisp/language /builddir/build/BUILD/emacs-24.3/lisp/international /builddir/build/BUILD/emacs-24.3/lisp/textmodes) Loading emacs-lisp/byte-run (source)... Loading emacs-lisp/backquote (source)... Loading subr (source)... Loading version (source)... Loading widget (source)... Loading custom (source)... Loading emacs-lisp/map-ynp (source)... Loading international/mule (source)... Loading international/mule-conf (source)... Loading env (source)... Loading format (source)... Loading bindings (source)... Loading cus-start (source)... Loading window (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/files.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/pcase.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/cus-face.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/faces.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/button.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/startup.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/ldefs-boot.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/minibuffer.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/abbrev.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/simple.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/help.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/jka-cmpr-hook.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/epa-hook.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/international/mule-cmds.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/case-table.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/international/charprop.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/international/characters.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/composite.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/chinese.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/cyrillic.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/indian.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/sinhala.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/english.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/ethiopic.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/european.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/czech.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/slovak.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/romanian.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/greek.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/hebrew.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/japanese.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/international/cp51932.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/international/eucjp-ms.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/korean.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/lao.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/tai-viet.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/thai.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/tibetan.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/vietnamese.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/misc-lang.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/utf-8-lang.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/georgian.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/khmer.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/burmese.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/language/cham.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/indent.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/frame.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/term/tty-colors.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/font-core.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/facemenu.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/syntax.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/font-lock.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/jit-lock.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/mouse.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/scroll-bar.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/select.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/timer.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/isearch.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/rfn-eshadow.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/menu-bar.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/lisp.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/textmodes/page.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/register.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/textmodes/paragraphs.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/lisp-mode.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/textmodes/text-mode.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/textmodes/fill.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/newcomment.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/replace.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/tabulated-list.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/buff-menu.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/fringe.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/regexp-opt.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/image.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/international/fontset.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/dnd.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/tool-bar.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/dynamic-setting.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/x-dnd.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/term/common-win.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/term/x-win.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/mwheel.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/float-sup.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/vc/vc-hooks.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/vc/ediff-hook.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/tooltip.el (source)... Finding pointers to doc strings... Finding pointers to doc strings...done Dumping under the name emacs emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/build-gtk/src/temacs make[2]: *** [bootstrap-emacs] Error 1 make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' make[1]: *** [src] Error 2 make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk' make: *** [bootstrap] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.ip3wVK (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.ip3wVK (%build) Child return code was: 1 EXCEPTION: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target ppc64le --nodeps builddir/build/SPECS/emacs.spec'] Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 70, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 376, in do raise mockbuild.exception.Error, ("Command failed. See logs for output.\n # %s" % (command,), child.returncode) Error: Command failed. See logs for output. # ['bash', '--login', '-c', 'rpmbuild -bb --target ppc64le --nodeps builddir/build/SPECS/emacs.spec'] LEAVE do --> EXCEPTION RAISED -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 14 Jul 2015 07:53:01 GMT) Full text and rfc822 format available.Message #28 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Andreas Schwab <schwab <at> suse.de> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 14 Jul 2015 09:52:23 +0200
On 07/13/2015 03:16 PM, Andreas Schwab wrote: > Petr Hracek <phracek <at> redhat.com> writes: > >> Does emacs-24.3 support ppc64le? > https://build.opensuse.org/package/binaries/openSUSE:13.2/emacs?repository=ports > http://download.opensuse.org/ports/ppc/distribution/13.2/repo/oss/suse/ppc64le/emacs-x11-24.3-17.2.2.ppc64le.rpm > > Andreas. > I have find out that the error message Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/tooltip.el (source)... Finding pointers to doc strings... Finding pointers to doc strings...done Dumping under the name emacs emacs: Program segment above .bss in /home/phracek/rpmbuild/BUILD/emacs-24.3/build-gtk/src/temacs make[2]: *** [bootstrap-emacs] Error 1 comes from file src/unexelf.c line 860 (emacs-24.3) What this function does? I saw in openSUSE SRPM that option --with-wide-int is used. In Fedora or RHEL we are not using it. Options which are used for compiling are: ./configure --build=powerpc64le-redhat-linux-gnu --host=powerpc64le-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no build_alias=powerpc64le-redhat-linux-gnu host_alias=powerpc64le-redhat-linux-gnu CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 LDFLAGS=-Wl,-z,relro --no-create --no-recursion -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 14 Jul 2015 08:15:02 GMT) Full text and rfc822 format available.Message #31 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Schwab <schwab <at> suse.de> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 14 Jul 2015 10:14:34 +0200
Petr Hracek <phracek <at> redhat.com> writes: > I saw in openSUSE SRPM that option --with-wide-int is used. --with-wide-ints has no effect on 64bit. Andreas. -- Andreas Schwab, SUSE Labs, schwab <at> suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 16 Sep 2015 11:30:04 GMT) Full text and rfc822 format available.Message #34 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: bug-gnu-emacs <at> gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 16 Sep 2015 13:28:53 +0200
[Message part 1 (text/plain, inline)]
On 07/14/2015 09:52 AM, Petr Hracek wrote: > On 07/13/2015 03:16 PM, Andreas Schwab wrote: >> Petr Hracek <phracek <at> redhat.com> writes: >> >>> Does emacs-24.3 support ppc64le? >> https://build.opensuse.org/package/binaries/openSUSE:13.2/emacs?repository=ports >> >> http://download.opensuse.org/ports/ppc/distribution/13.2/repo/oss/suse/ppc64le/emacs-x11-24.3-17.2.2.ppc64le.rpm >> >> >> Andreas. >> > I have find out that the error message > Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/tooltip.el > (source)... > Finding pointers to doc strings... > Finding pointers to doc strings...done > Dumping under the name emacs > emacs: Program segment above .bss in > /home/phracek/rpmbuild/BUILD/emacs-24.3/build-gtk/src/temacs > make[2]: *** [bootstrap-emacs] Error 1 > > comes from file src/unexelf.c line 860 (emacs-24.3) > What this function does? > I saw in openSUSE SRPM that option --with-wide-int is used. > In Fedora or RHEL we are not using it. > > Options which are used for compiling are: > ./configure --build=powerpc64le-redhat-linux-gnu > --host=powerpc64le-redhat-linux-gnu --program-prefix= > --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr > --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc > --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 > --libexecdir=/usr/libexec --localstatedir=/var > --sharedstatedir=/var/lib --mandir=/usr/share/man > --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg > --with-png --with-rsvg --with-tiff --with-xft --with-xpm > --with-x-toolkit=gtk3 --with-gpm=no > build_alias=powerpc64le-redhat-linux-gnu > host_alias=powerpc64le-redhat-linux-gnu CFLAGS=-DMAIL_USE_LOCKF -O2 -g > -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector-strong --param=ssp-buffer-size=4 > -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 > LDFLAGS=-Wl,-z,relro --no-create --no-recursion > Building emacs package on Fedora or even on OpenSuse works fine. But under RHEL-7 still fails. Emacs is build up with full RELRO, though. Version of packages which are used for compilation are: gcc-4.8.3 automake-1.13.4 autoconf-2.69 Compilation flags are: ./configure --build=ppc64le-redhat-linux-gnu --host=ppc64le-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-link-time-optimization --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no + LDFLAGS=-Wl,-z,relro + export LDFLAGS + CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' + export CFLAGS + CXXFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' + export CXXFLAGS + FFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -I/usr/lib64/gfortran/modules' + export FCFLAGS + LDFLAGS=-Wl,-z,relro + export LDFLAGS emacs is SPEC file is compiled so that in %prep section is: - setup - patching some files - ./autogen.sh %build section for emacs-gtk: - ./configure is called. - make bootstrap - make %build section for emacs-nox is: - ./configure is called. - make Is this correct? Compilator has settings like: CC='gcc -std=gnu99' CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32' CPPFLAGS='' \ LDFLAGS='-Wl,-z,relro -Wl,-znocombreloc ' MAKE='make' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/builddir/build/BUILD/emacs-24.3/lib -I../src -I/builddir/build/BUILD/emacs-24.3/src -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32 -c /builddir/build/BUILD/emacs-24.3/lib/allocator.c linker has a settings like: gcc -std=gnu99 -I. -I../src -I../lib -I/builddir/build/BUILD/emacs-24.3/lib-src -I/builddir/build/BUILD/emacs-24.3/lib-src/../src -I/builddir/build/BUILD/emacs-24.3/lib-src/../lib -Wl,-z,relro -Wl,-znocombreloc -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32 -DEMACS_NAME="\"GNU Emacs\"" \ -DVERSION="\"24.3\"" /builddir/build/BUILD/emacs-24.3/lib-src/etags.c \ regex.o ../lib/libgnu.a -o etags Before segmentation fault build log is: if test "no" = "yes"; then \ rm -f bootstrap-emacs; \ ln temacs bootstrap-emacs; \ else \ `/bin/pwd`/temacs --batch --load loadup bootstrap || exit 1; \ test "X" = X || -zex emacs; \ mv -f emacs bootstrap-emacs; \ fi Loading loadup.el (source)... Using load-path (/builddir/build/BUILD/emacs-24.3/lisp /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp /builddir/build/BUILD/emacs-24.3/lisp/language /builddir/build/BUILD/emacs-24.3/lisp/international /builddir/build/BUILD/emacs-24.3/lisp/textmodes) Loading emacs-lisp/byte-run (source)... Loading emacs-lisp/backquote (source)... [ .. snip ...]dir/build/BUILD/emacs-24.3/lisp/vc/vc-hooks.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/vc/ediff-hook.el (source)... Loading /builddir/build/BUILD/emacs-24.3/lisp/tooltip.el (source)... Finding pointers to doc strings... Finding pointers to doc strings...done Dumping under the name emacs emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/build-gtk/src/temacs make[2]: *** [bootstrap-emacs] Error 1 make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' make[1]: *** [src] Error 2 Part of code which is relevant is from src/unexelf.c: for (n = new_file_h->e_phnum; --n >= 0; ) { /* Compute maximum of all requirements for alignment of section. */ ElfW (Word) alignment = (NEW_PROGRAM_H (n)).p_align; if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) alignment = OLD_SECTION_H (old_bss_index).sh_addralign; #ifdef __sgi /* According to r02kar <at> x4u2.desy.de (Karsten Kuenne) and oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we always get "Program segment above .bss" when dumping when the executable doesn't have an sbss section. */ if (old_sbss_index != -1) #endif /* __sgi */ if (NEW_PROGRAM_H (n).p_vaddr + NEW_PROGRAM_H (n).p_filesz > (old_sbss_index == -1 ? old_bss_addr : round_up (old_bss_addr, alignment))) *fatal ("Program segment above .bss in %s", old_name);* if (NEW_PROGRAM_H (n).p_type == PT_LOAD If I understand there shouldn't be a problem on ppc64le. But I don't understand a code at all. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 22 Sep 2015 10:18:01 GMT) Full text and rfc822 format available.Message #37 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 22 Sep 2015 12:17:10 +0200
[Message part 1 (text/plain, inline)]
I have a question: would it be possible to remove unexelf.c code and replace them with a "just map a file with pre-compiled byte code" as advice me a colleagues in Red Hat? It seems that this code is also incompatible with PIE. Together with our binutils-2.23.52.0.1-54 (https://bugzilla.redhat.com/show_bug.cgi?id=1247126) it segfaults each time. Now. What do you think about it? Nowadays I have commented out the code mentioned on line http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n869 and afterwards is fails with Finding pointers to doc strings... Finding pointers to doc strings...done Dumping under the name emacs /bin/sh: line 7: 15764 Segmentation fault `/bin/pwd`/temacs --batch --load loadup bootstrap make[2]: *** [bootstrap-emacs] Error 1 make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' Important version of packages: glibc-2.17-103.el7.ppc64le gcc-4.8.5-4.el7.ppc64le binutils-2.23.52.0.1-54.el7.ppc64le Greetings Petr On 09/16/2015 01:28 PM, Petr Hracek wrote: > On 07/14/2015 09:52 AM, Petr Hracek wrote: >> On 07/13/2015 03:16 PM, Andreas Schwab wrote: >>> Petr Hracek <phracek <at> redhat.com> writes: >>>> Does emacs-24.3 support ppc64le? >>> https://build.opensuse.org/package/binaries/openSUSE:13.2/emacs?repository=ports >>> http://download.opensuse.org/ports/ppc/distribution/13.2/repo/oss/suse/ppc64le/emacs-x11-24.3-17.2.2.ppc64le.rpm >>> Andreas. >> I have find out that the error message Loading >> /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/tooltip.el (source)... >> Finding pointers to doc strings... Finding pointers to doc >> strings...done Dumping under the name emacs emacs: Program segment >> above .bss in >> /home/phracek/rpmbuild/BUILD/emacs-24.3/build-gtk/src/temacs make[2]: >> *** [bootstrap-emacs] Error 1 comes from file src/unexelf.c line 860 >> (emacs-24.3) What this function does? I saw in openSUSE SRPM that >> option --with-wide-int is used. In Fedora or RHEL we are not using >> it. Options which are used for compiling are: ./configure >> --build=powerpc64le-redhat-linux-gnu >> --host=powerpc64le-redhat-linux-gnu --program-prefix= >> --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr >> --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc >> --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 >> --libexecdir=/usr/libexec --localstatedir=/var >> --sharedstatedir=/var/lib --mandir=/usr/share/man >> --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg >> --with-png --with-rsvg --with-tiff --with-xft --with-xpm >> --with-x-toolkit=gtk3 --with-gpm=no >> build_alias=powerpc64le-redhat-linux-gnu >> host_alias=powerpc64le-redhat-linux-gnu CFLAGS=-DMAIL_USE_LOCKF -O2 >> -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions >> -fstack-protector-strong --param=ssp-buffer-size=4 >> -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 >> LDFLAGS=-Wl,-z,relro --no-create --no-recursion > Building emacs package on Fedora or even on OpenSuse works fine. But > under RHEL-7 still fails. Emacs is build up with full RELRO, though. > Version of packages which are used for compilation are: gcc-4.8.3 > automake-1.13.4 autoconf-2.69 Compilation flags are: > ./configure --build=ppc64le-redhat-linux-gnu --host=ppc64le-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-link-time-optimization --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no > + LDFLAGS=-Wl,-z,relro > + export LDFLAGS > + CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' > + export CFLAGS > + CXXFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' > + export CXXFLAGS > + FFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -I/usr/lib64/gfortran/modules' > + export FFLAGS > + FCFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -I/usr/lib64/gfortran/modules' > + export FCFLAGS > + LDFLAGS=-Wl,-z,relro > + export LDFLAGS > emacs is SPEC file is compiled so that in %prep section is: - setup - > patching some files - ./autogen.sh %build section for emacs-gtk: - > ./configure is called. - make bootstrap - make %build section for > emacs-nox is: - ./configure is called. - make Is this correct? > Compilator has settings like: > CC='gcc -std=gnu99' CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32' CPPFLAGS='' \ > LDFLAGS='-Wl,-z,relro -Wl,-znocombreloc ' MAKE='make' > gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/builddir/build/BUILD/emacs-24.3/lib -I../src -I/builddir/build/BUILD/emacs-24.3/src -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32 -c /builddir/build/BUILD/emacs-24.3/lib/allocator.c > linker has a settings like: > gcc -std=gnu99 -I. -I../src -I../lib -I/builddir/build/BUILD/emacs-24.3/lib-src -I/builddir/build/BUILD/emacs-24.3/lib-src/../src -I/builddir/build/BUILD/emacs-24.3/lib-src/../lib -Wl,-z,relro -Wl,-znocombreloc -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32 -DEMACS_NAME="\"GNU Emacs\"" \ > -DVERSION="\"24.3\"" /builddir/build/BUILD/emacs-24.3/lib-src/etags.c \ > regex.o ../lib/libgnu.a -o etags > > Before segmentation fault build log is: > if test "no" = "yes"; then \ > rm -f bootstrap-emacs; \ > ln temacs bootstrap-emacs; \ > else \ > `/bin/pwd`/temacs --batch --load loadup bootstrap || exit 1; \ > test "X" = X || -zex emacs; \ > mv -f emacs bootstrap-emacs; \ > fi > Loading loadup.el (source)... > Using load-path (/builddir/build/BUILD/emacs-24.3/lisp /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp /builddir/build/BUILD/emacs-24.3/lisp/language /builddir/build/BUILD/emacs-24.3/lisp/international /builddir/build/BUILD/emacs-24.3/lisp/textmodes) > Loading emacs-lisp/byte-run (source)... > Loading emacs-lisp/backquote (source)... > [ .. snip ...]dir/build/BUILD/emacs-24.3/lisp/vc/vc-hooks.el (source)... > Loading /builddir/build/BUILD/emacs-24.3/lisp/vc/ediff-hook.el (source)... > Loading /builddir/build/BUILD/emacs-24.3/lisp/tooltip.el (source)... > Finding pointers to doc strings... > Finding pointers to doc strings...done > Dumping under the name emacs > emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/build-gtk/src/temacs > make[2]: *** [bootstrap-emacs] Error 1 > make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' > make[1]: *** [src] Error 2 > Part of code which is relevant is from src/unexelf.c: for (n = > new_file_h->e_phnum; --n >= 0; ) { /* Compute maximum of all > requirements for alignment of section. */ ElfW (Word) alignment > = (NEW_PROGRAM_H (n)).p_align; if ((OLD_SECTION_H > (old_bss_index)).sh_addralign > alignment) alignment = > OLD_SECTION_H (old_bss_index).sh_addralign; #ifdef __sgi /* > According to r02kar <at> x4u2.desy.de (Karsten Kuenne) and > oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we always get > "Program segment above .bss" when dumping when the executable > doesn't have an sbss section. */ if (old_sbss_index != -1) > #endif /* __sgi */ if (NEW_PROGRAM_H (n).p_vaddr + NEW_PROGRAM_H > (n).p_filesz > (old_sbss_index == -1 ? old_bss_addr > : round_up (old_bss_addr, alignment))) *fatal ("Program segment > above .bss in %s", old_name);* if (NEW_PROGRAM_H (n).p_type == > PT_LOAD If I understand there shouldn't be a problem on ppc64le. But I > don't understand a code at all. > -- > Petr Hracek > Software Engineer > Developer Experience > Red Hat, Inc > Mob: +420777056169 > email:phracek <at> redhat.com -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 08:07:02 GMT) Full text and rfc822 format available.Message #40 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 10:06:50 +0200
[Message part 1 (text/plain, inline)]
Is there any possibility how to suppress dumping emacs? Shall I add something to ./configure script or even to make? Greetings On 09/22/2015 12:17 PM, Petr Hracek wrote: > I have a question: > > would it be possible to remove unexelf.c code and replace them with a > "just map a file with pre-compiled byte code" as advice me a > colleagues in Red Hat? > > It seems that this code is also incompatible with PIE. > > Together with our binutils-2.23.52.0.1-54 > (https://bugzilla.redhat.com/show_bug.cgi?id=1247126) > it segfaults each time. Now. > What do you think about it? > > Nowadays I have commented out the code mentioned on line > http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n869 > and afterwards is fails with > Finding pointers to doc strings... > Finding pointers to doc strings...done > Dumping under the name emacs > /bin/sh: line 7: 15764 Segmentation fault `/bin/pwd`/temacs --batch --load loadup bootstrap > make[2]: *** [bootstrap-emacs] Error 1 > make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' > > > Important version of packages: > glibc-2.17-103.el7.ppc64le > gcc-4.8.5-4.el7.ppc64le > binutils-2.23.52.0.1-54.el7.ppc64le > Greetings Petr On 09/16/2015 01:28 PM, Petr Hracek wrote: >> On 07/14/2015 09:52 AM, Petr Hracek wrote: >>> On 07/13/2015 03:16 PM, Andreas Schwab wrote: >>>> Petr Hracek <phracek <at> redhat.com> writes: >>>>> Does emacs-24.3 support ppc64le? >>>> https://build.opensuse.org/package/binaries/openSUSE:13.2/emacs?repository=ports >>>> http://download.opensuse.org/ports/ppc/distribution/13.2/repo/oss/suse/ppc64le/emacs-x11-24.3-17.2.2.ppc64le.rpm >>>> Andreas. >>> I have find out that the error message Loading >>> /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/tooltip.el (source)... >>> Finding pointers to doc strings... Finding pointers to doc >>> strings...done Dumping under the name emacs emacs: Program segment >>> above .bss in >>> /home/phracek/rpmbuild/BUILD/emacs-24.3/build-gtk/src/temacs >>> make[2]: *** [bootstrap-emacs] Error 1 comes from file src/unexelf.c >>> line 860 (emacs-24.3) What this function does? I saw in openSUSE >>> SRPM that option --with-wide-int is used. In Fedora or RHEL we are >>> not using it. Options which are used for compiling are: ./configure >>> --build=powerpc64le-redhat-linux-gnu >>> --host=powerpc64le-redhat-linux-gnu --program-prefix= >>> --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr >>> --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc >>> --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 >>> --libexecdir=/usr/libexec --localstatedir=/var >>> --sharedstatedir=/var/lib --mandir=/usr/share/man >>> --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg >>> --with-png --with-rsvg --with-tiff --with-xft --with-xpm >>> --with-x-toolkit=gtk3 --with-gpm=no >>> build_alias=powerpc64le-redhat-linux-gnu >>> host_alias=powerpc64le-redhat-linux-gnu CFLAGS=-DMAIL_USE_LOCKF -O2 >>> -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions >>> -fstack-protector-strong --param=ssp-buffer-size=4 >>> -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 >>> LDFLAGS=-Wl,-z,relro --no-create --no-recursion >> Building emacs package on Fedora or even on OpenSuse works fine. But >> under RHEL-7 still fails. Emacs is build up with full RELRO, though. >> Version of packages which are used for compilation are: gcc-4.8.3 >> automake-1.13.4 autoconf-2.69 Compilation flags are: >> ./configure --build=ppc64le-redhat-linux-gnu --host=ppc64le-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-link-time-optimization --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no >> + LDFLAGS=-Wl,-z,relro >> + export LDFLAGS >> + CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' >> + export CFLAGS >> + CXXFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8' >> + export CXXFLAGS >> + FFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -I/usr/lib64/gfortran/modules' >> + export FFLAGS >> + FCFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -I/usr/lib64/gfortran/modules' >> + export FCFLAGS >> + LDFLAGS=-Wl,-z,relro >> + export LDFLAGS >> emacs is SPEC file is compiled so that in %prep section is: - setup - >> patching some files - ./autogen.sh %build section for emacs-gtk: - >> ./configure is called. - make bootstrap - make %build section for >> emacs-nox is: - ./configure is called. - make Is this correct? >> Compilator has settings like: >> CC='gcc -std=gnu99' CFLAGS='-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32' CPPFLAGS='' \ >> LDFLAGS='-Wl,-z,relro -Wl,-znocombreloc ' MAKE='make' >> gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/builddir/build/BUILD/emacs-24.3/lib -I../src -I/builddir/build/BUILD/emacs-24.3/src -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32 -c /builddir/build/BUILD/emacs-24.3/lib/allocator.c >> linker has a settings like: >> gcc -std=gnu99 -I. -I../src -I../lib -I/builddir/build/BUILD/emacs-24.3/lib-src -I/builddir/build/BUILD/emacs-24.3/lib-src/../src -I/builddir/build/BUILD/emacs-24.3/lib-src/../lib -Wl,-z,relro -Wl,-znocombreloc -DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power7 -mtune=power8 -flto=32 -DEMACS_NAME="\"GNU Emacs\"" \ >> -DVERSION="\"24.3\"" /builddir/build/BUILD/emacs-24.3/lib-src/etags.c \ >> regex.o ../lib/libgnu.a -o etags >> >> Before segmentation fault build log is: >> if test "no" = "yes"; then \ >> rm -f bootstrap-emacs; \ >> ln temacs bootstrap-emacs; \ >> else \ >> `/bin/pwd`/temacs --batch --load loadup bootstrap || exit 1; \ >> test "X" = X || -zex emacs; \ >> mv -f emacs bootstrap-emacs; \ >> fi >> Loading loadup.el (source)... >> Using load-path (/builddir/build/BUILD/emacs-24.3/lisp /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp /builddir/build/BUILD/emacs-24.3/lisp/language /builddir/build/BUILD/emacs-24.3/lisp/international /builddir/build/BUILD/emacs-24.3/lisp/textmodes) >> Loading emacs-lisp/byte-run (source)... >> Loading emacs-lisp/backquote (source)... >> [ .. snip ...]dir/build/BUILD/emacs-24.3/lisp/vc/vc-hooks.el (source)... >> Loading /builddir/build/BUILD/emacs-24.3/lisp/vc/ediff-hook.el (source)... >> Loading /builddir/build/BUILD/emacs-24.3/lisp/tooltip.el (source)... >> Finding pointers to doc strings... >> Finding pointers to doc strings...done >> Dumping under the name emacs >> emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/build-gtk/src/temacs >> make[2]: *** [bootstrap-emacs] Error 1 >> make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' >> make[1]: *** [src] Error 2 >> Part of code which is relevant is from src/unexelf.c: for (n = >> new_file_h->e_phnum; --n >= 0; ) { /* Compute maximum of >> all requirements for alignment of section. */ ElfW (Word) >> alignment = (NEW_PROGRAM_H (n)).p_align; if ((OLD_SECTION_H >> (old_bss_index)).sh_addralign > alignment) alignment = >> OLD_SECTION_H (old_bss_index).sh_addralign; #ifdef __sgi /* >> According to r02kar <at> x4u2.desy.de (Karsten Kuenne) and >> oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we always get >> "Program segment above .bss" when dumping when the >> executable doesn't have an sbss section. */ if (old_sbss_index >> != -1) #endif /* __sgi */ if (NEW_PROGRAM_H (n).p_vaddr + >> NEW_PROGRAM_H (n).p_filesz > (old_sbss_index == -1 ? >> old_bss_addr : round_up (old_bss_addr, alignment))) *fatal >> ("Program segment above .bss in %s", old_name);* if >> (NEW_PROGRAM_H (n).p_type == PT_LOAD If I understand there shouldn't >> be a problem on ppc64le. But I don't understand a code at all. >> -- >> Petr Hracek >> Software Engineer >> Developer Experience >> Red Hat, Inc >> Mob: +420777056169 >> email:phracek <at> redhat.com > -- > Petr Hracek > Software Engineer > Developer Experience > Red Hat, Inc > Mob: +420777056169 > email:phracek <at> redhat.com -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 09:34:01 GMT) Full text and rfc822 format available.Message #43 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 12:34:00 +0300
> From: Petr Hracek <phracek <at> redhat.com> > Date: Wed, 23 Sep 2015 10:06:50 +0200 > > Is there any possibility how to suppress dumping emacs? > Shall I add something to ./configure script or even to make? You could try adding -DCANNOT_DUMP=1 to preprocessor command-line switches. But it would be much better if you try figuring out why it segfaults, then we might be able to come up with a solution that preserves the dumping capability.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 11:01:02 GMT) Full text and rfc822 format available.Message #46 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 13:00:03 +0200
[Message part 1 (text/plain, inline)]
On 09/23/2015 11:34 AM, Eli Zaretskii wrote: >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 23 Sep 2015 10:06:50 +0200 >> >> Is there any possibility how to suppress dumping emacs? >> Shall I add something to ./configure script or even to make? > You could try adding -DCANNOT_DUMP=1 to preprocessor command-line > switches. But it would be much better if you try figuring out why it > segfaults, then we might be able to come up with a solution that > preserves the dumping capability. Well, I will try to summarize it. And sorry for my english. I would like to build emacs also under ppc64le architecture for RHEL-7 system All other architecture seems to be working well. I have add a patch to our emacs downstream package which comments row http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n869 so that I did not see message like: Dumping under the name emacs emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/build-gtk/src/temacs make[2]: *** [bootstrap-emacs] Error 1 Patch looks like: |diff --git a/src/unexelf.c b/src/unexelf.c index d365940..69b0237 100644 --- a/src/unexelf.c +++ b/src/unexelf.c @@ -853,11 +853,15 @@ unexec (const char *new_name, const char *old_name) when the executable doesn't have an sbss section. */ if (old_sbss_index != -1) #endif /* __sgi */ - if (NEW_PROGRAM_H (n).p_vaddr + NEW_PROGRAM_H (n).p_filesz + // This was commented out because we are not able to build it + // under PPC64LE. + /*if (NEW_PROGRAM_H (n).p_vaddr + NEW_PROGRAM_H (n).p_filesz > (old_sbss_index == -1 ? old_bss_addr : round_up (old_bss_addr, alignment))) fatal ("Program segment above .bss in %s\n", old_name, 0); + */ + if (NEW_PROGRAM_H (n).p_type == PT_LOAD && (round_up ((NEW_PROGRAM_H (n)).p_vaddr @@ -866,8 +870,8 @@ unexec (const char *new_name, const char *old_name) == round_up (old_bss_addr, alignment))) break; } - if (n < 0) - fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); + //if (n < 0) + //fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); /* Make sure that the size includes any padding before the old .bss section. */| And I KNOW that this is TOTALLY wrong and weird workaround, though. 1) binutils-2.23.52.0.1-30.ael7b.ppc64le all works fine and emacs is packaged on ppc64le architecture gcc-4.8.3-9.el7.ppc64le glibc-2.17-102.el7.ppc64le 2) binutils-2.23.52.0.1-44.el7.ppc64le with "weird" patch I am able to packaged emacs on ppc64le architecture gcc-4.8.3-9.el7.ppc64le glibc-2.17-85.ael7b.ppc64le Nowadays with binutils-2.23.52.0.1-54 I am not able to build emacs at all. What I can do is to add several tracking information like traces which can be added to source code during the build. Any advice would be welcome and I will do it really soon. Question from my side, how to add traces so that I am able to see data? I have seen that there were several patches done by Paul Eggert like: http://git.savannah.gnu.org/cgit/emacs.git/commit/src/unexelf.c?h=emacs-24&id=f269bc61c10320cf020e0751e6643fbbb5f059a2 http://git.savannah.gnu.org/cgit/emacs.git/commit/src/unexelf.c?h=emacs-24&id=5ee94506f6ee4f5142bfeabc9409f95e370d38e3 But I don't think that there are relevant. Unfortunately I don't have a deep knowledge about ELF and .data or .bss segments which are mentioned in file unexelf.c My colleagues told me if there is any possibility to remove unexelf.c file and replace them with "mapping a file with pre-compiled byte code." But I don't understand it at all. Sorry folks. I would like to send a patch to upstream for solving it but I don't have an idea how. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 11:15:02 GMT) Full text and rfc822 format available.Message #49 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 14:14:22 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Wed, 23 Sep 2015 13:00:03 +0200 > > Nowadays with binutils-2.23.52.0.1-54 I am not able to build emacs at all. What does this mean, exactly? Does Emacs crash during dumping? If so, a good starting point is to show the backtrace from the crash, and the values of the variables involved in the crash. > What I can do is to add several tracking information like traces which can be > added to source code during the build. > Any advice would be welcome and I will do it really soon. > Question from my side, how to add traces so that I am able to see data? If you run Emacs under GDB, you don't need any traces: GDB allows to look at variables without any tracing code.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 12:11:01 GMT) Full text and rfc822 format available.Message #52 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 14:10:39 +0200
[Message part 1 (text/plain, inline)]
On 09/23/2015 11:34 AM, Eli Zaretskii wrote: >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 23 Sep 2015 10:06:50 +0200 >> >> Is there any possibility how to suppress dumping emacs? >> Shall I add something to ./configure script or even to make? > You could try adding -DCANNOT_DUMP=1 to preprocessor command-line > switches. But it would be much better if you try figuring out why it > segfaults, then we might be able to come up with a solution that > preserves the dumping capability. Thanks. with adding -D skips DUMPing but failed from another reason. cd ../lisp; make -w update-subdirs make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' cd /builddir/build/BUILD/emacs-24.3/lisp; subdirs=`find . -type d -print`; for file in $subdirs; do case $file in */.* | */.*/* | */=* | */cedet* ) ;; *) wins="$wins $file" ;; esac; done; \ for file in $wins; do \ /builddir/build/BUILD/emacs-24.3/build-aux/update-subdirs $file; \ done; make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' if test "no" = "yes"; then \ rm -f bootstrap-emacs; \ ln temacs bootstrap-emacs; \ else \ `/bin/pwd`/temacs --batch --load loadup bootstrap || exit 1; \ test "X" = X || -zex emacs; \ mv -f emacs bootstrap-emacs; \ fi Warning: Lisp directory `/usr/share/emacs/24.3/lisp' does not exist. Warning: Lisp directory `/usr/share/emacs/24.3/leim' does not exist. Cannot open load file: loadup.el make[2]: *** [bootstrap-emacs] Error 1 make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' make[1]: *** [src] Error 2 make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk' make: *** [bootstrap] Error 2 What's the problem? -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 12:12:01 GMT) Full text and rfc822 format available.Message #55 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 14:11:51 +0200
On 09/23/2015 01:14 PM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 23 Sep 2015 13:00:03 +0200 >> >> Nowadays with binutils-2.23.52.0.1-54 I am not able to build emacs at all. > What does this mean, exactly? Does Emacs crash during dumping? If > so, a good starting point is to show the backtrace from the crash, and > the values of the variables involved in the crash. > >> What I can do is to add several tracking information like traces which can be >> added to source code during the build. >> Any advice would be welcome and I will do it really soon. >> Question from my side, how to add traces so that I am able to see data? > If you run Emacs under GDB, you don't need any traces: GDB allows to > look at variables without any tracing code. I will investigate is a bit more. How to call dump when emacs or temacs is buildup? Machine is already prepared. I have seen some code in loadup.el lisp file and would like to do it from command line. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 12:22:02 GMT) Full text and rfc822 format available.Message #58 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 15:21:49 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Wed, 23 Sep 2015 14:10:39 +0200 > > Thanks. with adding -D skips DUMPing but failed from another reason. > cd ../lisp; make -w update-subdirs > make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' > cd /builddir/build/BUILD/emacs-24.3/lisp; subdirs=`find . -type d -print`; for file in $subdirs; do case $file in */.* | */.*/* | */=* | */cedet* ) ;; *) wins="$wins $file" ;; esac; done; \ > for file in $wins; do \ > /builddir/build/BUILD/emacs-24.3/build-aux/update-subdirs $file; \ > done; > make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' > if test "no" = "yes"; then \ > rm -f bootstrap-emacs; \ > ln temacs bootstrap-emacs; \ > else \ > `/bin/pwd`/temacs --batch --load loadup bootstrap || exit 1; \ > test "X" = X || -zex emacs; \ > mv -f emacs bootstrap-emacs; \ > fi > Warning: Lisp directory `/usr/share/emacs/24.3/lisp' does not exist. > Warning: Lisp directory `/usr/share/emacs/24.3/leim' does not exist. > Cannot open load file: loadup.el > make[2]: *** [bootstrap-emacs] Error 1 > make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' > make[1]: *** [src] Error 2 > make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk' > make: *** [bootstrap] Error 2 > What's the problem? It says what's the problem: it cannot find loadup.el, for some reason. Why are you building Emacs 24.3, and not some newer version?
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 12:24:02 GMT) Full text and rfc822 format available.Message #61 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 15:23:42 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Wed, 23 Sep 2015 14:11:51 +0200 > > > If you run Emacs under GDB, you don't need any traces: GDB allows to > > look at variables without any tracing code. > I will investigate is a bit more. > How to call dump when emacs or temacs is buildup? > Machine is already prepared. > I have seen some code in loadup.el lisp file and would like to do it > from command line. Like this: $ cd src $ gdb ./temacs (gdb) r --batch --load loadup bootstrap (This uses the command that failed.)
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 13:11:02 GMT) Full text and rfc822 format available.Message #64 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 15:10:38 +0200
On 09/23/2015 02:21 PM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 23 Sep 2015 14:10:39 +0200 >> >> Thanks. with adding -D skips DUMPing but failed from another reason. >> cd ../lisp; make -w update-subdirs >> make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' >> cd /builddir/build/BUILD/emacs-24.3/lisp; subdirs=`find . -type d -print`; for file in $subdirs; do case $file in */.* | */.*/* | */=* | */cedet* ) ;; *) wins="$wins $file" ;; esac; done; \ >> for file in $wins; do \ >> /builddir/build/BUILD/emacs-24.3/build-aux/update-subdirs $file; \ >> done; >> make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' >> if test "no" = "yes"; then \ >> rm -f bootstrap-emacs; \ >> ln temacs bootstrap-emacs; \ >> else \ >> `/bin/pwd`/temacs --batch --load loadup bootstrap || exit 1; \ >> test "X" = X || -zex emacs; \ >> mv -f emacs bootstrap-emacs; \ >> fi >> Warning: Lisp directory `/usr/share/emacs/24.3/lisp' does not exist. >> Warning: Lisp directory `/usr/share/emacs/24.3/leim' does not exist. >> Cannot open load file: loadup.el >> make[2]: *** [bootstrap-emacs] Error 1 >> make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' >> make[1]: *** [src] Error 2 >> make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk' >> make: *** [bootstrap] Error 2 >> What's the problem? > It says what's the problem: it cannot find loadup.el, for some reason. > > Why are you building Emacs 24.3, and not some newer version? Because of nowadays rebase is not allow. Sorry? But I will try it to build emacs-24.5 on ppc64le, though. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 13:39:01 GMT) Full text and rfc822 format available.Message #67 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 15:38:04 +0200
On 09/23/2015 02:21 PM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 23 Sep 2015 14:10:39 +0200 >> >> Thanks. with adding -D skips DUMPing but failed from another reason. >> cd ../lisp; make -w update-subdirs >> make[3]: Entering directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' >> cd /builddir/build/BUILD/emacs-24.3/lisp; subdirs=`find . -type d -print`; for file in $subdirs; do case $file in */.* | */.*/* | */=* | */cedet* ) ;; *) wins="$wins $file" ;; esac; done; \ >> for file in $wins; do \ >> /builddir/build/BUILD/emacs-24.3/build-aux/update-subdirs $file; \ >> done; >> make[3]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/lisp' >> if test "no" = "yes"; then \ >> rm -f bootstrap-emacs; \ >> ln temacs bootstrap-emacs; \ >> else \ >> `/bin/pwd`/temacs --batch --load loadup bootstrap || exit 1; \ >> test "X" = X || -zex emacs; \ >> mv -f emacs bootstrap-emacs; \ >> fi >> Warning: Lisp directory `/usr/share/emacs/24.3/lisp' does not exist. >> Warning: Lisp directory `/usr/share/emacs/24.3/leim' does not exist. >> Cannot open load file: loadup.el >> make[2]: *** [bootstrap-emacs] Error 1 >> make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk/src' >> make[1]: *** [src] Error 2 >> make[1]: Leaving directory `/builddir/build/BUILD/emacs-24.3/build-gtk' >> make: *** [bootstrap] Error 2 >> What's the problem? > It says what's the problem: it cannot find loadup.el, for some reason. > > Why are you building Emacs 24.3, and not some newer version? Hmm, message is the same even with emacs-24.5. Of course with -DCANNOT_DUMP=1 make[3]: Entering directory `/home/phracek/rpmbuild/BUILD/emacs-24.5/build-gtk/lisp' for file in `find ../../lisp -type d -print`; do case $file in ../../lisp*/cedet* | ../../lisp*/leim* ) ;; *) wins="$wins${wins:+ }$file" ;; esac; done; \ for file in $wins; do \ ../../lisp/../build-aux/update-subdirs $file; \ done; make[3]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.5/build-gtk/lisp' if test "no" = "yes"; then \ rm -f bootstrap-emacs; \ ln temacs bootstrap-emacs; \ else \ ./temacs --batch --load loadup bootstrap || exit 1; \ test "X" = X || -zex emacs; \ mv -f emacs bootstrap-emacs; \ fi Warning: Lisp directory `/usr/share/emacs/24.5/lisp': No such file or directory Cannot open load file: No such file or directory, loadup.el make[2]: *** [bootstrap-emacs] Error 1 make[2]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.5/build-gtk/src' make[1]: *** [src] Error 2 -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 13:58:02 GMT) Full text and rfc822 format available.Message #70 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 16:57:41 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Wed, 23 Sep 2015 15:38:04 +0200 > > Hmm, message is the same even with emacs-24.5. Of course with > -DCANNOT_DUMP=1 > > make[3]: Entering directory > `/home/phracek/rpmbuild/BUILD/emacs-24.5/build-gtk/lisp' > for file in `find ../../lisp -type d -print`; do case $file in > ../../lisp*/cedet* | ../../lisp*/leim* ) ;; *) wins="$wins${wins:+ > }$file" ;; esac; done; \ > for file in $wins; do \ > ../../lisp/../build-aux/update-subdirs $file; \ > done; > make[3]: Leaving directory > `/home/phracek/rpmbuild/BUILD/emacs-24.5/build-gtk/lisp' > if test "no" = "yes"; then \ > rm -f bootstrap-emacs; \ > ln temacs bootstrap-emacs; \ > else \ > ./temacs --batch --load loadup bootstrap || exit 1; \ > test "X" = X || -zex emacs; \ > mv -f emacs bootstrap-emacs; \ > fi > Warning: Lisp directory `/usr/share/emacs/24.5/lisp': No such file or > directory > Cannot open load file: No such file or directory, loadup.el > make[2]: *** [bootstrap-emacs] Error 1 > make[2]: Leaving directory > `/home/phracek/rpmbuild/BUILD/emacs-24.5/build-gtk/src' > make[1]: *** [src] Error 2 Are you building inside the source tree? Emacs doesn't support building outside the source tree very well.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 17:27:02 GMT) Full text and rfc822 format available.Message #73 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Glenn Morris <rgm <at> gnu.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Petr Hracek <phracek <at> redhat.com>, 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 13:25:55 -0400
>> Of course with -DCANNOT_DUMP=1 You can't just do that, since the Makefiles need the value too. IIRC, you may have to hack the configure script to set CANNOT_DUMP = yes. >> if test "no" = "yes"; then \ Eg here we see that src/Makefile thinks CANNOT_DUMP = no. > Are you building inside the source tree? Emacs doesn't support > building outside the source tree very well. ? It works just fine AFAIK. What does not work very well is CANNOT_DUMP. It's very much a last resort, and I would not be surprised to learn that the Makefiles are broken for this case, since it gets little to no testing. But beyond that the experience of the Nextstep port IMO shows that CANNOT_DUMP builds tend to be flaky (not to mention sloooow).
Glenn Morris <rgm <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Wed, 23 Sep 2015 17:32:01 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 23 Sep 2015 17:48:02 GMT) Full text and rfc822 format available.Message #78 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Glenn Morris <rgm <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 23 Sep 2015 13:47:21 -0400
Petr Hracek wrote: > (https://bugzilla.redhat.com/show_bug.cgi?id=1247126) > it segfaults each time. Now. > What do you think about it? I think that is yet another private bug. (RH really do go overboard with that IMO.)
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 24 Sep 2015 11:05:02 GMT) Full text and rfc822 format available.Message #81 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 24 Sep 2015 13:04:30 +0200
On 09/23/2015 02:23 PM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 23 Sep 2015 14:11:51 +0200 >> >>> If you run Emacs under GDB, you don't need any traces: GDB allows to >>> look at variables without any tracing code. >> I will investigate is a bit more. >> How to call dump when emacs or temacs is buildup? >> Machine is already prepared. >> I have seen some code in loadup.el lisp file and would like to do it >> from command line. > Like this: > > $ cd src > $ gdb ./temacs > (gdb) r --batch --load loadup bootstrap > > (This uses the command that failed.) When the dumping failed with message "Program segment above .bss" then I have add a some debug info. Hopefully It helps. Dumping under the name emacs Looking for .bss - found .interp Looking for .bss - found .note.ABI-tag Looking for .bss - found .note.gnu.build-id Looking for .bss - found .gnu.hash Looking for .bss - found .dynsym Looking for .bss - found .dynstr Looking for .bss - found .gnu.version Looking for .bss - found .gnu.version_r Looking for .bss - found .rela.toc Looking for .bss - found .rela.plt Looking for .bss - found .init Looking for .bss - found .text Looking for .bss - found .fini Looking for .bss - found .rodata Looking for .bss - found .eh_frame_hdr Looking for .bss - found .eh_frame Looking for .bss - found .data.rel.ro Looking for .bss - found .dynamic Looking for .bss - found .got Looking for .bss - found .plt Looking for .bss - found .data Looking for .bss - found .bss Looking for .sbss - found .interp Looking for .sbss - found .note.ABI-tag Looking for .sbss - found .note.gnu.build-id Looking for .sbss - found .gnu.hash Looking for .sbss - found .dynsym Looking for .sbss - found .dynstr Looking for .sbss - found .gnu.version Looking for .sbss - found .gnu.version_r Looking for .sbss - found .rela.toc Looking for .sbss - found .rela.plt Looking for .sbss - found .init Looking for .sbss - found .text Looking for .sbss - found .fini Looking for .sbss - found .rodata Looking for .sbss - found .eh_frame_hdr Looking for .sbss - found .eh_frame Looking for .sbss - found .data.rel.ro Looking for .sbss - found .dynamic Looking for .sbss - found .got Looking for .sbss - found .plt Looking for .sbss - found .data Looking for .sbss - found .bss Looking for .sbss - found .comment Looking for .sbss - found .debug_aranges Looking for .sbss - found .debug_info Looking for .sbss - found .debug_abbrev Looking for .sbss - found .debug_line Looking for .sbss - found .debug_str Looking for .sbss - found .debug_loc Looking for .sbss - found .debug_ranges Looking for .sbss - found .shstrtab Looking for .sbss - found .symtab Looking for .sbss - found .strtab Looking for .plt - found .interp Looking for .plt - found .note.ABI-tag Looking for .plt - found .note.gnu.build-id Looking for .plt - found .gnu.hash Looking for .plt - found .dynsym Looking for .plt - found .dynstr Looking for .plt - found .gnu.version Looking for .plt - found .gnu.version_r Looking for .plt - found .rela.toc Looking for .plt - found .rela.plt Looking for .plt - found .init Looking for .plt - found .text Looking for .plt - found .fini Looking for .plt - found .rodata Looking for .plt - found .eh_frame_hdr Looking for .plt - found .eh_frame Looking for .plt - found .data.rel.ro Looking for .plt - found .dynamic Looking for .plt - found .got Looking for .plt - found .plt Looking for .data - found .interp Looking for .data - found .note.ABI-tag Looking for .data - found .note.gnu.build-id Looking for .data - found .gnu.hash Looking for .data - found .dynsym Looking for .data - found .dynstr Looking for .data - found .gnu.version Looking for .data - found .gnu.version_r Looking for .data - found .rela.toc Looking for .data - found .rela.plt Looking for .data - found .init Looking for .data - found .text Looking for .data - found .fini Looking for .data - found .rodata Looking for .data - found .eh_frame_hdr Looking for .data - found .eh_frame Looking for .data - found .data.rel.ro Looking for .data - found .dynamic Looking for .data - found .got Looking for .data - found .plt Looking for .data - found .data old_bss_index 22 old_bss_addr 102b0000 old_bss_size 89798 old_bss_offset 2a0000 new_bss_addr 115d0000 new_data2_addr 102b0000 new_data2_size 1320000 new_data2_offset 2a0000 new_data2_incr 1320000 Old section offset da1ac8 Old section count 34 New section offset 20c1ac8 New section count 35 new_file_h->e_phnum 9 old_sbss_index ffffffff old_bss_addr 102b0000 alignment 10 NEW_PROGRAM_H (n).p_vaddr 102af638 NEW_PROGRAM_H (n).p_filesz 9c8 (OLD_SECTION_H (old_bss_index)).sh_addralign 10 old_sbss_index ffffffff old_bss_addr 102b0000 alignment 10 NEW_PROGRAM_H (n).p_vaddr 0 NEW_PROGRAM_H (n).p_filesz 0 (OLD_SECTION_H (old_bss_index)).sh_addralign 10 old_sbss_index ffffffff old_bss_addr 102b0000 alignment 10 NEW_PROGRAM_H (n).p_vaddr 10269510 NEW_PROGRAM_H (n).p_filesz 73cc (OLD_SECTION_H (old_bss_index)).sh_addralign 10 old_sbss_index ffffffff old_bss_addr 102b0000 alignment 10 NEW_PROGRAM_H (n).p_vaddr 1000024c NEW_PROGRAM_H (n).p_filesz 44 (OLD_SECTION_H (old_bss_index)).sh_addralign 10 old_sbss_index ffffffff old_bss_addr 102b0000 alignment 10 NEW_PROGRAM_H (n).p_vaddr 102afa68 NEW_PROGRAM_H (n).p_filesz 440 (OLD_SECTION_H (old_bss_index)).sh_addralign 10 old_sbss_index ffffffff old_bss_addr 102b0000 alignment 10000 NEW_PROGRAM_H (n).p_vaddr 102af638 NEW_PROGRAM_H (n).p_filesz 2c9756 (OLD_SECTION_H (old_bss_index)).sh_addralign 10 emacs: Program segment above .bss in /home/phracek/rpmbuild/BUILD/emacs-24.3/build-gtk/src/temacs Some useful information taken by command readelf: readelf -h ./temacs ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: PowerPC64 Version: 0x1 Entry point address: 0x100184f0 Start of program headers: 64 (bytes into file) Start of section headers: 14289272 (bytes into file) Flags: 0x2, abiv2 Size of this header: 64 (bytes) Size of program headers: 56 (bytes) Number of program headers: 9 Size of section headers: 64 (bytes) Number of section headers: 34 Section header string table index: 31 readelf -l ./temacs Elf file type is EXEC (Executable file) Entry point 0x100184f0 There are 9 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align PHDR 0x0000000000000040 0x0000000010000040 0x0000000010000040 0x00000000000001f8 0x00000000000001f8 R E 8 INTERP 0x0000000000000238 0x0000000010000238 0x0000000010000238 0x0000000000000011 0x0000000000000011 R 1 [Requesting program interpreter: /lib64/ld64.so.2] LOAD 0x0000000000000000 0x0000000010000000 0x0000000010000000 0x000000000029e6d8 0x000000000029e6d8 R E 10000 LOAD 0x000000000029f640 0x00000000102af640 0x00000000102af640 0x00000000002c974e 0x0000000000350e90 RW 10000 DYNAMIC 0x000000000029fa70 0x00000000102afa70 0x00000000102afa70 0x0000000000000440 0x0000000000000440 RW 8 NOTE 0x000000000000024c 0x000000001000024c 0x000000001000024c 0x0000000000000044 0x0000000000000044 R 4 GNU_EH_FRAME 0x0000000000268fe0 0x0000000010268fe0 0x0000000010268fe0 0x00000000000073cc 0x00000000000073cc R 4 GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RW 10 GNU_RELRO 0x000000000029f640 0x00000000102af640 0x00000000102af640 0x00000000000009c0 0x00000000000009c0 R 1 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.toc .rela.plt .init .text .fini .rodata .eh_frame_hdr .eh_frame 03 .data.rel.ro .dynamic .got .plt .data .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 .eh_frame_hdr 07 08 .data.rel.ro .dynamic .got readelf -S ./temacs There are 34 section headers, starting at offset 0xda0978: Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align [ 0] NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 1] .interp PROGBITS 0000000010000238 00000238 0000000000000011 0000000000000000 A 0 0 1 [ 2] .note.ABI-tag NOTE 000000001000024c 0000024c 0000000000000020 0000000000000000 A 0 0 4 [ 3] .note.gnu.build-i NOTE 000000001000026c 0000026c 0000000000000024 0000000000000000 A 0 0 4 [ 4] .gnu.hash GNU_HASH 0000000010000290 00000290 00000000000000dc 0000000000000000 A 5 0 8 [ 5] .dynsym DYNSYM 0000000010000370 00000370 00000000000063f0 0000000000000018 A 6 1 8 [ 6] .dynstr STRTAB 0000000010006760 00006760 0000000000004ae9 0000000000000000 A 0 0 1 [ 7] .gnu.version VERSYM 000000001000b24a 0000b24a 0000000000000854 0000000000000002 A 5 0 2 [ 8] .gnu.version_r VERNEED 000000001000baa0 0000baa0 0000000000000160 0000000000000000 A 6 10 8 [ 9] .rela.toc RELA 000000001000bc00 0000bc00 0000000000000330 0000000000000018 A 5 0 8 [10] .rela.plt RELA 000000001000bf30 0000bf30 00000000000060d8 0000000000000018 A 5 20 8 [11] .init PROGBITS 0000000010012020 00012020 000000000000004c 0000000000000000 AX 0 0 32 [12] .text PROGBITS 0000000010012080 00012080 0000000000237140 0000000000000000 AX 0 0 32 [13] .fini PROGBITS 00000000102491c0 002491c0 0000000000000024 0000000000000000 AX 0 0 4 [14] .rodata PROGBITS 00000000102491e8 002491e8 000000000001fdf8 0000000000000000 A 0 0 8 [15] .eh_frame_hdr PROGBITS 0000000010268fe0 00268fe0 00000000000073cc 0000000000000000 A 0 0 4 [16] .eh_frame PROGBITS 00000000102703b0 002703b0 000000000002e328 0000000000000000 A 0 0 8 [17] .data.rel.ro PROGBITS 00000000102af640 0029f640 0000000000000430 0000000000000000 WA 0 0 8 [18] .dynamic DYNAMIC 00000000102afa70 0029fa70 0000000000000440 0000000000000010 WA 6 0 8 [19] .got PROGBITS 00000000102afeb0 0029feb0 0000000000000150 0000000000000008 WA 0 0 8 [20] .plt NOBITS 00000000102b0000 002a0000 0000000000002058 0000000000000008 WA 0 0 8 [21] .data PROGBITS 00000000102b2058 002a2058 00000000002c6d36 0000000000000000 WA 0 0 8 [22] .bss NOBITS 0000000010578d90 00568d8e 0000000000087740 0000000000000000 WA 0 0 16 [23] .comment PROGBITS 0000000000000000 00568d8e 0000000000000058 0000000000000001 MS 0 0 1 [24] .debug_aranges PROGBITS 0000000000000000 00568de6 0000000000001350 0000000000000000 0 0 1 [25] .debug_info PROGBITS 0000000000000000 0056a136 00000000003aeadb 0000000000000000 0 0 1 [26] .debug_abbrev PROGBITS 0000000000000000 00918c11 0000000000021b05 0000000000000000 0 0 1 [27] .debug_line PROGBITS 0000000000000000 0093a716 000000000007d970 0000000000000000 0 0 1 [28] .debug_str PROGBITS 0000000000000000 009b8086 000000000004911a 0000000000000001 MS 0 0 1 [29] .debug_loc PROGBITS 0000000000000000 00a011a0 00000000003277c9 0000000000000000 0 0 1 [30] .debug_ranges PROGBITS 0000000000000000 00d28969 0000000000077ec0 0000000000000000 0 0 1 [31] .shstrtab STRTAB 0000000000000000 00da0829 0000000000000148 0000000000000000 0 0 1 [32] .symtab SYMTAB 0000000000000000 00da11f8 0000000000037bc0 0000000000000018 33 5415 8 [33] .strtab STRTAB 0000000000000000 00dd8db8 000000000002e23b 0000000000000000 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific) -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 24 Sep 2015 15:33:01 GMT) Full text and rfc822 format available.Message #84 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 24 Sep 2015 18:32:45 +0300
> From: Petr Hracek <phracek <at> redhat.com> > Date: Thu, 24 Sep 2015 13:04:30 +0200 > > emacs: Program segment above .bss in I'm confused: earlier you said that you've commented out this error, and you still couldn't build Emacs with the latest Binutils. What is the problem in that case?
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 24 Sep 2015 17:57:01 GMT) Full text and rfc822 format available.Message #87 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 24 Sep 2015 19:56:32 +0200
On 09/24/2015 05:32 PM, Eli Zaretskii wrote: >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Thu, 24 Sep 2015 13:04:30 +0200 >> >> emacs: Program segment above .bss in > I'm confused: earlier you said that you've commented out this error, > and you still couldn't build Emacs with the latest Binutils. What is > the problem in that case? Good point. I didn't use a workaround in the latest mail. I use the clear emacs tarball and added some debug information so that we are able to detect and hopefully correct the problem. I would like to solve the problem. Not to use workaround :) The message emacs: Program segment above .bss causes fails and emacs is not buildable still. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Sat, 26 Sep 2015 07:59:02 GMT) Full text and rfc822 format available.Message #90 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Sat, 26 Sep 2015 10:58:15 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Thu, 24 Sep 2015 19:56:32 +0200 > > On 09/24/2015 05:32 PM, Eli Zaretskii wrote: > >> From: Petr Hracek <phracek <at> redhat.com> > >> Date: Thu, 24 Sep 2015 13:04:30 +0200 > >> > >> emacs: Program segment above .bss in > > I'm confused: earlier you said that you've commented out this error, > > and you still couldn't build Emacs with the latest Binutils. What is > > the problem in that case? > Good point. > I didn't use a workaround in the latest mail. I use the clear emacs > tarball and added some > debug information so that we are able to detect and hopefully correct > the problem. > I would like to solve the problem. Not to use workaround :) > > The message emacs: Program segment above .bss causes fails > and emacs is not buildable still. Can you show the same series of messages emitted when Emacs is built with an older version of Binutils?
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 29 Sep 2015 15:06:01 GMT) Full text and rfc822 format available.Message #93 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Florian Weimer <fw <at> deneb.enyo.de> To: Glenn Morris <rgm <at> gnu.org> Cc: Petr Hracek <phracek <at> redhat.com>, Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 29 Sep 2015 10:15:14 +0200
* Glenn Morris: > Petr Hracek wrote: > >> (https://bugzilla.redhat.com/show_bug.cgi?id=1247126) >> it segfaults each time. Now. >> What do you think about it? > > I think that is yet another private bug. I'm afraid I'm not sure if we can open this bug it was used for external communication with a partner. This one deals with the same issue, is public, and has some additional technical discussion: <https://bugzilla.redhat.com/show_bug.cgi?id=1251698>
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 30 Sep 2015 10:40:02 GMT) Full text and rfc822 format available.Message #96 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 30 Sep 2015 12:39:47 +0200
[Message part 1 (text/plain, inline)]
On 09/26/2015 09:58 AM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Thu, 24 Sep 2015 19:56:32 +0200 >> >> On 09/24/2015 05:32 PM, Eli Zaretskii wrote: >>>> From: Petr Hracek <phracek <at> redhat.com> >>>> Date: Thu, 24 Sep 2015 13:04:30 +0200 >>>> >>>> emacs: Program segment above .bss in >>> I'm confused: earlier you said that you've commented out this error, >>> and you still couldn't build Emacs with the latest Binutils. What is >>> the problem in that case? >> Good point. >> I didn't use a workaround in the latest mail. I use the clear emacs >> tarball and added some >> debug information so that we are able to detect and hopefully correct >> the problem. >> I would like to solve the problem. Not to use workaround :) >> >> The message emacs: Program segment above .bss causes fails >> and emacs is not buildable still. > Can you show the same series of messages emitted when Emacs is built > with an older version of Binutils? My deep observation with emacs package and binutils: 1) binutils-2.23.52.0.1-30.el7_1.2.ppc64le.rpm works completely. 2) binutils-2.23.52.0.1-40.el7.ppc64le.rpm works if row http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n869 is suppressed. With newer version of binutils I can see the same series:( like: Dumping under the name emacs emacs: Program segment above .bss in /builddir/build/BUILD/emacs-24.3/src/temacs make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/src' make[2]: *** [bootstrap-emacs] Error 1 I have collected list of commits and messages against upstream: #1200138 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=43a8475ca01b676fb764aaed0c4ed1cc16fc3c87 #1200138 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=eec2f3ed9f053653ed5d629eb50e08e3ee61e9bd #1203449 https://bugzilla.redhat.com/attachment.cgi?id=1003499 # 1175624 .opd https://sourceware.org/ml/binutils/2015-01/msg00227.html # 1175624 .got which implies .sdata, .sbss, .plt .iplt and .branch_lt also have to move: https://sourceware.org/ml/binutils/2015-01/msg00228.html # 1175624 And .toc1: https://sourceware.org/ml/binutils/2015-01/msg00232.html #1194164 func <at> localentry expressions, which was added to FSF binutils with git commit 45965137 #1183838 https://bugzilla.redhat.com/attachment.cgi?id=986213 # 1172766 https://bugzilla.redhat.com/attachment.cgi?id=989450 I hope it helps you a bit. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 01 Oct 2015 07:45:02 GMT) Full text and rfc822 format available.Message #99 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 01 Oct 2015 10:43:15 +0300
> From: Petr Hracek <phracek <at> redhat.com> > Date: Wed, 30 Sep 2015 12:39:47 +0200 > Cc: 20614 <at> debbugs.gnu.org > > My deep observation with emacs package and binutils: > 1) binutils-2.23.52.0.1-30.el7_1.2.ppc64le.rpm works completely. > 2) binutils-2.23.52.0.1-40.el7.ppc64le.rpm works if row > http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n869 > is suppressed. > > With newer version of binutils I can see the same series:( > like: > Dumping under the name emacs > emacs: Program segment above .bss in > /builddir/build/BUILD/emacs-24.3/src/temacs > make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/src' > make[2]: *** [bootstrap-emacs] Error 1 > > I have collected list of commits and messages against upstream: > #1200138 > https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=43a8475ca01b676fb764aaed0c4ed1cc16fc3c87 #1200138 > https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=eec2f3ed9f053653ed5d629eb50e08e3ee61e9bd #1203449 > https://bugzilla.redhat.com/attachment.cgi?id=1003499 # 1175624 .opd > https://sourceware.org/ml/binutils/2015-01/msg00227.html > # 1175624 .got which implies .sdata, .sbss, .plt .iplt and .branch_lt also have > to move: https://sourceware.org/ml/binutils/2015-01/msg00228.html > # 1175624 And .toc1: https://sourceware.org/ml/binutils/2015-01/msg00232.html > #1194164 func <at> localentry expressions, which was added to FSF binutils with git > commit 45965137 > #1183838 https://bugzilla.redhat.com/attachment.cgi?id=986213 > # 1172766 https://bugzilla.redhat.com/attachment.cgi?id=989450 I hope it helps > you a bit. I think we need help from someone who understands the Binutils part of this. Can you ask some of the Binutils maintainers please join this discussion and analyze the problem?
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 01 Oct 2015 08:47:01 GMT) Full text and rfc822 format available.Message #102 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org>, fw <at> deneb.enyo.de, mwielaar <at> redhat.com Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 1 Oct 2015 10:46:05 +0200
On 10/01/2015 09:43 AM, Eli Zaretskii wrote: >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 30 Sep 2015 12:39:47 +0200 >> Cc: 20614 <at> debbugs.gnu.org >> >> My deep observation with emacs package and binutils: >> 1) binutils-2.23.52.0.1-30.el7_1.2.ppc64le.rpm works completely. >> 2) binutils-2.23.52.0.1-40.el7.ppc64le.rpm works if row >> http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n869 >> is suppressed. >> >> With newer version of binutils I can see the same series:( >> like: >> Dumping under the name emacs >> emacs: Program segment above .bss in >> /builddir/build/BUILD/emacs-24.3/src/temacs >> make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/src' >> make[2]: *** [bootstrap-emacs] Error 1 >> >> I have collected list of commits and messages against upstream: >> #1200138 >> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=43a8475ca01b676fb764aaed0c4ed1cc16fc3c87 #1200138 >> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=eec2f3ed9f053653ed5d629eb50e08e3ee61e9bd #1203449 >> https://bugzilla.redhat.com/attachment.cgi?id=1003499 # 1175624 .opd >> https://sourceware.org/ml/binutils/2015-01/msg00227.html >> # 1175624 .got which implies .sdata, .sbss, .plt .iplt and .branch_lt also have >> to move: https://sourceware.org/ml/binutils/2015-01/msg00228.html >> # 1175624 And .toc1: https://sourceware.org/ml/binutils/2015-01/msg00232.html >> #1194164 func <at> localentry expressions, which was added to FSF binutils with git >> commit 45965137 >> #1183838 https://bugzilla.redhat.com/attachment.cgi?id=986213 >> # 1172766 https://bugzilla.redhat.com/attachment.cgi?id=989450 I hope it helps >> you a bit. > I think we need help from someone who understands the Binutils part of > this. Can you ask some of the Binutils maintainers please join this > discussion and analyze the problem? Adding Florian to CC. @Florian: If it's possible, please include also other files from your team. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 01 Oct 2015 11:45:02 GMT) Full text and rfc822 format available.Message #105 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: fw <at> deneb.enyo.de, 20614 <at> debbugs.gnu.org, Nick Clifton <nickc <at> redhat.com> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 1 Oct 2015 13:44:01 +0200
[Message part 1 (text/plain, inline)]
On 10/01/2015 09:43 AM, Eli Zaretskii wrote: >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 30 Sep 2015 12:39:47 +0200 >> Cc: 20614 <at> debbugs.gnu.org >> >> My deep observation with emacs package and binutils: >> 1) binutils-2.23.52.0.1-30.el7_1.2.ppc64le.rpm works completely. >> 2) binutils-2.23.52.0.1-40.el7.ppc64le.rpm works if row >> http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n869 >> is suppressed. >> >> With newer version of binutils I can see the same series:( >> like: >> Dumping under the name emacs >> emacs: Program segment above .bss in >> /builddir/build/BUILD/emacs-24.3/src/temacs >> make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/src' >> make[2]: *** [bootstrap-emacs] Error 1 >> >> I have collected list of commits and messages against upstream: >> #1200138 >> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=43a8475ca01b676fb764aaed0c4ed1cc16fc3c87 #1200138 >> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=eec2f3ed9f053653ed5d629eb50e08e3ee61e9bd #1203449 >> https://bugzilla.redhat.com/attachment.cgi?id=1003499 # 1175624 .opd >> https://sourceware.org/ml/binutils/2015-01/msg00227.html >> # 1175624 .got which implies .sdata, .sbss, .plt .iplt and .branch_lt also have >> to move: https://sourceware.org/ml/binutils/2015-01/msg00228.html >> # 1175624 And .toc1: https://sourceware.org/ml/binutils/2015-01/msg00232.html >> #1194164 func <at> localentry expressions, which was added to FSF binutils with git >> commit 45965137 >> #1183838 https://bugzilla.redhat.com/attachment.cgi?id=986213 >> # 1172766 https://bugzilla.redhat.com/attachment.cgi?id=989450 I hope it helps >> you a bit. > I think we need help from someone who understands the Binutils part of > this. Can you ask some of the Binutils maintainers please join this > discussion and analyze the problem? Out binutils maintainers send me reference to following patch. |# Fix incorrectly generated ELF binaries and DSOs| diff -Nrup a/bfd/elf.c b/bfd/elf.c --- a/bfd/elf.c 2015-07-28 10:52:10.941754850 -0600 +++ b/bfd/elf.c 2015-07-28 10:53:34.725982912 -0600 @@ -4081,11 +4081,18 @@ _bfd_elf_map_sections_to_segments (bfd * new_segment = TRUE; } else if ((last_hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) == 0 - && (hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) != 0) + && (hdr->flags & (SEC_LOAD | SEC_THREAD_LOCAL)) != 0 + && ((abfd->flags & D_PAGED) == 0 + || (((last_hdr->lma + last_size - 1) & -maxpagesize) + != (hdr->lma & -maxpagesize)))) { - /* We don't want to put a loadable section after a - nonloadable section in the same segment. - Consider .tbss sections as loadable for this purpose. */ + /* We don't want to put a loaded section after a + nonloaded (ie. bss style) section in the same segment + as that will force the non-loaded section to be loaded. + Consider .tbss sections as loaded for this purpose. + However, like the writable/non-writable case below, + if they are on the same page then they must be put + in the same segment. */ new_segment = TRUE; } else if ((abfd->flags & D_PAGED) == 0) diff -Nrup a/ld/testsuite/ld-powerpc/elfv2so.d b/ld/testsuite/ld-powerpc/elfv2so.d --- a/ld/testsuite/ld-powerpc/elfv2so.d 2015-07-28 10:52:10.921755273 -0600 +++ b/ld/testsuite/ld-powerpc/elfv2so.d 2015-07-28 10:41:10.046732001 -0600 @@ -7,31 +7,31 @@ Disassembly of section \.text: -0+320 <.*\.plt_call\.f4>: +0+300 <.*\.plt_call\.f4>: .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) .*: (38 80 82 e9|e9 82 80 38) ld r12,-32712\(r2\) .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 .*: (20 04 80 4e|4e 80 04 20) bctr -0+330 <.*\.plt_call\.f3>: +0+310 <.*\.plt_call\.f3>: .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) .*: (28 80 82 e9|e9 82 80 28) ld r12,-32728\(r2\) .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 .*: (20 04 80 4e|4e 80 04 20) bctr -0+340 <.*\.plt_call\.f2>: +0+320 <.*\.plt_call\.f2>: .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) .*: (30 80 82 e9|e9 82 80 30) ld r12,-32720\(r2\) .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 .*: (20 04 80 4e|4e 80 04 20) bctr -0+350 <.*\.plt_call\.f1>: +0+330 <.*\.plt_call\.f1>: .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) .*: (40 80 82 e9|e9 82 80 40) ld r12,-32704\(r2\) .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 .*: (20 04 80 4e|4e 80 04 20) bctr -0+360 <f1>: +0+340 <f1>: .*: (02 00 4c 3c|3c 4c 00 02) addis r2,r12,2 .*: (d8 81 42 38|38 42 81 d8) addi r2,r2,-32296 .*: (a6 02 08 7c|7c 08 02 a6) mflr r0 @@ -53,7 +53,7 @@ Disassembly of section \.text: .*: (98 01 01 00|00 00 00 00) .* .*: (00 00 00 00|00 01 01 98) .* -0+3b0 <__glink_PLTresolve>: +0+390 <__glink_PLTresolve>: .*: (a6 02 08 7c|7c 08 02 a6) mflr r0 .*: (05 00 9f 42|42 9f 00 05) bcl .* .*: (a6 02 68 7d|7d 68 02 a6) mflr r11 -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 01 Oct 2015 11:54:02 GMT) Full text and rfc822 format available.Message #108 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 1 Oct 2015 13:53:14 +0200
On 10/01/2015 09:43 AM, Eli Zaretskii wrote: >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Wed, 30 Sep 2015 12:39:47 +0200 >> Cc: 20614 <at> debbugs.gnu.org >> >> My deep observation with emacs package and binutils: >> 1) binutils-2.23.52.0.1-30.el7_1.2.ppc64le.rpm works completely. >> 2) binutils-2.23.52.0.1-40.el7.ppc64le.rpm works if row >> http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n869 >> is suppressed. >> >> With newer version of binutilsSom I can see the same series:( >> like: >> Dumping under the name emacs >> emacs: Program segment above .bss in >> /builddir/build/BUILD/emacs-24.3/src/temacs >> make[2]: Leaving directory `/builddir/build/BUILD/emacs-24.3/src' >> make[2]: *** [bootstrap-emacs] Error 1 >> >> I have collected list of commits and messages against upstream: >> #1200138 >> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=43a8475ca01b676fb764aaed0c4ed1cc16fc3c87 #1200138 >> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=eec2f3ed9f053653ed5d629eb50e08e3ee61e9bd #1203449 >> https://bugzilla.redhat.com/attachment.cgi?id=1003499 # 1175624 .opd >> https://sourceware.org/ml/binutils/2015-01/msg00227.html >> # 1175624 .got which implies .sdata, .sbss, .plt .iplt and .branch_lt also have >> to move: https://sourceware.org/ml/binutils/2015-01/msg00228.html >> # 1175624 And .toc1: https://sourceware.org/ml/binutils/2015-01/msg00232.html >> #1194164 func <at> localentry expressions, which was added to FSF binutils with git >> commit 45965137 >> #1183838 https://bugzilla.redhat.com/attachment.cgi?id=986213 >> # 1172766 https://bugzilla.redhat.com/attachment.cgi?id=989450 I hope it helps >> you a bit. > I think we need help from someone who understands the Binutils part of > this. Can you ask some of the Binutils maintainers please join this > discussion and analyze the problem? Some update regarding this bug. I have add some defines like: $ cat emacs-segment-bss.patch diff --git a/src/unexelf.c b/src/unexelf.c index d365940..55d7ba6 100644 --- a/src/unexelf.c +++ b/src/unexelf.c @@ -846,7 +846,7 @@ unexec (const char *new_name, const char *old_name) if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) alignment = OLD_SECTION_H (old_bss_index).sh_addralign; -#ifdef __sgi +#if defined __sgi || defined __ppc64le__ || defined __ppc64__ /* According to r02kar <at> x4u2.desy.de (Karsten Kuenne) and oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we always get "Program segment above .bss" when dumping $ Here is a full backtrace executed on PPC64LE [phracek <at> ibm-p8-generic-01-le02 src]$ gdb ./temacs GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-77.el7 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "ppc64le-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs...done. warning: File "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load:/usr/bin/mono-gdb.py". To enable execution of this file add add-auto-load-safe-path /home/phracek/rpmbuild/BUILD/emacs-24.3/src/.gdbinit line to your configuration file "/home/phracek/.gdbinit". To completely disable this security protection add set auto-load safe-path / line to your configuration file "/home/phracek/.gdbinit". For more information about this security protection see the "Auto-loading safe path" section in the GDB manual. E.g., run from the shell: info "(gdb)Auto-loading safe path" (gdb) r --batch --load loadup bootstrap Starting program: /home/phracek/rpmbuild/BUILD/emacs-24.3/src/./temacs --batch --load loadup bootstrap [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/power8/libthread_db.so.1". Missing separate debuginfo for /lib64/libgraphite2.so.3 Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/e9/5fc84879c010f61707b626f366fc81ffc976f6.debug process 20712 is executing new program: /home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs Missing separate debuginfos, use: debuginfo-install GConf2-3.2.6-8.el7.ppc64le ImageMagick-6.7.8.9-10.el7.ppc64le alsa-lib-1.0.28-2.el7.ppc64le at-spi2-atk-2.8.1-4.el7.ppc64le at-spi2-core-2.8.0-6.el7.ppc64le atk-2.14.0-1.el7.ppc64le bzip2-libs-1.0.6-13.el7.ppc64le cairo-1.14.2-1.el7.ppc64le cairo-gobject-1.14.2-1.el7.ppc64le dbus-glib-0.100-7.el7.ppc64le dbus-libs-1.6.12-13.el7.ppc64le expat-2.1.0-8.el7.ppc64le fontconfig-2.10.95-7.el7.ppc64le freetype-2.4.11-11.el7.ppc64le gdk-pixbuf2-2.31.1-1.el7.ppc64le giflib-4.1.6-9.el7.ppc64le glib2-2.42.2-3.el7.ppc64le glibc-2.17-103.el7.ppc64le gmp-6.0.0-11.el7.ppc64le gnutls-3.3.8-13.el7.ppc64le gtk3-3.14.13-13.el7.ppc64le harfbuzz-0.9.36-1.el7.ppc64le jbigkit-libs-2.0-11.el7.ppc64le keyutils-libs-1.5.8-3.el7.ppc64le krb5-libs-1.13.2-3.el7.ppc64le libICE-1.0.9-2.el7.ppc64le libSM-1.2.2-2.el7.ppc64le libX11-1.6.3-2.el7.ppc64le libXau-1.0.8-2.1.el7.ppc64le libXcomposite-0.4.4-4.1.el7.ppc64le libXcursor-1.1.14-2.1.el7.ppc64le libXdamage-1.1.4-4.1.el7.ppc64le libXext-1.3.3-3.el7.ppc64le libXfixes-5.0.1-2.1.el7.ppc64le libXft-2.3.2-2.el7.ppc64le libXi-1.7.4-2.el7.ppc64le libXinerama-1.1.3-2.1.el7.ppc64le libXpm-3.5.11-3.el7.ppc64le libXrandr-1.4.2-2.el7.ppc64le libXrender-0.9.8-2.1.el7.ppc64le libXt-1.1.4-6.1.el7.ppc64le libXxf86vm-1.1.3-2.1.el7.ppc64le libcom_err-1.42.9-7.el7.ppc64le libcroco-0.6.8-5.el7.ppc64le libdrm-2.4.60-3.el7.ppc64le libffi-3.0.13-16.el7.ppc64le libgcc-4.8.5-4.el7.ppc64le libgomp-4.8.5-4.el7.ppc64le libjpeg-turbo-1.2.90-5.el7.ppc64le libotf-0.9.13-4.el7.ppc64le libpng-1.5.13-5.el7.ppc64le librsvg2-2.39.0-1.el7.ppc64le libselinux-2.2.2-6.el7.ppc64le libtasn1-3.8-2.el7.ppc64le libthai-0.1.14-9.el7.ppc64le libtiff-4.0.3-14.el7.ppc64le libtool-ltdl-2.4.2-20.el7.ppc64le libuuid-2.23.2-24.el7.ppc64le libxcb-1.11-4.el7.ppc64le libxml2-2.9.1-5.el7_1.2.ppc64le libxshmfence-1.2-1.el7.ppc64le m17n-lib-1.6.4-14.el7.ppc64le mesa-libEGL-10.6.0-1.20150616.el7.ppc64le mesa-libGL-10.6.0-1.20150616.el7.ppc64le mesa-libgbm-10.6.0-1.20150616.el7.ppc64le mesa-libglapi-10.6.0-1.20150616.el7.ppc64le ncurses-libs-5.9-13.20130511.el7.ppc64le nettle-2.7.1-4.el7.ppc64le openssl-libs-1.0.1e-42.el7_1.9.ppc64le p11-kit-0.20.7-3.el7.ppc64le pango-1.36.8-2.el7.ppc64le pcre-8.32-15.el7.ppc64le pixman-0.32.6-3.el7.ppc64le trousers-0.3.13-1.el7.ppc64le xz-libs-5.1.2-10alpha.el7.ppc64le zlib-1.2.7-15.el7.ppc64le [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/power8/libthread_db.so.1". Missing separate debuginfo for /lib64/libgraphite2.so.3 Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/e9/5fc84879c010f61707b626f366fc81ffc976f6.debug Loading loadup.el (source)... Using load-path (/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/international /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/textmodes) Loading emacs-lisp/byte-run (source)... Loading emacs-lisp/backquote (source)... Loading subr (source)... Loading version (source)... Loading widget (source)... Loading custom (source)... Loading emacs-lisp/map-ynp (source)... Loading international/mule (source)... Loading international/mule-conf (source)... Loading env (source)... Loading format (source)... Loading bindings (source)... Loading cus-start (source)... Loading window (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/files.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/pcase.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/cus-face.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/faces.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/button.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/startup.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/ldefs-boot.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/minibuffer.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/abbrev.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/simple.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/help.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/jka-cmpr-hook.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/epa-hook.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/international/mule-cmds.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/case-table.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/international/charprop.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/international/characters.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/composite.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/chinese.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/cyrillic.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/indian.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/sinhala.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/english.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/ethiopic.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/european.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/czech.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/slovak.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/romanian.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/greek.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/hebrew.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/japanese.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/international/cp51932.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/international/eucjp-ms.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/korean.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/lao.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/tai-viet.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/thai.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/tibetan.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/vietnamese.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/misc-lang.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/utf-8-lang.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/georgian.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/khmer.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/burmese.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/language/cham.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/indent.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/frame.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/term/tty-colors.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/font-core.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/facemenu.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/syntax.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/font-lock.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/jit-lock.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/mouse.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/scroll-bar.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/select.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/timer.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/isearch.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/rfn-eshadow.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/menu-bar.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/lisp.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/textmodes/page.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/register.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/textmodes/paragraphs.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/lisp-mode.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/textmodes/text-mode.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/textmodes/fill.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/newcomment.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/replace.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/tabulated-list.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/buff-menu.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/fringe.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/regexp-opt.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/image.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/international/fontset.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/dnd.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/tool-bar.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/dynamic-setting.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/x-dnd.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/term/common-win.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/term/x-win.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/mwheel.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/float-sup.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/vc/vc-hooks.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/vc/ediff-hook.el (source)... Loading /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/tooltip.el (source)... Finding pointers to doc strings... Finding pointers to doc strings...done Dumping under the name emacs Program received signal SIGSEGV, Segmentation fault. 0x00003fffb5a9a870 in strcmp () from /lib64/power8/libc.so.6 Missing separate debuginfos, use: debuginfo-install GConf2-3.2.6-8.el7.ppc64le ImageMagick-6.7.8.9-10.el7.ppc64le OpenEXR-libs-1.7.1-7.el7.ppc64le alsa-lib-1.0.28-2.el7.ppc64le at-spi2-atk-2.8.1-4.el7.ppc64le at-spi2-core-2.8.0-6.el7.ppc64le atk-2.14.0-1.el7.ppc64le avahi-libs-0.6.31-15.el7.ppc64le bzip2-libs-1.0.6-13.el7.ppc64le cairo-1.14.2-1.el7.ppc64le cairo-gobject-1.14.2-1.el7.ppc64le cups-libs-1.6.3-22.el7.ppc64le dbus-glib-0.100-7.el7.ppc64le dbus-libs-1.6.12-13.el7.ppc64le expat-2.1.0-8.el7.ppc64le fontconfig-2.10.95-7.el7.ppc64le freetype-2.4.11-11.el7.ppc64le gdk-pixbuf2-2.31.1-1.el7.ppc64le ghostscript-9.07-18.el7.ppc64le giflib-4.1.6-9.el7.ppc64le glib2-2.42.2-3.el7.ppc64le glibc-2.17-103.el7.ppc64le gmp-6.0.0-11.el7.ppc64le gnutls-3.3.8-13.el7.ppc64le gtk3-3.14.13-13.el7.ppc64le harfbuzz-0.9.36-1.el7.ppc64le ilmbase-1.0.3-7.el7.ppc64le jasper-libs-1.900.1-29.el7.ppc64le jbigkit-libs-2.0-11.el7.ppc64le keyutils-libs-1.5.8-3.el7.ppc64le krb5-libs-1.13.2-3.el7.ppc64le lcms2-2.6-2.el7.ppc64le libICE-1.0.9-2.el7.ppc64le libSM-1.2.2-2.el7.ppc64le libX11-1.6.3-2.el7.ppc64le libXau-1.0.8-2.1.el7.ppc64le libXcomposite-0.4.4-4.1.el7.ppc64le libXcursor-1.1.14-2.1.el7.ppc64le libXdamage-1.1.4-4.1.el7.ppc64le libXext-1.3.3-3.el7.ppc64le libXfixes-5.0.1-2.1.el7.ppc64le libXft-2.3.2-2.el7.ppc64le libXi-1.7.4-2.el7.ppc64le libXinerama-1.1.3-2.1.el7.ppc64le libXpm-3.5.11-3.el7.ppc64le libXrandr-1.4.2-2.el7.ppc64le libXrender-0.9.8-2.1.el7.ppc64le libXt-1.1.4-6.1.el7.ppc64le libXxf86vm-1.1.3-2.1.el7.ppc64le libcom_err-1.42.9-7.el7.ppc64le libcroco-0.6.8-5.el7.ppc64le libdrm-2.4.60-3.el7.ppc64le libffi-3.0.13-16.el7.ppc64le libgcc-4.8.5-4.el7.ppc64le libgomp-4.8.5-4.el7.ppc64le libjpeg-turbo-1.2.90-5.el7.ppc64le libotf-0.9.13-4.el7.ppc64le libpng-1.5.13-5.el7.ppc64le librsvg2-2.39.0-1.el7.ppc64le libselinux-2.2.2-6.el7.ppc64le libstdc++-4.8.5-4.el7.ppc64le libtasn1-3.8-2.el7.ppc64le libthai-0.1.14-9.el7.ppc64le libtiff-4.0.3-14.el7.ppc64le libtool-ltdl-2.4.2-20.el7.ppc64le libuuid-2.23.2-24.el7.ppc64le libwmf-lite-0.2.8.4-41.el7.ppc64le libxcb-1.11-4.el7.ppc64le libxml2-2.9.1-5.el7_1.2.ppc64le libxshmfence-1.2-1.el7.ppc64le m17n-lib-1.6.4-14.el7.ppc64le mesa-libEGL-10.6.0-1.20150616.el7.ppc64le mesa-libGL-10.6.0-1.20150616.el7.ppc64le mesa-libgbm-10.6.0-1.20150616.el7.ppc64le mesa-libglapi-10.6.0-1.20150616.el7.ppc64le ncurses-libs-5.9-13.20130511.el7.ppc64le nettle-2.7.1-4.el7.ppc64le nss-softokn-freebl-3.16.2.3-13.el7.ppc64le openssl-libs-1.0.1e-42.el7_1.9.ppc64le p11-kit-0.20.7-3.el7.ppc64le pango-1.36.8-2.el7.ppc64le pcre-8.32-15.el7.ppc64le pixman-0.32.6-3.el7.ppc64le trousers-0.3.13-1.el7.ppc64le xz-libs-5.1.2-10alpha.el7.ppc64le zlib-1.2.7-15.el7.ppc64le (gdb) bt full #0 0x00003fffb5a9a870 in strcmp () at /lib64/power8/libc.so.6 #1 0x00000000101e59b0 in unexec (new_name=0x11539408 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11539458 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") at unexelf.c:1258 __s2_len = 5 Python Exception <class 'gdb.error'> value has been optimized out: #2 0x000000001010f56c in Fdump_emacs (filename=289654417, symfile=<optimized out>) at emacs.c:2030 tem = 275040722 symbol = <optimized out> count = 16 #3 0x00000000101a0cb0 in eval_sub (form=<optimized out>) at eval.c:2146 numargs = <optimized out> args_left = 275040722 i = <optimized out> maxargs = <optimized out> argvals = {289656433, 289656401, 3847442579264832256, 275557446, 274726840, 274726720, 65535, 2} fun = <optimized out> val = <optimized out> original_fun = <optimized out> original_args = 276286822 funcar = <optimized out> backtrace = {next = 0x3fffffffdf10, function = 275200210, args = 0x3fffffffddc8, nargs = 2, debug_on_exit = 0} gcpro3 = {next = <optimized out>, var = 0x3fffffffddc8, nvars = <optimized out>} #4 0x00000000101a10f0 in Fprogn (args=276286790) at eval.c:360 val = <optimized out> #5 0x00000000101a0cd4 in eval_sub (form=<optimized out>) at eval.c:2143 numargs = <optimized out> args_left = 275842342 i = <optimized out> maxargs = <optimized out> argvals = {270935272, 70368744169668, 3847442579264832256, 40, 274726840, 274726720, 65535, 2} fun = <optimized out> val = <optimized out> original_fun = <optimized out> original_args = 275842342 funcar = <optimized out> backtrace = {next = 0x3fffffffe050, function = 275158770, args = 0x3fffffffdf08, nargs = -1, debug_on_exit = 0} gcpro3 = <optimized out> #6 0x00000000101a0cd4 in eval_sub (form=<optimized out>) at eval.c:2143 numargs = <optimized out> args_left = 275742310 ---Type <return> to continue, or q <return> to quit--- i = <optimized out> maxargs = <optimized out> argvals = {4611686018427781120, 275359153, 274726352, 274722720, 275153618, 70368744169760, 8704, 270331440} fun = <optimized out> val = <optimized out> original_fun = <optimized out> original_args = 275742310 funcar = <optimized out> backtrace = {next = 0x3fffffffe4c0, function = 275158674, args = 0x3fffffffe048, nargs = -1, debug_on_exit = 0} gcpro3 = <optimized out> #7 0x00000000101cfebc in readevalloop (readcharfun=275153618, stream=0x1069ab70, sourcename=275359153, printflag=false, unibyte=<optimized out>, readfun=275040722, start=275040722, end=275040722) at lread.c:1843 count1 = 16 c = <optimized out> val = 275014982 count = 12 b = <optimized out> continue_reading_p = <optimized out> lex_bound = <optimized out> whole_buffer = <optimized out> first_sexp = <optimized out> macroexpand = 275040722 #8 0x00000000101d0c44 in Fload (file=275358897, noerror=<optimized out>, nomessage=275040722, nosuffix=<optimized out>, must_suffix=<optimized out>) at lread.c:1323 stream = 0x1069ab70 fd = 8 count = <optimized out> found = 275359089 efound = <optimized out> hist_file_name = 275359153 newer = false compiled = false handler = <optimized out> safe_p = true fmode = 0x1024f8d8 "r" tmp = {275040722, 275359121} version = 0 #9 0x00000000101a0c2c in eval_sub (form=275278038) at eval.c:2157 numargs = <optimized out> ---Type <return> to continue, or q <return> to quit--- args_left = 275040722 i = <optimized out> maxargs = <optimized out> argvals = {275358897, 275040722, 275040722, 275040722, 275040722, 8, 8, 8} fun = <optimized out> val = <optimized out> original_fun = <optimized out> original_args = 275278022 funcar = <optimized out> backtrace = {next = 0x0, function = 275153330, args = 0x3fffffffe4e8, nargs = 1, debug_on_exit = 0} gcpro3 = {next = <optimized out>, var = 0x3fffffffe4e8, nvars = <optimized out>} #10 0x00000000101a5700 in Feval (form=275278038, lexical=<optimized out>) at eval.c:2005 count = 2 #11 0x0000000010110950 in top_level_2 () at keyboard.c:1177 #12 0x000000001019f5b0 in internal_condition_case (bfun=0x10110920 <top_level_2>, handlers=275092338, hfun=0x10117320 <cmd_error>) at eval.c:1289 val = <optimized out> c = {tag = 275040722, val = 275040722, next = 0x3fffffffea00, gcpro = 0x0, jmp = {{__jmpbuf = {-6181340983961323271, 271285936, -6181391837160413119, 0, 0, 270888592, 270888568, 270880352, 270889936, 274726352, 274710728, 274723048, 274710698, 274710684, 274711224, 274710698, 269551504, 269551664, 274726440, 274726352, 0, 2449960692665548799, 0 <repeats 42 times>}, __mask_was_saved = 0, __saved_mask = {__val = {0, 270888592, 270888568, 270880352, 270889936, 274726352, 274710728, 274723048, 274710698, 274710684, 274711224, 274710698, 271255160, 0, 268489320, 274726352}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0} h = {handler = 275092338, var = 275040722, chosen_clause = 70367480143752, tag = 0x3fffffffe660, next = 0x0} #13 0x00000000101108f0 in top_level_1 (ignore=<optimized out>) at keyboard.c:1185 #14 0x000000001019f41c in internal_catch (tag=<optimized out>, func=0x10110830 <top_level_1>, arg=275040722) at eval.c:1060 c = {tag = 275088178, val = 275040722, next = 0x0, gcpro = 0x0, jmp = {{__jmpbuf = {-6181340983961324327, 271285936, -6181391837160411403, 0, 0, 270888592, 270888568, 270880352, 270889936, 274726352, 274710728, 274723048, 274710698, 274710684, 274711224, 274710698, 269551504, 269551664, 274726440, 274726352, 274726584, 2449960692665548799, 0 <repeats 42 times>}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 274722720, 275040722, 274726840, 275260976, 275260978, 70368744172800, 279248, 270152068, 0, 0, 274722720, 9, 275358896, 274722720}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0} #15 0x0000000010116a30 in recursive_edit_1 () at keyboard.c:1146 count = <optimized out> val = 274726440 #16 0x0000000010116a30 in recursive_edit_1 () at keyboard.c:779 count = <optimized out> val = 274726440 #17 0x0000000010116fe0 in Frecursive_edit () at keyboard.c:843 count = 0 ---Type <return> to continue, or q <return> to quit--- buffer = 275040722 #18 0x00000000100176a8 in main (argc=<optimized out>, argv=<optimized out>) at emacs.c:1528 dummy = 70367536210272 stack_bottom_variable = 0 '\000' do_initial_setlocale = <optimized out> dumping = <optimized out> skip_args = 3 rlim = {rlim_cur = 8720000, rlim_max = 18446744073709551615} no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x3fffffffee80 "" (gdb) -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 01 Oct 2015 12:24:02 GMT) Full text and rfc822 format available.Message #111 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 01 Oct 2015 15:22:03 +0300
> From: Petr Hracek <phracek <at> redhat.com> > Date: Thu, 1 Oct 2015 13:53:14 +0200 > > Some update regarding this bug. > I have add some defines like: > $ cat emacs-segment-bss.patch > diff --git a/src/unexelf.c b/src/unexelf.c > index d365940..55d7ba6 100644 > --- a/src/unexelf.c > +++ b/src/unexelf.c > @@ -846,7 +846,7 @@ unexec (const char *new_name, const char *old_name) > if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) > alignment = OLD_SECTION_H (old_bss_index).sh_addralign; > > -#ifdef __sgi > +#if defined __sgi || defined __ppc64le__ || defined __ppc64__ > /* According to r02kar <at> x4u2.desy.de (Karsten Kuenne) > and oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we > always get "Program segment above .bss" when dumping > $ > > Here is a full backtrace executed on PPC64LE Thanks. Can you repeat this in an unoptimized build? Otherwise the backtrace cannot be trusted (and makes little sense).
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 01 Oct 2015 14:07:02 GMT) Full text and rfc822 format available.Message #114 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 1 Oct 2015 16:05:57 +0200
On 10/01/2015 02:22 PM, Eli Zaretskii wrote: >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Thu, 1 Oct 2015 13:53:14 +0200 >> >> Some update regarding this bug. >> I have add some defines like: >> $ cat emacs-segment-bss.patch >> diff --git a/src/unexelf.c b/src/unexelf.c >> index d365940..55d7ba6 100644 >> --- a/src/unexelf.c >> +++ b/src/unexelf.c >> @@ -846,7 +846,7 @@ unexec (const char *new_name, const char *old_name) >> if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) >> alignment = OLD_SECTION_H (old_bss_index).sh_addralign; >> >> -#ifdef __sgi >> +#if defined __sgi || defined __ppc64le__ || defined __ppc64__ >> /* According to r02kar <at> x4u2.desy.de (Karsten Kuenne) >> and oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we >> always get "Program segment above .bss" when dumping >> $ >> >> Here is a full backtrace executed on PPC64LE > Thanks. Can you repeat this in an unoptimized build? Otherwise the > backtrace cannot be trusted (and makes little sense). Hi Eli, Here is full backtrace: Program received signal SIGSEGV, Segmentation fault. 0x00003fffb5a9a870 in strcmp () from /lib64/power8/libc.so.6 Missing separate debuginfos, use: debuginfo-install GConf2-3.2.6-8.el7.ppc64le ImageMagick-6.7.8.9-10.el7.ppc64le OpenEXR-libs-1.7.1-7.el7.ppc64le alsa-lib-1.0.28-2.el7.ppc64le at-spi2-atk-2.8.1-4.el7.ppc64le at-spi2-core-2.8.0-6.el7.ppc64le atk-2.14.0-1.el7.ppc64le avahi-libs-0.6.31-15.el7.ppc64le bzip2-libs-1.0.6-13.el7.ppc64le cairo-1.14.2-1.el7.ppc64le cairo-gobject-1.14.2-1.el7.ppc64le cups-libs-1.6.3-22.el7.ppc64le dbus-glib-0.100-7.el7.ppc64le dbus-libs-1.6.12-13.el7.ppc64le expat-2.1.0-8.el7.ppc64le fontconfig-2.10.95-7.el7.ppc64le freetype-2.4.11-11.el7.ppc64le gdk-pixbuf2-2.31.1-1.el7.ppc64le ghostscript-9.07-18.el7.ppc64le giflib-4.1.6-9.el7.ppc64le glib2-2.42.2-3.el7.ppc64le glibc-2.17-103.el7.ppc64le gmp-6.0.0-11.el7.ppc64le gnutls-3.3.8-13.el7.ppc64le gtk3-3.14.13-13.el7.ppc64le harfbuzz-0.9.36-1.el7.ppc64le ilmbase-1.0.3-7.el7.ppc64le jasper-libs-1.900.1-29.el7.ppc64le jbigkit-libs-2.0-11.el7.ppc64le keyutils-libs-1.5.8-3.el7.ppc64le krb5-libs-1.13.2-3.el7.ppc64le lcms2-2.6-2.el7.ppc64le libICE-1.0.9-2.el7.ppc64le libSM-1.2.2-2.el7.ppc64le libX11-1.6.3-2.el7.ppc64le libXau-1.0.8-2.1.el7.ppc64le libXcomposite-0.4.4-4.1.el7.ppc64le libXcursor-1.1.14-2.1.el7.ppc64le libXdamage-1.1.4-4.1.el7.ppc64le libXext-1.3.3-3.el7.ppc64le libXfixes-5.0.1-2.1.el7.ppc64le libXft-2.3.2-2.el7.ppc64le libXi-1.7.4-2.el7.ppc64le libXinerama-1.1.3-2.1.el7.ppc64le libXpm-3.5.11-3.el7.ppc64le libXrandr-1.4.2-2.el7.ppc64le libXrender-0.9.8-2.1.el7.ppc64le libXt-1.1.4-6.1.el7.ppc64le libXxf86vm-1.1.3-2.1.el7.ppc64le libcom_err-1.42.9-7.el7.ppc64le libcroco-0.6.8-5.el7.ppc64le libdrm-2.4.60-3.el7.ppc64le libffi-3.0.13-16.el7.ppc64le libgcc-4.8.5-4.el7.ppc64le libgomp-4.8.5-4.el7.ppc64le libjpeg-turbo-1.2.90-5.el7.ppc64le libotf-0.9.13-4.el7.ppc64le libpng-1.5.13-5.el7.ppc64le librsvg2-2.39.0-1.el7.ppc64le libselinux-2.2.2-6.el7.ppc64le libstdc++-4.8.5-4.el7.ppc64le libtasn1-3.8-2.el7.ppc64le libthai-0.1.14-9.el7.ppc64le libtiff-4.0.3-14.el7.ppc64le libtool-ltdl-2.4.2-20.el7.ppc64le libuuid-2.23.2-24.el7.ppc64le libwmf-lite-0.2.8.4-41.el7.ppc64le libxcb-1.11-4.el7.ppc64le libxml2-2.9.1-5.el7_1.2.ppc64le libxshmfence-1.2-1.el7.ppc64le m17n-lib-1.6.4-14.el7.ppc64le mesa-libEGL-10.6.0-1.20150616.el7.ppc64le mesa-libGL-10.6.0-1.20150616.el7.ppc64le mesa-libgbm-10.6.0-1.20150616.el7.ppc64le mesa-libglapi-10.6.0-1.20150616.el7.ppc64le ncurses-libs-5.9-13.20130511.el7.ppc64le nettle-2.7.1-4.el7.ppc64le nss-softokn-freebl-3.16.2.3-13.el7.ppc64le openssl-libs-1.0.1e-42.el7_1.9.ppc64le p11-kit-0.20.7-3.el7.ppc64le pango-1.36.8-2.el7.ppc64le pcre-8.32-15.el7.ppc64le pixman-0.32.6-3.el7.ppc64le trousers-0.3.13-1.el7.ppc64le xz-libs-5.1.2-10alpha.el7.ppc64le zlib-1.2.7-15.el7.ppc64le (gdb) bt full #0 0x00003fffb5a9a870 in strcmp () at /lib64/power8/libc.so.6 #1 0x00000000102e3724 in unexec (new_name=0x116387e8 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") at unexelf.c:1258 section = {sh_name = 122, sh_type = 4, sh_flags = 2, sh_addr = 268483528, sh_offset = 48072, sh_size = 768, sh_link = 5, sh_info = 0, sh_addralign = 8, sh_entsize = 24} new_file = 10 old_file = 9 new_file_size = 30790315 new_break = 0x116f0000 old_base = 0x3fffaa800000 "\177ELF\002\001\001" new_base = 0x3fffa8aa0000 "\177ELF\002\001\001" old_file_h = 0x3fffaa800000 new_file_h = 0x3fffa8aa0000 old_program_h = 0x3fffaa800040 new_program_h = 0x3fffa8aa0040 old_section_h = 0x3fffab1dc110 new_section_h = 0x3fffaa78c110 old_section_names = 0x3fffab1dbfcc "" old_bss_addr = 272498688 new_bss_addr = 292487168 old_bss_size = 563072 new_data2_size = 19988480 new_data2_offset = 4063232 new_data2_addr = 272498688 old_bss_offset = 4063232 new_data2_incr = 19988480 n = 9 nn = 0 old_bss_index = 22 old_sbss_index = -1 old_plt_index = 20 old_data_index = 21 new_data2_index = 20 stat_buf = {st_dev = 2050, st_ino = 5119871, st_nlink = 1, st_mode = 33261, st_uid = 20582, st_gid = 20582, __pad2 = 0, st_rdev = 0, st_size = 10801771, st_blksize = 4096, st_blocks = 20984, st_atim = {tv_sec = 1443707449, tv_nsec = 95539783}, st_mtim = {tv_sec = 1443707448, tv_nsec = 975539771}, st_ctim = {tv_sec = 1443707448, tv_nsec = 975539771}, __unused4 = 0, __unused5 = 0, __unused6 = 0} old_file_size = 10801771 ---Type <return> to continue, or q <return> to quit--- #2 0x00000000101a1170 in Fdump_emacs (filename=291602193, symfile=291602097) at emacs.c:2030 tem = 276285906 symbol = 279411634 count = 16 #3 0x000000001027f368 in eval_sub (form=280596326) at eval.c:2146 numargs = 8 args_left = 276285906 i = 2 maxargs = 2 argvals = {291604241, 291604209, 70368744168448, 70368744168656, 277773798, 271328908, 0, 276398802} fun = 272527693 val = 276285906 original_fun = 276445394 original_args = 280253382 funcar = 277773862 backtrace = {next = 0x3fffffffddb0, function = 276445394, args = 0x3fffffffdbe8, nargs = 2, debug_on_exit = 0} gcpro1 = {next = 0x3fffffffddb0, var = 0x107a38d2, nvars = 70368744168424} gcpro2 = {next = 0x3fffffffddb0, var = 0x107a38d2, nvars = 70368744168424} gcpro3 = {next = 0x10776596, var = 0x3fffffffdbe8, nvars = 2} #4 0x000000001027a010 in Fprogn (args=280793446) at eval.c:360 val = 276285906 gcpro1 = {next = 0x3ec63d1348a97a00, var = 0x3fffffffde20, nvars = 6} #5 0x000000001027ef94 in eval_sub (form=280194102) at eval.c:2091 numargs = 24 args_left = 280625926 i = 278384886 maxargs = 276605808 argvals = {276260246, 70368744169024, 277773894, 70368744168992, 4523370028772981248, 276234832, 276285906, 70368744169024} fun = 275399253 val = 278384886 original_fun = 276403954 original_args = 280625926 funcar = 276285906 backtrace = {next = 0x3fffffffdfa0, function = 276403954, args = 0x3fffffffdd28, nargs = -1, debug_on_exit = 0} gcpro1 = {next = 0x3fffffffdfa0, var = 0x107996f2, nvars = 70368744168744} gcpro2 = {next = 0x3fffffffdfa0, var = 0x107996f2, nvars = 70368744168744} gcpro3 = {next = 0x1077c9d2, var = 0x3fffffffddd8, nvars = 1} #6 0x0000000010279e58 in Fif (args=280088390) at eval.c:310 cond = 278384886 ---Type <return> to continue, or q <return> to quit--- gcpro1 = {next = 0x3fffb7fefc80 <_dl_argv_internal>, var = 0x3fffb7ff0000 <_rtld_local>, nvars = 2} #7 0x000000001027ef94 in eval_sub (form=276260150) at eval.c:2091 numargs = 8 args_left = 280088390 i = 276260150 maxargs = 276605808 argvals = {291932193, 276285906, 16, 276285906, 276285906, 276285906, 276398802, 276285906} fun = 275399157 val = 70368744169264 original_fun = 276403858 original_args = 280088390 funcar = 70368744169408 backtrace = {next = 0x3fffffffe490, function = 276403858, args = 0x3fffffffdf18, nargs = -1, debug_on_exit = 0} gcpro1 = {next = 0x3fffffffe490, var = 0x10799692, nvars = 70368744169240} gcpro2 = {next = 0x3fffffffe490, var = 0x10799692, nvars = 70368744169240} gcpro3 = {next = 0x103e7968 <Smake_keymap+40>, var = 0x0, nvars = 276398802} #8 0x00000000102bd1a4 in readevalloop (readcharfun=276398802, stream=0x107cab70, sourcename=276604337, printflag=false, unibyte=276285906, readfun=276285906, start=276285906, end=276285906) at lread.c:1843 count1 = 16 c = 276260150 val = 276260150 count = 12 gcpro1 = {next = 0x10798562, var = 0x10798560, nvars = 32} gcpro2 = {next = 0x10798562, var = 0x10798560, nvars = 32} gcpro3 = {next = 0x10798562, var = 0x10798560, nvars = 32} gcpro4 = {next = 0x10798562, var = 0x10798560, nvars = 32} b = 0x0 continue_reading_p = true lex_bound = 276285906 whole_buffer = false first_sexp = false macroexpand = 276285906 #9 0x00000000102bb560 in Fload (file=276604081, noerror=276285906, nomessage=276285906, nosuffix=276285906, must_suffix=276285906) at lread.c:1316 stream = 0x107cab70 fd = 8 count = 3 gcpro1 = {next = 0x1f, var = 0x1f, nvars = 31} gcpro2 = {next = 0x1f, var = 0x1f, nvars = 31} gcpro3 = {next = 0x1f, var = 0x1f, nvars = 31} ---Type <return> to continue, or q <return> to quit--- found = 276604273 efound = 70367536151680 hist_file_name = 276604337 newer = false compiled = false handler = 24 safe_p = true fmode = 0x10398788 "r" tmp = {276285906, 276604305} version = 0 #10 0x000000001027f44c in eval_sub (form=276523222) at eval.c:2157 numargs = 4 args_left = 276285906 i = 5 maxargs = 5 argvals = {276604081, 276285906, 276285906, 276285906, 276285906, 276285906, 276403666, 276403664} fun = 275407901 val = 276285906 original_fun = 276398514 original_args = 276523206 funcar = 276312672 backtrace = {next = 0x0, function = 276398514, args = 0x3fffffffe4b8, nargs = 1, debug_on_exit = 0} gcpro1 = {next = 0x0, var = 0x107981b2, nvars = 70368744170680} gcpro2 = {next = 0x0, var = 0x107981b2, nvars = 70368744170680} gcpro3 = {next = 0x3fffffffe480, var = 0x3fffffffe4b8, nvars = 5} #11 0x000000001027eb44 in Feval (form=276523222, lexical=276285906) at eval.c:2005 count = 2 #12 0x00000000101a4284 in top_level_2 () at keyboard.c:1177 #13 0x000000001027c86c in internal_condition_case (bfun=0x101a4244 <top_level_2>, handlers=276337522, hfun=0x101a3adc <cmd_error>) at eval.c:1289 val = 70368744171024 c = {tag = 276285906, val = 276285906, next = 0x3fffffffe9d0, gcpro = 0x0, jmp = {{__jmpbuf = {7811300748338917787, 272529768, 7811334515022091259, 0 <repeats 13 times>, 70367536151680, 70367536152576, 70367536150448, 276398514, 70368744170912, 2449960692665548799, 0 <repeats 42 times>}, __mask_was_saved = 0, __saved_mask = {__val = {4294967295, 0 <repeats 13 times>, 272500336, 0}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0} h = {handler = 276337522, var = 276285906, chosen_clause = 0, tag = 0x3fffffffe610, next = 0x0} #14 0x00000000101a4314 in top_level_1 (ignore=276285906) at keyboard.c:1185 #15 0x000000001027bf5c in internal_catch (tag=276333362, func=0x101a42b0 <top_level_1>, arg=276285906) at eval.c:1060 c = ---Type <return> to continue, or q <return> to quit--- {tag = 276333362, val = 276285906, next = 0x0, gcpro = 0x0, jmp = {{__jmpbuf = {7811300748338920875, 272529768, 7811334515022080783, 0 <repeats 13 times>, 70367536151680, 70367536152576, 70367536150448, 276398514, 70368744171920, 2449960692665548799, 0 <repeats 42 times>}, __mask_was_saved = 0, __saved_mask = {__val = {276309864, 72057594037927940, 276285906, 276285906, 276506162, 70368744172656, 272151100, 70368744172656, 276506160, 276604080, 276506162, 276312672, 275426328, 276398514, 70368744172656, 70368744172816}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0} #16 0x00000000101a4104 in command_loop () at keyboard.c:1146 #17 0x00000000101a3260 in recursive_edit_1 () at keyboard.c:779 count = 1 val = 270153060 #18 0x00000000101a3520 in Frecursive_edit () at keyboard.c:843 count = 0 buffer = 276285906 #19 0x000000001019ff18 in main (argc=5, argv=0x3ffffffff2d8) at emacs.c:1528 dummy = 70368744173184 stack_bottom_variable = 0 '\000' do_initial_setlocale = true dumping = true skip_args = 3 rlim = {rlim_cur = 8720000, rlim_max = 18446744073709551615} no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 (gdb) -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 01 Oct 2015 16:02:01 GMT) Full text and rfc822 format available.Message #117 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 01 Oct 2015 19:01:34 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Thu, 1 Oct 2015 16:05:57 +0200 > > (gdb) bt full > #0 0x00003fffb5a9a870 in strcmp () at /lib64/power8/libc.so.6 > #1 0x00000000102e3724 in unexec (new_name=0x116387e8 > "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 > "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") at unexelf.c:1258 > section = > {sh_name = 122, sh_type = 4, sh_flags = 2, sh_addr = > 268483528, sh_offset = 48072, sh_size = 768, sh_link = 5, sh_info = 0, > sh_addralign = 8, sh_entsize = 24} What does this GDB command display in frame #1: (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name ?
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Fri, 02 Oct 2015 08:37:01 GMT) Full text and rfc822 format available.Message #120 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Fri, 2 Oct 2015 10:36:27 +0200
[Message part 1 (text/plain, inline)]
On 10/01/2015 06:01 PM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Thu, 1 Oct 2015 16:05:57 +0200 >> >> (gdb) bt full >> #0 0x00003fffb5a9a870 in strcmp () at /lib64/power8/libc.so.6 >> #1 0x00000000102e3724 in unexec (new_name=0x116387e8 >> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 >> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") at unexelf.c:1258 >> section = >> {sh_name = 122, sh_type = 4, sh_flags = 2, sh_addr = >> 268483528, sh_offset = 48072, sh_size = 768, sh_link = 5, sh_info = 0, >> sh_addralign = 8, sh_entsize = 24} > What does this GDB command display in frame #1: > > (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name > > ? It is a really strange. in our unexelf.c is NEW_SECTION_H defined as #define NEW_SECTION_H(n) \ (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) Paul Eggert did a some patch 1 or 2 year ago and modify it to |#define NEW_SECTION_H(n) \ (*(ElfW (Shdr) *) entry_address (new_section_h, n, new_file_h->e_shentsize))| (gdb) frame 1 #1 0x00000000102e3724 in unexec (new_name=0x116387e8 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") at unexelf.c:1258 1258 if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") (gdb) p old_section_names $1 = 0x3fffab1dbfcc "" (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name No symbol "NEW_SECTION_H" in current context. (gdb) info frame Stack level 1, frame at 0x3fffffffd9d0: pc = 0x102e3724 in unexec (unexelf.c:1258); saved pc 0x101a1170 called by frame at 0x3fffffffda70, caller of frame at 0x3fffffffd770 source language c. Arglist at 0x3fffffffd770, args: new_name=0x116387e8 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs" Locals at 0x3fffffffd770, Previous frame's sp is 0x3fffffffd9d0 Saved registers: r30 at 0x3fffffffd9c0, r31 at 0x3fffffffd9c8, pc at 0x3fffffffd9e0, lr at 0x3fffffffd9e0 (gdb) info locals section = {sh_name = 122, sh_type = 4, sh_flags = 2, sh_addr = 268483528, sh_offset = 48072, sh_size = 768, sh_link = 5, sh_info = 0, sh_addralign = 8, sh_entsize = 24} new_file = 10 old_file = 9 new_file_size = 30790315 new_break = 0x116f0000 old_base = 0x3fffaa800000 "\177ELF\002\001\001" new_base = 0x3fffa8aa0000 "\177ELF\002\001\001" old_file_h = 0x3fffaa800000 new_file_h = 0x3fffa8aa0000 old_program_h = 0x3fffaa800040 new_program_h = 0x3fffa8aa0040 old_section_h = 0x3fffab1dc110 new_section_h = 0x3fffaa78c110 old_section_names = 0x3fffab1dbfcc "" old_bss_addr = 272498688 new_bss_addr = 292487168 old_bss_size = 563072 new_data2_size = 19988480 new_data2_offset = 4063232 new_data2_addr = 272498688 old_bss_offset = 4063232 new_data2_incr = 19988480 n = 9 nn = 0 old_bss_index = 22 old_sbss_index = -1 old_plt_index = 20 old_data_index = 21 new_data2_index = 20 stat_buf = {st_dev = 2050, st_ino = 5119871, st_nlink = 1, st_mode = 33261, st_uid = 20582, st_gid = 20582, __pad2 = 0, st_rdev = 0, st_size = 10801771, st_blksize = 4096, st_blocks = 20984, st_atim = {tv_sec = 1443772792, tv_nsec = 166219486}, st_mtim = {tv_sec = 1443772792, tv_nsec = 46219474}, st_ctim = {tv_sec = 1443772792, tv_nsec = 46219474}, __unused4 = 0, __unused5 = 0, __unused6 = 0} old_file_size = 10801771 (gdb) info args new_name = 0x116387e8 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs" old_name = 0x11638838 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs" -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Fri, 02 Oct 2015 08:50:02 GMT) Full text and rfc822 format available.Message #123 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Fri, 02 Oct 2015 11:49:05 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Fri, 2 Oct 2015 10:36:27 +0200 > > What does this GDB command display in frame #1: > > (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name > > ? > > It is a really strange. > in our unexelf.c is NEW_SECTION_H defined as > > #define NEW_SECTION_H(n) \ > (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) > > Paul Eggert did a some patch 1 or 2 year ago and modify it to > #define NEW_SECTION_H(n) \ > (*(ElfW (Shdr) *) entry_address (new_section_h, n, new_file_h->e_shentsize)) > > (gdb) frame 1 > #1 0x00000000102e3724 in unexec (new_name=0x116387e8 > "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 > "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") > at unexelf.c:1258 > 1258 if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") > (gdb) p old_section_names > $1 = 0x3fffab1dbfcc "" > (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name > No symbol "NEW_SECTION_H" in current context. Use the expansion of that macro instead to display the value.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Fri, 02 Oct 2015 13:00:05 GMT) Full text and rfc822 format available.Message #126 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Fri, 2 Oct 2015 14:58:56 +0200
On 10/02/2015 10:49 AM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Fri, 2 Oct 2015 10:36:27 +0200 >> >> What does this GDB command display in frame #1: >> >> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name >> >> ? >> >> It is a really strange. >> in our unexelf.c is NEW_SECTION_H defined as >> >> #define NEW_SECTION_H(n) \ >> (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) >> >> Paul Eggert did a some patch 1 or 2 year ago and modify it to >> #define NEW_SECTION_H(n) \ >> (*(ElfW (Shdr) *) entry_address (new_section_h, n, new_file_h->e_shentsize)) >> >> (gdb) frame 1 >> #1 0x00000000102e3724 in unexec (new_name=0x116387e8 >> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 >> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") >> at unexelf.c:1258 >> 1258 if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") >> (gdb) p old_section_names >> $1 = 0x3fffab1dbfcc "" >> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name >> No symbol "NEW_SECTION_H" in current context. > Use the expansion of that macro instead to display the value. How to use the expansion. Are you connected on freenode #emacs. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Fri, 02 Oct 2015 13:47:02 GMT) Full text and rfc822 format available.Message #129 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Fri, 02 Oct 2015 16:46:23 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Fri, 2 Oct 2015 14:58:56 +0200 > > On 10/02/2015 10:49 AM, Eli Zaretskii wrote: > >> Cc: 20614 <at> debbugs.gnu.org > >> From: Petr Hracek <phracek <at> redhat.com> > >> Date: Fri, 2 Oct 2015 10:36:27 +0200 > >> > >> What does this GDB command display in frame #1: > >> > >> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name > >> > >> ? > >> > >> It is a really strange. > >> in our unexelf.c is NEW_SECTION_H defined as > >> > >> #define NEW_SECTION_H(n) \ > >> (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) > >> > >> Paul Eggert did a some patch 1 or 2 year ago and modify it to > >> #define NEW_SECTION_H(n) \ > >> (*(ElfW (Shdr) *) entry_address (new_section_h, n, new_file_h->e_shentsize)) > >> > >> (gdb) frame 1 > >> #1 0x00000000102e3724 in unexec (new_name=0x116387e8 > >> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 > >> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") > >> at unexelf.c:1258 > >> 1258 if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") > >> (gdb) p old_section_names > >> $1 = 0x3fffab1dbfcc "" > >> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name > >> No symbol "NEW_SECTION_H" in current context. > > Use the expansion of that macro instead to display the value. > How to use the expansion. Just type it by hand: (gdb) p old_section_names + (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (nn))) > Are you connected on freenode #emacs. No.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 05 Oct 2015 07:41:02 GMT) Full text and rfc822 format available.Message #132 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 5 Oct 2015 09:40:15 +0200
On 10/02/2015 03:46 PM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Fri, 2 Oct 2015 14:58:56 +0200 >> >> On 10/02/2015 10:49 AM, Eli Zaretskii wrote: >>>> Cc: 20614 <at> debbugs.gnu.org >>>> From: Petr Hracek <phracek <at> redhat.com> >>>> Date: Fri, 2 Oct 2015 10:36:27 +0200 >>>> >>>> What does this GDB command display in frame #1: >>>> >>>> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name >>>> >>>> ? >>>> >>>> It is a really strange. >>>> in our unexelf.c is NEW_SECTION_H defined as >>>> >>>> #define NEW_SECTION_H(n) \ >>>> (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) >>>> >>>> Paul Eggert did a some patch 1 or 2 year ago and modify it to >>>> #define NEW_SECTION_H(n) \ >>>> (*(ElfW (Shdr) *) entry_address (new_section_h, n, new_file_h->e_shentsize)) >>>> >>>> (gdb) frame 1 >>>> #1 0x00000000102e3724 in unexec (new_name=0x116387e8 >>>> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 >>>> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") >>>> at unexelf.c:1258 >>>> 1258 if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") >>>> (gdb) p old_section_names >>>> $1 = 0x3fffab1dbfcc "" >>>> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name >>>> No symbol "NEW_SECTION_H" in current context. >>> Use the expansion of that macro instead to display the value. >> How to use the expansion. > Just type it by hand: > > (gdb) p old_section_names + (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (nn))) > >> Are you connected on freenode #emacs. > No. First of all thank you for your time. Well, (gdb) p (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (nn))) No symbol "ElfW" in current context. (gdb) Also ElfBitsW does not exists. (gdb) p ElfBitsW No symbol "ElfBitsW" in current context. (gdb) I tried to find out what could be used from elf.h header file but no any idea. I guess that ELFSIZE should be defined from unexec.h, right? http://git.savannah.gnu.org/cgit/emacs.git/tree/src/unexelf.c?h=emacs-24#n513 (gdb) p ELFSIZE No symbol "ELFSIZE" in current context. (gdb) (gdb) frame 1 #1 0x00000000102e4174 in unexec (new_name=0x115c2868 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x115c28b8 "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") at unexelf.c:1257 1257 if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") (gdb) i locals section = {sh_name = 122, sh_type = 4, sh_flags = 2, sh_addr = 268483520, sh_offset = 48064, sh_size = 768, sh_link = 5, sh_info = 0, sh_addralign = 8, sh_entsize = 24} new_file = 10 old_file = 9 new_file_size = 30325149 new_break = 0x11690000 old_base = 0x3fffaa7a0000 "\177ELF\002\001\001" new_base = 0x3fffa8ab0000 "\177ELF\002\001\001" old_file_h = 0x3fffaa7a0000 new_file_h = 0x3fffa8ab0000 old_program_h = 0x3fffaa7a0040 new_program_h = 0x3fffa8ab0040 old_section_h = 0x3fffab17a798 new_section_h = 0x3fffaa72a798 old_section_names = 0x3fffab17a657 "" old_bss_addr = 272564224 new_bss_addr = 292093952 old_bss_size = 563096 new_data2_size = 19529728 new_data2_offset = 4063232 new_data2_addr = 272564224 old_bss_offset = 4063232 new_data2_incr = 19529728 n = 9 nn = 0 old_bss_index = 22 old_sbss_index = -1 old_plt_index = 20 old_data_index = 21 new_data2_index = 20 stat_buf = {st_dev = 2050, st_ino = 5119868, st_nlink = 1, st_mode = 33261, st_uid = 20582, st_gid = 20582, __pad2 = 0, st_rdev = 0, st_size = 10795357, st_blksize = 4096, st_blocks = 20976, st_atim = {tv_sec = 1444028953, tv_nsec = 509013261}, st_mtim = {tv_sec = 1444028953, tv_nsec = 379013248}, st_ctim = {tv_sec = 1444028953, tv_nsec = 379013248}, __unused4 = 0, __unused5 = 0, __unused6 = 0} old_file_size = 10795357 (gdb) It seems like some compilation directives are missing. But of course I am guessing. Local exec file: `/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs', file type elf64-powerpcle. Entry point: 0x10016100 0x0000000010000238 - 0x0000000010000249 is .interp 0x000000001000024c - 0x000000001000026c is .note.ABI-tag 0x000000001000026c - 0x0000000010000290 is .note.gnu.build-id 0x0000000010000290 - 0x000000001000036c is .gnu.hash 0x0000000010000370 - 0x0000000010006790 is .dynsym 0x0000000010006790 - 0x000000001000b204 is .dynstr 0x000000001000b204 - 0x000000001000ba5c is .gnu.version 0x000000001000ba60 - 0x000000001000bbc0 is .gnu.version_r 0x000000001000bbc0 - 0x000000001000bec0 is .rela.toc 0x000000001000bec0 - 0x0000000010011ff8 is .rela.plt 0x0000000010012000 - 0x000000001001204c is .init 0x0000000010012060 - 0x000000001037d398 is .text 0x000000001037d398 - 0x000000001037d3bc is .fini 0x000000001037d3c0 - 0x00000000103a08e2 is .rodata 0x00000000103a08e4 - 0x00000000103a9178 is .eh_frame_hdr 0x00000000103a9178 - 0x00000000103d0258 is .eh_frame 0x00000000103ef100 - 0x00000000103ef530 is .data.rel.ro 0x00000000103ef530 - 0x00000000103ef970 is .dynamic 0x00000000103ef970 - 0x00000000103f0000 is .got 0x00000000103f0000 - 0x00000000103f2078 is .plt 0x00000000103f2078 - 0x00000000106b91b8 is .data 0x00000000106b91c0 - 0x00000000107408e0 is .bss 0x00003fffb7fb0200 - 0x00003fffb7fb0224 is .note.gnu.build-id in /lib64/ld64.so.2 0x00003fffb7fb0228 - 0x00003fffb7fb02e4 is .hash in /lib64/ld64.so.2 -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 05 Oct 2015 08:28:02 GMT) Full text and rfc822 format available.Message #135 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 05 Oct 2015 11:27:17 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Mon, 5 Oct 2015 09:40:15 +0200 > > >>>> What does this GDB command display in frame #1: > >>>> > >>>> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name > >>>> > >>>> ? > >>>> > >>>> It is a really strange. > >>>> in our unexelf.c is NEW_SECTION_H defined as > >>>> > >>>> #define NEW_SECTION_H(n) \ > >>>> (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) > >>>> > >>>> Paul Eggert did a some patch 1 or 2 year ago and modify it to > >>>> #define NEW_SECTION_H(n) \ > >>>> (*(ElfW (Shdr) *) entry_address (new_section_h, n, new_file_h->e_shentsize)) > >>>> > >>>> (gdb) frame 1 > >>>> #1 0x00000000102e3724 in unexec (new_name=0x116387e8 > >>>> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 > >>>> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") > >>>> at unexelf.c:1258 > >>>> 1258 if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") > >>>> (gdb) p old_section_names > >>>> $1 = 0x3fffab1dbfcc "" > >>>> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name > >>>> No symbol "NEW_SECTION_H" in current context. > >>> Use the expansion of that macro instead to display the value. > >> How to use the expansion. > > Just type it by hand: > > > > (gdb) p old_section_names + (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (nn))) > > > >> Are you connected on freenode #emacs. > > No. > First of all thank you for your time. > Well, > (gdb) p (*(ElfW (Shdr) *) ((byte *) new_section_h + > new_file_h->e_shentsize * (nn))) > No symbol "ElfW" in current context. > (gdb) > Also ElfBitsW does not exists. > (gdb) p ElfBitsW > No symbol "ElfBitsW" in current context. > (gdb) You need to expand all these macros by hand. They are defined at the beginning of unexelf.c: #ifndef ElfW # define ElfBitsW(bits, type) Elf##bits##_##type # ifndef ELFSIZE # ifdef _LP64 # define ELFSIZE 64 # else # define ELFSIZE 32 # endif # endif /* This macro expands `bits' before invoking ElfBitsW. */ # define ElfExpandBitsW(bits, type) ElfBitsW (bits, type) # define ElfW(type) ElfExpandBitsW (ELFSIZE, type) #endif I would suggest at first to rebuild Emacs with "-gdwarf-4 -g3" compiler switches, maybe that will allow you to type expressions with macros, and let GDB expand them using the debug info. Maybe.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 05 Oct 2015 09:17:02 GMT) Full text and rfc822 format available.Message #138 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 5 Oct 2015 11:16:32 +0200
On 10/05/2015 10:27 AM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Mon, 5 Oct 2015 09:40:15 +0200 >> >>>>>> What does this GDB command display in frame #1: >>>>>> >>>>>> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name >>>>>> >>>>>> ? >>>>>> >>>>>> It is a really strange. >>>>>> in our unexelf.c is NEW_SECTION_H defined as >>>>>> >>>>>> #define NEW_SECTION_H(n) \ >>>>>> (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) >>>>>> >>>>>> Paul Eggert did a some patch 1 or 2 year ago and modify it to >>>>>> #define NEW_SECTION_H(n) \ >>>>>> (*(ElfW (Shdr) *) entry_address (new_section_h, n, new_file_h->e_shentsize)) >>>>>> >>>>>> (gdb) frame 1 >>>>>> #1 0x00000000102e3724 in unexec (new_name=0x116387e8 >>>>>> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/emacs", old_name=0x11638838 >>>>>> "/home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs") >>>>>> at unexelf.c:1258 >>>>>> 1258 if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") >>>>>> (gdb) p old_section_names >>>>>> $1 = 0x3fffab1dbfcc "" >>>>>> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name >>>>>> No symbol "NEW_SECTION_H" in current context. >>>>> Use the expansion of that macro instead to display the value. >>>> How to use the expansion. >>> Just type it by hand: >>> >>> (gdb) p old_section_names + (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (nn))) >>> >>>> Are you connected on freenode #emacs. >>> No. >> First of all thank you for your time. >> Well, >> (gdb) p (*(ElfW (Shdr) *) ((byte *) new_section_h + >> new_file_h->e_shentsize * (nn))) >> No symbol "ElfW" in current context. >> (gdb) >> Also ElfBitsW does not exists. >> (gdb) p ElfBitsW >> No symbol "ElfBitsW" in current context. >> (gdb) > You need to expand all these macros by hand. They are defined at the > beginning of unexelf.c: > > #ifndef ElfW > # define ElfBitsW(bits, type) Elf##bits##_##type > # ifndef ELFSIZE > # ifdef _LP64 > # define ELFSIZE 64 > # else > # define ELFSIZE 32 > # endif > # endif > /* This macro expands `bits' before invoking ElfBitsW. */ > # define ElfExpandBitsW(bits, type) ElfBitsW (bits, type) > # define ElfW(type) ElfExpandBitsW (ELFSIZE, type) > #endif > > I would suggest at first to rebuild Emacs with "-gdwarf-4 -g3" > compiler switches, maybe that will allow you to type expressions with > macros, and let GDB expand them using the debug info. Maybe. Well, finally I have got it. (gdb) p (*(ElfW (Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (nn))) $1 = {sh_name = 1735746149, sh_type = 1650614623, sh_flags = 7090183337103746418, sh_addr = 28550371716589429, sh_offset = 8313477191008871470, sh_size = 8458434531098129012, sh_link = 1634885479, sh_info = 1936025454, sh_addralign = 6874592421672660480, sh_entsize = 478660485485} (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name $2 = 0x4000128ceb51 <Address 0x4000128ceb51 out of bounds> (gdb) p old_section_names $3 = 0x3fffab1788ec "" (gdb) Hope it helps. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 05 Oct 2015 09:40:02 GMT) Full text and rfc822 format available.Message #141 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 05 Oct 2015 12:39:12 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Mon, 5 Oct 2015 11:16:32 +0200 > > (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name > $2 = 0x4000128ceb51 <Address 0x4000128ceb51 out of bounds> We have a function valid_pointer_p in alloc.c. What happens if you use the same code in unexec, before the series of calls to strcmp that crash, and only proceed to call strcmp if valid_pointer_p returns a positive value?
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 05 Oct 2015 11:24:01 GMT) Full text and rfc822 format available.Message #144 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 5 Oct 2015 13:23:42 +0200
On 10/05/2015 11:39 AM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Mon, 5 Oct 2015 11:16:32 +0200 >> >> (gdb) p old_section_names + NEW_SECTION_H (nn).sh_name >> $2 = 0x4000128ceb51 <Address 0x4000128ceb51 out of bounds> > We have a function valid_pointer_p in alloc.c. What happens if you > use the same code in unexec, before the series of calls to strcmp that > crash, and only proceed to call strcmp if valid_pointer_p returns a > positive value? I have no problem to do it. I have made a this patch against emacs-24.3 diff --git a/src/unexelf.c b/src/unexelf.c index d365940..677a1af 100644 --- a/src/unexelf.c +++ b/src/unexelf.c @@ -389,6 +389,7 @@ temacs: #include <unexec.h> extern void fatal (const char *msgid, ...); +extern int valid_pointer_p (void *); #include <sys/types.h> #include <stdint.h> @@ -845,8 +846,7 @@ unexec (const char *new_name, const char *old_name) ElfW (Word) alignment = (NEW_PROGRAM_H (n)).p_align; if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) alignment = OLD_SECTION_H (old_bss_index).sh_addralign; - -#ifdef __sgi +#if defined __sgi || defined __powerpc64__ /* According to r02kar <at> x4u2.desy.de (Karsten Kuenne) and oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we always get "Program segment above .bss" when dumping @@ -866,8 +866,10 @@ unexec (const char *new_name, const char *old_name) == round_up (old_bss_addr, alignment))) break; } +#ifndef __powerpc64__ if (n < 0) fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); +#endif /* Make sure that the size includes any padding before the old .bss section. */ @@ -1251,6 +1253,12 @@ temacs: be no harm in that provided that r_offset is always the first member. */ nn = section.sh_info; + valid_pointer_p (old_section_names + NEW_SECTION_H (nn).sh_name); if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") || !strcmp ((old_section_names + NEW_SECTION_H (nn).sh_name), ".sdata") But if fails with /home/phracek/rpmbuild/BUILD/emacs-24.3/src/unexelf.c:1263: undefined reference to `valid_pointer_p' collect2: error: ld returned 1 exit status make[2]: *** [temacs] Error 1 make[2]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/src' make[1]: *** [src] Error 2 make[1]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3' make: *** [bootstrap] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.QoDw34 (%build) -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 05 Oct 2015 11:41:01 GMT) Full text and rfc822 format available.Message #147 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 05 Oct 2015 14:40:11 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Mon, 5 Oct 2015 13:23:42 +0200 > > But if fails with > /home/phracek/rpmbuild/BUILD/emacs-24.3/src/unexelf.c:1263: undefined > reference to `valid_pointer_p' That function is static, so it's only known in alloc.c. Either remove the 'static' qualifier from it, or copy it to unexelf.c.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 05 Oct 2015 14:08:02 GMT) Full text and rfc822 format available.Message #150 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 5 Oct 2015 16:07:43 +0200
On 10/05/2015 01:40 PM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Mon, 5 Oct 2015 13:23:42 +0200 >> >> But if fails with >> /home/phracek/rpmbuild/BUILD/emacs-24.3/src/unexelf.c:1263: undefined >> reference to `valid_pointer_p' > That function is static, so it's only known in alloc.c. Either remove > the 'static' qualifier from it, or copy it to unexelf.c. Well, with this patch (contains several traces): diff --git a/src/unexelf.c b/src/unexelf.c index d365940..e8765fd 100644 --- a/src/unexelf.c +++ b/src/unexelf.c @@ -389,6 +389,7 @@ temacs: #include <unexec.h> extern void fatal (const char *msgid, ...); +extern int valid_pointer_p (void *); #include <sys/types.h> #include <stdint.h> @@ -845,8 +846,7 @@ unexec (const char *new_name, const char *old_name) ElfW (Word) alignment = (NEW_PROGRAM_H (n)).p_align; if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) alignment = OLD_SECTION_H (old_bss_index).sh_addralign; - -#ifdef __sgi +#if defined __sgi || defined __powerpc64__ /* According to r02kar <at> x4u2.desy.de (Karsten Kuenne) and oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we always get "Program segment above .bss" when dumping @@ -866,8 +866,10 @@ unexec (const char *new_name, const char *old_name) == round_up (old_bss_addr, alignment))) break; } +#ifndef __powerpc64__ if (n < 0) fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); +#endif /* Make sure that the size includes any padding before the old .bss section. */ @@ -1251,6 +1253,14 @@ temacs: be no harm in that provided that r_offset is always the first member. */ nn = section.sh_info; + int ret = 0; + ret = valid_pointer_p ( old_section_names ); + fprintf(stderr, "old_section_names %d\n", ret); + ret = valid_pointer_p (NEW_SECTION_H (nn).sh_name); + fprintf(stderr, "NEW_SECTION_H (nn).sh_name) %d\n", ret); + ret = valid_pointer_p (old_section_names + NEW_SECTION_H (nn).sh_name); + fprintf(stderr, "old_section + NEW_SECTION %d\n", ret); + if (valid_pointer_p (old_section_names + NEW_SECTION_H (nn).sh_name) > 0) if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".data") || !strcmp ((old_section_names + NEW_SECTION_H (nn).sh_name), ".sdata") Result is following: Finding pointers to doc strings...done Dumping under the name emacs ~~~~ some debugging data ~~~~ old_section_names 1 NEW_SECTION_H (nn).sh_name) 0 old_section + NEW_SECTION 1 old_section_names 1 NEW_SECTION_H (nn).sh_name) 0 old_section + NEW_SECTION 0 ~~~ end debugging data ~~~~ 87482 pure bytes used cd ../lisp; make -w compile-first EMACS=/home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs make[3]: Entering directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp' Compiling /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.el /bin/sh: /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs: cannot execute binary file make[3]: *** [/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.elc] Error 126 make[3]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp' make[2]: *** [bootstrap-emacs] Error 2 make[2]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/src' make[1]: *** [src] Error 2 make[1]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3' Some information about bootstrap-emacs binary: $ file /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), corrupted program header size, stripped $ If condition valid_pointer_p is set to >= 0 then it segfaults again. Where can be a problem now? -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 05 Oct 2015 16:53:02 GMT) Full text and rfc822 format available.Message #153 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 05 Oct 2015 19:52:10 +0300
> Cc: 20614 <at> debbugs.gnu.org > From: Petr Hracek <phracek <at> redhat.com> > Date: Mon, 5 Oct 2015 16:07:43 +0200 > > cd ../lisp; make -w compile-first > EMACS=/home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs > make[3]: Entering directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp' > Compiling > /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.el > /bin/sh: /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs: > cannot execute binary file > make[3]: *** > [/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.elc] > Error 126 > make[3]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp' > make[2]: *** [bootstrap-emacs] Error 2 > make[2]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/src' > make[1]: *** [src] Error 2 > make[1]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3' > > Some information about bootstrap-emacs binary: > $ file /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs > /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs: ELF 64-bit > LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), > corrupted program header size, stripped > $ > > If condition valid_pointer_p is set to >= 0 then it segfaults again. > Where can be a problem now? I don't know, sorry. This requires help from someone who knows about the structure of ELF executables. I suggested to ask some of Binutils maintainers to help.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 06 Oct 2015 08:42:02 GMT) Full text and rfc822 format available.Message #156 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 6 Oct 2015 10:41:47 +0200
On 10/05/2015 06:52 PM, Eli Zaretskii wrote: >> Cc: 20614 <at> debbugs.gnu.org >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Mon, 5 Oct 2015 16:07:43 +0200 >> >> cd ../lisp; make -w compile-first >> EMACS=/home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs >> make[3]: Entering directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp' >> Compiling >> /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.el >> /bin/sh: /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs: >> cannot execute binary file >> make[3]: *** >> [/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.elc] >> Error 126 >> make[3]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp' >> make[2]: *** [bootstrap-emacs] Error 2 >> make[2]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/src' >> make[1]: *** [src] Error 2 >> make[1]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3' >> >> Some information about bootstrap-emacs binary: >> $ file /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs >> /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs: ELF 64-bit >> LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), >> corrupted program header size, stripped >> $ >> >> If condition valid_pointer_p is set to >= 0 then it segfaults again. >> Where can be a problem now? > I don't know, sorry. This requires help from someone who knows about > the structure of ELF executables. I suggested to ask some of Binutils > maintainers to help. Reason of the failure is probably caused by if valid_pointer_p. [phracek <at> ibm-p8-generic-01-le02 emacs]$ readelf -a /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: PowerPC64 Version: 0x1 Entry point address: 0x10016100 Start of program headers: 64 (bytes into file) Start of section headers: 23502592 (bytes into file) Flags: 0x1669f00 Size of this header: 0 (bytes) Size of program headers: 0 (bytes) Number of program headers: 9 Size of section headers: 64 (bytes) Number of section headers: 35 Section header string table index: 32 Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align [ 0] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 1] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 2] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 3] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 4] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 5] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 6] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 7] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 8] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 9] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [10] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [11] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [12] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [13] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [14] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [15] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [16] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [17] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [18] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [19] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [20] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [21] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [22] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [23] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [24] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [25] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [26] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [27] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [28] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [29] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [30] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [31] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [32] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [33] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [34] <no-name> NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific) There are no section groups in this file. There are no relocations in this file. The decoding of unwind sections for machine type PowerPC64 is not currently supported. No version information found in this file. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 06 Oct 2015 11:53:01 GMT) Full text and rfc822 format available.Message #159 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 6 Oct 2015 13:52:52 +0200
On 10/06/2015 10:41 AM, Petr Hracek wrote: > On 10/05/2015 06:52 PM, Eli Zaretskii wrote: >>> Cc: 20614 <at> debbugs.gnu.org >>> From: Petr Hracek <phracek <at> redhat.com> >>> Date: Mon, 5 Oct 2015 16:07:43 +0200 >>> >>> cd ../lisp; make -w compile-first >>> EMACS=/home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs >>> make[3]: Entering directory >>> `/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp' >>> Compiling >>> /home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.el >>> /bin/sh: /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs: >>> cannot execute binary file >>> make[3]: *** >>> [/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp/emacs-lisp/macroexp.elc] >>> Error 126 >>> make[3]: Leaving directory >>> `/home/phracek/rpmbuild/BUILD/emacs-24.3/lisp' >>> make[2]: *** [bootstrap-emacs] Error 2 >>> make[2]: Leaving directory >>> `/home/phracek/rpmbuild/BUILD/emacs-24.3/src' >>> make[1]: *** [src] Error 2 >>> make[1]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3' >>> >>> Some information about bootstrap-emacs binary: >>> $ file /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs >>> /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs: ELF 64-bit >>> LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), >>> corrupted program header size, stripped >>> $ >>> >>> If condition valid_pointer_p is set to >= 0 then it segfaults again. >>> Where can be a problem now? >> I don't know, sorry. This requires help from someone who knows about >> the structure of ELF executables. I suggested to ask some of Binutils >> maintainers to help. > > Reason of the failure is probably caused by if valid_pointer_p. > [phracek <at> ibm-p8-generic-01-le02 emacs]$ readelf -a > /home/phracek/rpmbuild/BUILD/emacs-24.3/src/bootstrap-emacs > ELF Header: > Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 > Class: ELF64 > Data: 2's complement, little endian > Version: 1 (current) > OS/ABI: UNIX - System V > ABI Version: 0 > Type: EXEC (Executable file) > Machine: PowerPC64 > Version: 0x1 > Entry point address: 0x10016100 > Start of program headers: 64 (bytes into file) > Start of section headers: 23502592 (bytes into file) > Flags: 0x1669f00 > Size of this header: 0 (bytes) > Size of program headers: 0 (bytes) > Number of program headers: 9 > Size of section headers: 64 (bytes) > Number of section headers: 35 > Section header string table index: 32 > > Section Headers: > [Nr] Name Type Address Offset > Size EntSize Flags Link Info Align > [ 0] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 1] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 2] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 3] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 4] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 5] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 6] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 7] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 8] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 9] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [10] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [11] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [12] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [13] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [14] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [15] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [16] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [17] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [18] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [19] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [20] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [21] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [22] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [23] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [24] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [25] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [26] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [27] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [28] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [29] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [30] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [31] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [32] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [33] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [34] <no-name> NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > Key to Flags: > W (write), A (alloc), X (execute), M (merge), S (strings) > I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) > O (extra OS processing required) o (OS specific), p (processor > specific) > > There are no section groups in this file. > > There are no relocations in this file. > > The decoding of unwind sections for machine type PowerPC64 is not > currently supported. > > No version information found in this file. > > I have a question unexec part is called always? Even when make bootstrap is not called? What is bootstrap used for? -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 06 Oct 2015 14:57:02 GMT) Full text and rfc822 format available.Message #162 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Petr Hracek <phracek <at> redhat.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 06 Oct 2015 17:55:56 +0300
> From: Petr Hracek <phracek <at> redhat.com> > Date: Tue, 6 Oct 2015 13:52:52 +0200 > > I have a question > unexec part is called always? > Even when make bootstrap is not called? It is called each time the Emacs executable is built. > What is bootstrap used for? Fir the first build, when there are no *.elc files.
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 07 Oct 2015 08:18:01 GMT) Full text and rfc822 format available.Message #165 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: jcapik <at> redhat.com, 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 7 Oct 2015 10:17:38 +0200
[Message part 1 (text/plain, inline)]
On 10/06/2015 04:55 PM, Eli Zaretskii wrote: >> From: Petr Hracek <phracek <at> redhat.com> >> Date: Tue, 6 Oct 2015 13:52:52 +0200 >> >> I have a question >> unexec part is called always? >> Even when make bootstrap is not called? > It is called each time the Emacs executable is built. > >> What is bootstrap used for? > Fir the first build, when there are no *.elc files. Our secondary arches expert did awesome research and mention it in bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=1265271#c11 Basically If you don't have an access to bugzilla: Hello guys. I'm affraid it didn't work correctly even with the old binutils. The whole unexec logic is broken and needs a lot of love. The relocation undoing is done the following way on x86_64: .rela.plt -> .plt .rela.bss -> .bss .rela.got -> .got ... but on ppc64le I get the following with the old binutils: .rela.plt -> .data .rela.toc -> empty string (probably some zeros in memory) ... and with the new binutils it probably just attacks a different part of memory and segfaults. On ppc64be I also get wrong results ... with binutils-2.23.52.0.1-50.el7.ppc64 .rela.plt -> .data .rela.toc -> empty string .rela.data.rel.ro -> .data.rel.ro with binutils-2.23.52.0.1-54.el7.ppc64 .rela.plt -> .data .rela.toc -> segfault Fedora 22 is affected too ... with binutils-2.25-8.fc22.ppc64le .rela.plt -> .data .rela.toc -> empty string .rela.data.rel.ro -> .data.rel.ro Fedora 22 for s390x seems ok ... .rela.plt -> .plt .rela.got -> .got Fedora 22 for aarch64 seems ok too .. .rela.plt -> .plt .rela.got -> .got Can anybody from upstream correct it? @Jaromir: Thank you for your time and awesome analysis. -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 07 Oct 2015 10:57:01 GMT) Full text and rfc822 format available.Message #168 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> To: Petr Hracek <phracek <at> redhat.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org, jcapik <at> redhat.com Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 07 Oct 2015 19:56:00 +0900
What happens if you apply the following patch? YAMAMOTO Mitsuharu mituharu <at> math.s.chiba-u.ac.jp diff --git a/src/unexelf.c b/src/unexelf.c index 59e2725..0d67b99 100644 --- a/src/unexelf.c +++ b/src/unexelf.c @@ -730,7 +730,14 @@ unexec (const char *new_name, const char *old_name) old_plt_index = find_section (".plt", old_section_names, old_name, old_file_h, old_section_h, 1); if (old_plt_index != -1) - if (OLD_SECTION_H (old_plt_index).sh_type != SHT_NOBITS) + if (OLD_SECTION_H (old_plt_index).sh_type != SHT_NOBITS + || ((OLD_SECTION_H (old_plt_index).sh_addr + + OLD_SECTION_H (old_plt_index).sh_size + != OLD_SECTION_H (old_bss_index).sh_addr) + && (old_sbss_index == -1 + || (OLD_SECTION_H (old_plt_index).sh_addr + + OLD_SECTION_H (old_plt_index).sh_size + != OLD_SECTION_H (old_sbss_index).sh_addr)))) old_plt_index = -1; if (old_sbss_index == -1 && old_plt_index == -1)
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Wed, 07 Oct 2015 12:27:02 GMT) Full text and rfc822 format available.Message #171 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> Cc: Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org, jcapik <at> redhat.com Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Wed, 7 Oct 2015 14:26:46 +0200
On 10/07/2015 12:56 PM, YAMAMOTO Mitsuharu wrote: > What happens if you apply the following patch? > > YAMAMOTO Mitsuharu > mituharu <at> math.s.chiba-u.ac.jp > > diff --git a/src/unexelf.c b/src/unexelf.c > index 59e2725..0d67b99 100644 > --- a/src/unexelf.c > +++ b/src/unexelf.c > @@ -730,7 +730,14 @@ unexec (const char *new_name, const char *old_name) > old_plt_index = find_section (".plt", old_section_names, > old_name, old_file_h, old_section_h, 1); > if (old_plt_index != -1) > - if (OLD_SECTION_H (old_plt_index).sh_type != SHT_NOBITS) > + if (OLD_SECTION_H (old_plt_index).sh_type != SHT_NOBITS > + || ((OLD_SECTION_H (old_plt_index).sh_addr > + + OLD_SECTION_H (old_plt_index).sh_size > + != OLD_SECTION_H (old_bss_index).sh_addr) > + && (old_sbss_index == -1 > + || (OLD_SECTION_H (old_plt_index).sh_addr > + + OLD_SECTION_H (old_plt_index).sh_size > + != OLD_SECTION_H (old_sbss_index).sh_addr)))) > old_plt_index = -1; > > if (old_sbss_index == -1 && old_plt_index == -1) Awesome. The patch fixes the problem and I can build the emacs under PPC64LE. By the way .toc is still not fixed. It is specific to ppc64. And it doesn't cause the segfault, though. It has a data and addresses. It seems that unexec corrupted it:( -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 08 Oct 2015 00:55:02 GMT) Full text and rfc822 format available.Message #174 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> To: Petr Hracek <phracek <at> redhat.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org, jcapik <at> redhat.com, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 08 Oct 2015 09:54:02 +0900
>>>>> On Wed, 7 Oct 2015 14:26:46 +0200, Petr Hracek <phracek <at> redhat.com> said: > Awesome. The patch fixes the problem and I can build the emacs under > PPC64LE. Does it mean only the unexec stage completes without segfault? Or the resulting binary also runs successfully? > By the way .toc is still not fixed. It is specific to ppc64. And it > doesn't cause the segfault, though. It has a data and addresses. > It seems that unexec corrupted it:( I guess you mean the entry in https://bugzilla.redhat.com/show_bug.cgi?id=1265271#c16 . .rela.plt -> .plt .rela.toc -> empty string What does the above notation stand for? Is this the output of some tool? Then what would be the output for src/temacs? YAMAMOTO Mitsuharu mituharu <at> math.s.chiba-u.ac.jp
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Thu, 08 Oct 2015 16:05:02 GMT) Full text and rfc822 format available.Message #177 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Jaromir Capik <jcapik <at> redhat.com> To: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> Cc: Petr Hracek <phracek <at> redhat.com>, Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Thu, 8 Oct 2015 09:27:45 -0400 (EDT)
Hello guys. > > Awesome. The patch fixes the problem and I can build the emacs under > > PPC64LE. > > Does it mean only the unexec stage completes without segfault? Or the > resulting binary also runs successfully? The unexec call runs without segfaults now and the resulting binary can be started and exited (that was all I tested). > > By the way .toc is still not fixed. It is specific to ppc64. And it > > doesn't cause the segfault, though. It has a data and addresses. > > It seems that unexec corrupted it:( > > I guess you mean the entry in > https://bugzilla.redhat.com/show_bug.cgi?id=1265271#c16 . > > .rela.plt -> .plt > .rela.toc -> empty string > > What does the above notation stand for? Is this the output of some > tool? Then what would be the output for src/temacs? That is a debug output I put in the relocation udoing loop where the segfault occured when the section names were compared with listed literals. I was printing the section names of REL/RELA sections and their PROGBITS/NOBITS counterparts. The segfault occured when accessing 'old_section_names + NEW_SECTION_H (section.sh_info).sh_name' where section.sh_name was '.rela.toc'. That means it was pointing to an invalid address. When the .plt evaluation was fixed, the segfault disappeared, but the NEW_SECTION_H (section.sh_info).sh_type is NULL now and the section name is empty. The question is whether this is ok or not. After looking at the complete list of sections it seems to be a PPC specific oddity and I'm looking at the code to make myself sure it doesn't need a special care. So, right now it requires no attention from your side. Thanks, Jaromir. -- Jaromir Capik Red Hat Czech, s.r.o. Software Engineer / Secondary Arch Email: jcapik <at> redhat.com Web: www.cz.redhat.com Red Hat Czech s.r.o., Purkynova 99/71, 612 45, Brno, Czech Republic IC: 27690016
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Sat, 10 Oct 2015 01:41:03 GMT) Full text and rfc822 format available.Message #180 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> To: Jaromir Capik <jcapik <at> redhat.com> Cc: Petr Hracek <phracek <at> redhat.com>, Eli Zaretskii <eliz <at> gnu.org>, 20614 <at> debbugs.gnu.org, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>, Andreas Schwab <schwab <at> suse.de> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Sat, 10 Oct 2015 10:40:39 +0900
>>>>> On Thu, 8 Oct 2015 09:27:45 -0400 (EDT), Jaromir Capik <jcapik <at> redhat.com> said: >> > By the way .toc is still not fixed. It is specific to ppc64. And it >> > doesn't cause the segfault, though. It has a data and addresses. >> > It seems that unexec corrupted it:( >> >> I guess you mean the entry in >> https://bugzilla.redhat.com/show_bug.cgi?id=1265271#c16 . >> >> .rela.plt -> .plt >> .rela.toc -> empty string >> >> What does the above notation stand for? Is this the output of some >> tool? Then what would be the output for src/temacs? > That is a debug output I put in the relocation udoing loop where > the segfault occured when the section names were compared with listed > literals. > I was printing the section names of REL/RELA sections and their > PROGBITS/NOBITS counterparts. The segfault occured when accessing > 'old_section_names + NEW_SECTION_H (section.sh_info).sh_name' where > section.sh_name was '.rela.toc'. That means it was pointing to > an invalid address. When the .plt evaluation was fixed, the segfault > disappeared, but the NEW_SECTION_H (section.sh_info).sh_type is NULL > now and the section name is empty. The question is whether this is ok > or not. After looking at the complete list of sections it seems to be > a PPC specific oddity and I'm looking at the code to make myself sure > it doesn't need a special care. So, right now it requires no attention > from your side. Well, according to the output of "readelf -S ./temacs" shown in https://bugzilla.redhat.com/show_bug.cgi?id=1265271#c8 , the "Info" column, which seems to correspond to the sh_info member, for the .rela.toc section already points to the 0th (NULL) section even for temacs. So I think it is OK for the dumped executable to have the same value. Andreas, do you know if the change I proposed in http://lists.gnu.org/archive/html/bug-gnu-emacs/2015-10/msg00382.html does not break your fix for PowerPC64 in 2005 below? http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=825dad898e2d43eb2802c070fd4ce08816f907df Do you happen to have the output of "readelf -S temacs" or something like that as of your fix? YAMAMOTO Mitsuharu mituharu <at> math.s.chiba-u.ac.jp
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Sat, 10 Oct 2015 15:45:02 GMT) Full text and rfc822 format available.Message #183 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Schwab <schwab <at> suse.de> To: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> Cc: Petr Hracek <phracek <at> redhat.com>, Jaromir Capik <jcapik <at> redhat.com>, 20614 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Sat, 10 Oct 2015 17:44:24 +0200
Please try this patch instead: diff --git a/src/unexelf.c b/src/unexelf.c index 483da6e..2e8b4c7 100644 --- a/src/unexelf.c +++ b/src/unexelf.c @@ -616,6 +616,32 @@ find_section (const char *name, const char *section_names, const char *file_name return -1; } +/* Find the index of the first bss (NOBITS) section, count the number + of bss sections that follow and compute the overall size of these + sections. */ +static int +find_bss_sections (const char *file_name, + ElfW(Ehdr) *old_file_h, ElfW(Shdr) *old_section_h, + ElfW (Word) *size, int *num) +{ + ptrdiff_t idx; + + for (idx = 1; idx < old_file_h->e_shnum; idx++) + if (OLD_SECTION_H (idx).sh_type == SHT_NOBITS) + { + ptrdiff_t idx2 = idx; + + while (OLD_SECTION_H (idx2 + 1).sh_type == SHT_NOBITS) + idx2++; + *size = (OLD_SECTION_H (idx2).sh_addr + OLD_SECTION_H (idx2).sh_size + - OLD_SECTION_H (idx).sh_addr); + *num = idx2 + 1 - idx; + return idx; + } + fatal ("Can't find bss section in %s", file_name); + return -1; +} + /* **************************************************************** * unexec * @@ -652,13 +678,14 @@ unexec (const char *new_name, const char *old_name) ElfW (Addr) old_bss_addr, new_bss_addr; ElfW (Word) old_bss_size, new_data2_size; + int n_bss_sections; ElfW (Off) new_data2_offset; ElfW (Addr) new_data2_addr; ElfW (Off) old_bss_offset; ElfW (Word) new_data2_incr; ptrdiff_t n, nn; - ptrdiff_t old_bss_index, old_sbss_index, old_plt_index; + ptrdiff_t old_bss_index; ptrdiff_t old_data_index, new_data2_index; #if defined _SYSTYPE_SYSV || defined __sgi ptrdiff_t old_mdebug_index; @@ -716,50 +743,12 @@ unexec (const char *new_name, const char *old_name) /* Find the old .bss section. Figure out parameters of the new data2 and bss sections. */ - old_bss_index = find_section (".bss", old_section_names, - old_name, old_file_h, old_section_h, 0); - - old_sbss_index = find_section (".sbss", old_section_names, - old_name, old_file_h, old_section_h, 1); - if (old_sbss_index != -1) - if (OLD_SECTION_H (old_sbss_index).sh_type != SHT_NOBITS) - old_sbss_index = -1; - - /* PowerPC64 has .plt in the BSS section. */ - old_plt_index = find_section (".plt", old_section_names, - old_name, old_file_h, old_section_h, 1); - if (old_plt_index != -1) - if (OLD_SECTION_H (old_plt_index).sh_type != SHT_NOBITS) - old_plt_index = -1; + old_bss_index = find_bss_sections (old_name, old_file_h, old_section_h, + &old_bss_size, &n_bss_sections); - if (old_sbss_index == -1 && old_plt_index == -1) - { - old_bss_addr = OLD_SECTION_H (old_bss_index).sh_addr; - old_bss_size = OLD_SECTION_H (old_bss_index).sh_size; - old_bss_offset = OLD_SECTION_H (old_bss_index).sh_offset; - new_data2_index = old_bss_index; - } - else if (old_plt_index != -1 - && (old_sbss_index == -1 - || (OLD_SECTION_H (old_sbss_index).sh_addr - > OLD_SECTION_H (old_plt_index).sh_addr))) - { - old_bss_addr = OLD_SECTION_H (old_plt_index).sh_addr; - old_bss_size = OLD_SECTION_H (old_bss_index).sh_size - + OLD_SECTION_H (old_plt_index).sh_size; - if (old_sbss_index != -1) - old_bss_size += OLD_SECTION_H (old_sbss_index).sh_size; - old_bss_offset = OLD_SECTION_H (old_plt_index).sh_offset; - new_data2_index = old_plt_index; - } - else - { - old_bss_addr = OLD_SECTION_H (old_sbss_index).sh_addr; - old_bss_size = OLD_SECTION_H (old_bss_index).sh_size - + OLD_SECTION_H (old_sbss_index).sh_size; - old_bss_offset = OLD_SECTION_H (old_sbss_index).sh_offset; - new_data2_index = old_sbss_index; - } + old_bss_addr = OLD_SECTION_H (old_bss_index).sh_addr; + old_bss_offset = OLD_SECTION_H (old_bss_index).sh_offset; + new_data2_index = old_bss_index; /* Find the old .data section. Figure out parameters of the new data2 and bss sections. */ @@ -851,20 +840,11 @@ unexec (const char *new_name, const char *old_name) { /* Compute maximum of all requirements for alignment of section. */ ElfW (Word) alignment = (NEW_PROGRAM_H (n)).p_align; - if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) + if (OLD_SECTION_H (old_bss_index).sh_addralign > alignment) alignment = OLD_SECTION_H (old_bss_index).sh_addralign; -#ifdef __sgi - /* According to r02kar <at> x4u2.desy.de (Karsten Kuenne) - and oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we - always get "Program segment above .bss" when dumping - when the executable doesn't have an sbss section. */ - if (old_sbss_index != -1) -#endif /* __sgi */ if (NEW_PROGRAM_H (n).p_vaddr + NEW_PROGRAM_H (n).p_filesz - > (old_sbss_index == -1 - ? old_bss_addr - : round_up (old_bss_addr, alignment))) + > round_up (old_bss_addr, alignment)) fatal ("Program segment above .bss in %s", old_name); if (NEW_PROGRAM_H (n).p_type == PT_LOAD @@ -932,12 +912,10 @@ unexec (const char *new_name, const char *old_name) memcpy (&NEW_SECTION_H (nn), &OLD_SECTION_H (n), old_file_h->e_shentsize); - if (n == old_bss_index - /* The new bss and sbss section's size is zero, and its file offset - and virtual address should be off by NEW_DATA2_SIZE. */ - || n == old_sbss_index || n == old_plt_index - ) + if (n >= old_bss_index && n < old_bss_index + n_bss_sections) { + /* The new bss section's size is zero, and its file offset + and virtual address should be off by NEW_DATA2_SIZE. */ /* NN should be `old_s?bss_index + 1' at this point. */ NEW_SECTION_H (nn).sh_offset = new_data2_offset + new_data2_size; NEW_SECTION_H (nn).sh_addr = new_data2_addr + new_data2_size; @@ -998,15 +976,6 @@ temacs: && NEW_SECTION_H (nn).sh_type != SHT_DYNSYM) PATCH_INDEX (NEW_SECTION_H (nn).sh_info); - if (old_sbss_index != -1) - if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".sbss")) - { - NEW_SECTION_H (nn).sh_offset = - round_up (NEW_SECTION_H (nn).sh_offset, - NEW_SECTION_H (nn).sh_addralign); - NEW_SECTION_H (nn).sh_type = SHT_PROGBITS; - } - /* Now, start to copy the content of sections. */ if (NEW_SECTION_H (nn).sh_type == SHT_NULL || NEW_SECTION_H (nn).sh_type == SHT_NOBITS) @@ -1226,7 +1195,7 @@ temacs: nn = symp->st_shndx; if (nn > old_bss_index) nn--; - if (nn == old_bss_index) + if (nn >= old_bss_index && nn < old_bss_index + n_bss_sections) memset (new, 0, symp->st_size); else { -- 2.6.1 Andreas. -- Andreas Schwab, SUSE Labs, schwab <at> suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 13 Oct 2015 07:31:02 GMT) Full text and rfc822 format available.Message #186 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Petr Hracek <phracek <at> redhat.com> To: Andreas Schwab <schwab <at> suse.de>, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> Cc: Jaromir Capik <jcapik <at> redhat.com>, 20614 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 13 Oct 2015 09:30:14 +0200
On 10/10/2015 05:44 PM, Andreas Schwab wrote: > Please try this patch instead: > > diff --git a/src/unexelf.c b/src/unexelf.c > index 483da6e..2e8b4c7 100644 > --- a/src/unexelf.c > +++ b/src/unexelf.c > @@ -616,6 +616,32 @@ find_section (const char *name, const char *section_names, const char *file_name > return -1; > } > > +/* Find the index of the first bss (NOBITS) section, count the number > + of bss sections that follow and compute the overall size of these > + sections. */ > +static int > +find_bss_sections (const char *file_name, > + ElfW(Ehdr) *old_file_h, ElfW(Shdr) *old_section_h, > + ElfW (Word) *size, int *num) > +{ > + ptrdiff_t idx; > + > + for (idx = 1; idx < old_file_h->e_shnum; idx++) > + if (OLD_SECTION_H (idx).sh_type == SHT_NOBITS) > + { > + ptrdiff_t idx2 = idx; > + > + while (OLD_SECTION_H (idx2 + 1).sh_type == SHT_NOBITS) > + idx2++; > + *size = (OLD_SECTION_H (idx2).sh_addr + OLD_SECTION_H (idx2).sh_size > + - OLD_SECTION_H (idx).sh_addr); > + *num = idx2 + 1 - idx; > + return idx; > + } > + fatal ("Can't find bss section in %s", file_name); > + return -1; > +} > + > /* **************************************************************** > * unexec > * > @@ -652,13 +678,14 @@ unexec (const char *new_name, const char *old_name) > > ElfW (Addr) old_bss_addr, new_bss_addr; > ElfW (Word) old_bss_size, new_data2_size; > + int n_bss_sections; > ElfW (Off) new_data2_offset; > ElfW (Addr) new_data2_addr; > ElfW (Off) old_bss_offset; > ElfW (Word) new_data2_incr; > > ptrdiff_t n, nn; > - ptrdiff_t old_bss_index, old_sbss_index, old_plt_index; > + ptrdiff_t old_bss_index; > ptrdiff_t old_data_index, new_data2_index; > #if defined _SYSTYPE_SYSV || defined __sgi > ptrdiff_t old_mdebug_index; > @@ -716,50 +743,12 @@ unexec (const char *new_name, const char *old_name) > /* Find the old .bss section. Figure out parameters of the new > data2 and bss sections. */ > > - old_bss_index = find_section (".bss", old_section_names, > - old_name, old_file_h, old_section_h, 0); > - > - old_sbss_index = find_section (".sbss", old_section_names, > - old_name, old_file_h, old_section_h, 1); > - if (old_sbss_index != -1) > - if (OLD_SECTION_H (old_sbss_index).sh_type != SHT_NOBITS) > - old_sbss_index = -1; > - > - /* PowerPC64 has .plt in the BSS section. */ > - old_plt_index = find_section (".plt", old_section_names, > - old_name, old_file_h, old_section_h, 1); > - if (old_plt_index != -1) > - if (OLD_SECTION_H (old_plt_index).sh_type != SHT_NOBITS) > - old_plt_index = -1; > + old_bss_index = find_bss_sections (old_name, old_file_h, old_section_h, > + &old_bss_size, &n_bss_sections); > > - if (old_sbss_index == -1 && old_plt_index == -1) > - { > - old_bss_addr = OLD_SECTION_H (old_bss_index).sh_addr; > - old_bss_size = OLD_SECTION_H (old_bss_index).sh_size; > - old_bss_offset = OLD_SECTION_H (old_bss_index).sh_offset; > - new_data2_index = old_bss_index; > - } > - else if (old_plt_index != -1 > - && (old_sbss_index == -1 > - || (OLD_SECTION_H (old_sbss_index).sh_addr > - > OLD_SECTION_H (old_plt_index).sh_addr))) > - { > - old_bss_addr = OLD_SECTION_H (old_plt_index).sh_addr; > - old_bss_size = OLD_SECTION_H (old_bss_index).sh_size > - + OLD_SECTION_H (old_plt_index).sh_size; > - if (old_sbss_index != -1) > - old_bss_size += OLD_SECTION_H (old_sbss_index).sh_size; > - old_bss_offset = OLD_SECTION_H (old_plt_index).sh_offset; > - new_data2_index = old_plt_index; > - } > - else > - { > - old_bss_addr = OLD_SECTION_H (old_sbss_index).sh_addr; > - old_bss_size = OLD_SECTION_H (old_bss_index).sh_size > - + OLD_SECTION_H (old_sbss_index).sh_size; > - old_bss_offset = OLD_SECTION_H (old_sbss_index).sh_offset; > - new_data2_index = old_sbss_index; > - } > + old_bss_addr = OLD_SECTION_H (old_bss_index).sh_addr; > + old_bss_offset = OLD_SECTION_H (old_bss_index).sh_offset; > + new_data2_index = old_bss_index; > > /* Find the old .data section. Figure out parameters of > the new data2 and bss sections. */ > @@ -851,20 +840,11 @@ unexec (const char *new_name, const char *old_name) > { > /* Compute maximum of all requirements for alignment of section. */ > ElfW (Word) alignment = (NEW_PROGRAM_H (n)).p_align; > - if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) > + if (OLD_SECTION_H (old_bss_index).sh_addralign > alignment) > alignment = OLD_SECTION_H (old_bss_index).sh_addralign; > > -#ifdef __sgi > - /* According to r02kar <at> x4u2.desy.de (Karsten Kuenne) > - and oliva <at> gnu.org (Alexandre Oliva), on IRIX 5.2, we > - always get "Program segment above .bss" when dumping > - when the executable doesn't have an sbss section. */ > - if (old_sbss_index != -1) > -#endif /* __sgi */ > if (NEW_PROGRAM_H (n).p_vaddr + NEW_PROGRAM_H (n).p_filesz > - > (old_sbss_index == -1 > - ? old_bss_addr > - : round_up (old_bss_addr, alignment))) > + > round_up (old_bss_addr, alignment)) > fatal ("Program segment above .bss in %s", old_name); > > if (NEW_PROGRAM_H (n).p_type == PT_LOAD > @@ -932,12 +912,10 @@ unexec (const char *new_name, const char *old_name) > memcpy (&NEW_SECTION_H (nn), &OLD_SECTION_H (n), > old_file_h->e_shentsize); > > - if (n == old_bss_index > - /* The new bss and sbss section's size is zero, and its file offset > - and virtual address should be off by NEW_DATA2_SIZE. */ > - || n == old_sbss_index || n == old_plt_index > - ) > + if (n >= old_bss_index && n < old_bss_index + n_bss_sections) > { > + /* The new bss section's size is zero, and its file offset > + and virtual address should be off by NEW_DATA2_SIZE. */ > /* NN should be `old_s?bss_index + 1' at this point. */ > NEW_SECTION_H (nn).sh_offset = new_data2_offset + new_data2_size; > NEW_SECTION_H (nn).sh_addr = new_data2_addr + new_data2_size; > @@ -998,15 +976,6 @@ temacs: > && NEW_SECTION_H (nn).sh_type != SHT_DYNSYM) > PATCH_INDEX (NEW_SECTION_H (nn).sh_info); > > - if (old_sbss_index != -1) > - if (!strcmp (old_section_names + NEW_SECTION_H (nn).sh_name, ".sbss")) > - { > - NEW_SECTION_H (nn).sh_offset = > - round_up (NEW_SECTION_H (nn).sh_offset, > - NEW_SECTION_H (nn).sh_addralign); > - NEW_SECTION_H (nn).sh_type = SHT_PROGBITS; > - } > - > /* Now, start to copy the content of sections. */ > if (NEW_SECTION_H (nn).sh_type == SHT_NULL > || NEW_SECTION_H (nn).sh_type == SHT_NOBITS) > @@ -1226,7 +1195,7 @@ temacs: > nn = symp->st_shndx; > if (nn > old_bss_index) > nn--; > - if (nn == old_bss_index) > + if (nn >= old_bss_index && nn < old_bss_index + n_bss_sections) > memset (new, 0, symp->st_size); > else > { Well, with this patch emacs failed again with message like: Dumping under the name emacs emacs: Program segment above .bss in /home/phracek/rpmbuild/BUILD/emacs-24.3/src/temacs make[2]: *** [bootstrap-emacs] Error 1 make[2]: Leaving directory `/home/phracek/rpmbuild/BUILD/emacs-24.3/src' make[1]: *** [src] Error 2 Well: Header seems to be fine: ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Ident Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: PowerPC 64-bit Version: 1 (current) Entry point address: 0x100184f0 Start of program headers: 64 (bytes into file) Start of section headers: 14281064 (bytes into file) Flags: 0x2 Size of this header: 64 (bytes) Size of program header entries: 56 (bytes) Number of program headers entries: 9 Size of section header entries: 64 (bytes) Number of section headers entries: 34 Section header string table index: 31 Section Headers: [Nr] Name Type Addr Off Size ES Flags Lk Inf Al [ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0 [ 1] .interp PROGBITS 0000000010000238 00000238 00000011 0 A 0 0 1 [ 2] .note.ABI-tag NOTE 000000001000024c 0000024c 00000020 0 A 0 0 4 [ 3] .note.gnu.build-id NOTE 000000001000026c 0000026c 00000024 0 A 0 0 4 [ 4] .gnu.hash GNU_HASH 0000000010000290 00000290 000000dc 0 A 5 0 8 [ 5] .dynsym DYNSYM 0000000010000370 00000370 000063f0 24 A 6 1 8 [ 6] .dynstr STRTAB 0000000010006760 00006760 00004ae9 0 A 0 0 1 [ 7] .gnu.version GNU_versym 000000001000b24a 0000b24a 00000854 2 A 5 0 2 [ 8] .gnu.version_r GNU_verneed 000000001000baa0 0000baa0 00000160 0 A 6 10 8 [ 9] .rela.toc RELA 000000001000bc00 0000bc00 00000330 24 A 5 0 8 [10] .rela.plt RELA 000000001000bf30 0000bf30 000060d8 24 A 5 20 8 [11] .init PROGBITS 0000000010012020 00012020 0000004c 0 AX 0 0 32 [12] .text PROGBITS 0000000010012080 00012080 00236f60 0 AX 0 0 32 [13] .fini PROGBITS 0000000010248fe0 00248fe0 00000024 0 AX 0 0 4 [14] .rodata PROGBITS 0000000010249008 00249008 0001fde0 0 A 0 0 8 [15] .eh_frame_hdr PROGBITS 0000000010268de8 00268de8 000073c4 0 A 0 0 4 [16] .eh_frame PROGBITS 00000000102701b0 002701b0 0002e2d8 0 A 0 0 8 [17] .data.rel.ro PROGBITS 00000000102af640 0029f640 00000430 0 WA 0 0 8 [18] .dynamic DYNAMIC 00000000102afa70 0029fa70 00000440 16 WA 6 0 8 [19] .got PROGBITS 00000000102afeb0 0029feb0 00000150 8 WA 0 0 8 [20] .plt NOBITS 00000000102b0000 002a0000 00002058 8 WA 0 0 8 [21] .data PROGBITS 00000000102b2058 002a2058 002c6d36 0 WA 0 0 8 [22] .bss NOBITS 0000000010578d90 00568d8e 00087740 0 WA 0 0 16 [23] .comment PROGBITS 0000000000000000 00568d8e 00000058 1 MS 0 0 1 [24] .debug_aranges PROGBITS 0000000000000000 00568de6 00001350 0 0 0 1 [25] .debug_info PROGBITS 0000000000000000 0056a136 003aea05 0 0 0 1 [26] .debug_abbrev PROGBITS 0000000000000000 00918b3b 00021af4 0 0 0 1 [27] .debug_line PROGBITS 0000000000000000 0093a62f 0007c2d9 0 0 0 1 [28] .debug_str PROGBITS 0000000000000000 009b6908 00047fb3 1 MS 0 0 1 [29] .debug_loc PROGBITS 0000000000000000 009fe8bb 00327db2 0 0 0 1 [30] .debug_ranges PROGBITS 0000000000000000 00d2666d 000781b0 0 0 0 1 [31] .shstrtab STRTAB 0000000000000000 00d9e81d 00000148 0 0 0 1 [32] .symtab SYMTAB 0000000000000000 00d9f1e8 00037ba8 24 33 5414 8 [33] .strtab STRTAB 0000000000000000 00dd6d90 0002e227 0 0 0 1 What debug information do you need? -- Petr Hracek Software Engineer Developer Experience Red Hat, Inc Mob: +420777056169 email: phracek <at> redhat.com
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 13 Oct 2015 08:32:02 GMT) Full text and rfc822 format available.Message #189 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Schwab <schwab <at> suse.de> To: Petr Hracek <phracek <at> redhat.com> Cc: Jaromir Capik <jcapik <at> redhat.com>, 20614 <at> debbugs.gnu.org, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Tue, 13 Oct 2015 10:30:55 +0200
Petr Hracek <phracek <at> redhat.com> writes: > [20] .plt NOBITS 00000000102b0000 002a0000 00002058 > 8 WA 0 0 8 > [21] .data PROGBITS 00000000102b2058 002a2058 002c6d36 > 0 WA 0 0 8 > [22] .bss NOBITS 0000000010578d90 00568d8e 00087740 > 0 WA 0 0 16 You have a broken linker. Having NOBITS sections interspersed with non-NOBITS sections doesn't make sense. Andreas. -- Andreas Schwab, SUSE Labs, schwab <at> suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Fri, 16 Oct 2015 15:25:02 GMT) Full text and rfc822 format available.Message #192 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Jaromir Capik <jcapik <at> redhat.com> To: Andreas Schwab <schwab <at> suse.de> Cc: Petr Hracek <phracek <at> redhat.com>, 20614 <at> debbugs.gnu.org, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Fri, 16 Oct 2015 11:24:27 -0400 (EDT)
Hi Andreas. > Petr Hracek <phracek <at> redhat.com> writes: > > > [20] .plt NOBITS 00000000102b0000 002a0000 00002058 > > 8 WA 0 0 8 > > [21] .data PROGBITS 00000000102b2058 002a2058 002c6d36 > > 0 WA 0 0 8 > > [22] .bss NOBITS 0000000010578d90 00568d8e 00087740 > > 0 WA 0 0 16 > > You have a broken linker. Having NOBITS sections interspersed with > non-NOBITS sections doesn't make sense. If I understood correctly, this is intentional (security). If you believe it's wrong, feel free to discuss that with the binutils maintainers. Regards, Jaromir. -- Jaromir Capik Red Hat Czech, s.r.o. Software Engineer / Secondary Arch Email: jcapik <at> redhat.com Web: www.cz.redhat.com Red Hat Czech s.r.o., Purkynova 99/71, 612 45, Brno, Czech Republic IC: 27690016
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 19 Oct 2015 07:21:02 GMT) Full text and rfc822 format available.Message #195 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Schwab <schwab <at> suse.de> To: Jaromir Capik <jcapik <at> redhat.com> Cc: Petr Hracek <phracek <at> redhat.com>, 20614 <at> debbugs.gnu.org, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> Subject: Re: bug#20614: Segmentation fault when building on Power8 Little Endian Date: Mon, 19 Oct 2015 09:20:52 +0200
Jaromir Capik <jcapik <at> redhat.com> writes: > Hi Andreas. > >> Petr Hracek <phracek <at> redhat.com> writes: >> >> > [20] .plt NOBITS 00000000102b0000 002a0000 00002058 >> > 8 WA 0 0 8 >> > [21] .data PROGBITS 00000000102b2058 002a2058 002c6d36 >> > 0 WA 0 0 8 >> > [22] .bss NOBITS 0000000010578d90 00568d8e 00087740 >> > 0 WA 0 0 16 >> >> You have a broken linker. Having NOBITS sections interspersed with >> non-NOBITS sections doesn't make sense. > > If I understood correctly, this is intentional (security). This has nothing to do with security. A NOBITS section only makes sense at the end of a segment. Andreas. -- Andreas Schwab, SUSE Labs, schwab <at> suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Mon, 02 Nov 2015 04:02:02 GMT) Full text and rfc822 format available.Message #198 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Paul Eggert <eggert <at> cs.ucla.edu> To: Eli Zaretskii <eliz <at> gnu.org>, Alan Modra <amodra <at> gmail.com> Cc: 20614 <at> debbugs.gnu.org Subject: Re: [PATCH 0/8] ELF unexec (bug#20614) Date: Sun, 1 Nov 2015 20:00:42 -0800
[Message part 1 (text/plain, inline)]
Eli Zaretskii wrote: > Thanks. It would be best to send these to the bug tracker, > 20614 <at> debbugs.gnu.org, so that this is recorded with the bug. Done by attaching them to this email, which is CC'ed there. > I'll let ELF experts review this, but in any case, we will need your > legal paperwork before we can accept such a substantial contribution. At first glance these patches look good to me; thanks Alan! We can pick these up once the paperwork goes through.
[unexec-fixes.tgz (application/x-compressed-tar, attachment)]
Glenn Morris <rgm <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Mon, 02 Nov 2015 19:17:01 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Sun, 08 Nov 2015 18:08:02 GMT) Full text and rfc822 format available.Message #203 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Paul Eggert <eggert <at> cs.ucla.edu> To: Alan Modra <amodra <at> gmail.com> Cc: Petr Hracek <phracek <at> redhat.com>, 20614 <at> debbugs.gnu.org Subject: Re: [PATCH 0/8] ELF unexec (bug#20614) Date: Sun, 8 Nov 2015 10:07:42 -0800
[Message part 1 (text/plain, inline)]
Alan Modra wrote: > IBM legal get back to me to say they believe IBM's FSF copyright > assignment letter does cover contributions to EMACS. This should be enough. I installed your patch into Emacs master, with one minor fixup (attached) to pacify './configure --enable-gcc-warnings'. Petr, can you please verify that this fixes the bug for you? If so, I can mark the bug as fixed in our database. Thanks again for fixing the bug, Alan.
[0001-src-unexelf.c-NEW_PROGRAM_H-Remove-unused-macro-Bug-.patch (text/x-diff, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 17 Nov 2015 02:00:03 GMT) Full text and rfc822 format available.Message #206 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Paul Eggert <eggert <at> cs.ucla.edu> To: Alan Modra <amodra <at> gmail.com> Cc: Petr Hracek <phracek <at> redhat.com>, 20614 <at> debbugs.gnu.org Subject: alignment problem with recent Emacs unexelf.c changes Date: Mon, 16 Nov 2015 17:59:25 -0800
[Message part 1 (text/plain, inline)]
I ran into a porting problem when using Emacs's recent unexelf.c changes in a picky build using GCC’s -fsanitize=undefined option. The attached patch worked for me, so I installed it into emacs-25. Alan, could you please check and/or improve this patch, and/or think about whether there might be similar problems elsewhere? Thanks.
[0001-ELF-unexec-align-section-header.txt (text/plain, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 17 Nov 2015 17:43:01 GMT) Full text and rfc822 format available.Message #209 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Alan Modra <amodra <at> gmail.com> To: Paul Eggert <eggert <at> cs.ucla.edu> Cc: Petr Hracek <phracek <at> redhat.com>, 20614 <at> debbugs.gnu.org Subject: Re: alignment problem with recent Emacs unexelf.c changes Date: Tue, 17 Nov 2015 19:33:04 +1030
On Mon, Nov 16, 2015 at 05:59:25PM -0800, Paul Eggert wrote: > I ran into a porting problem when using Emacs's recent unexelf.c changes in > a picky build using GCC’s -fsanitize=undefined option. The attached patch > worked for me, so I installed it into emacs-25. Alan, could you please check > and/or improve this patch, and/or think about whether there might be similar > problems elsewhere? Thanks. The patch looks good to me, and yes, section headers ought to be aligned to their natural alignment (4 byte for 32-bit object files, 8 byte for 64-bit objects). .symtab should be kept aligned too, and your patch accomplishes that as well. Thanks for fixing this. No other alignment requirements come to mind. Note that the new unexelf.c does not handle objects using .lrodata, .ldata and .lbss or other "large sections" typically loaded well above .bss in the address space. The old unexelf.c didn't handle them properly either.. -- Alan Modra Australia Development Lab, IBM
bug-gnu-emacs <at> gnu.org
:bug#20614
; Package emacs
.
(Tue, 23 Feb 2016 10:35:01 GMT) Full text and rfc822 format available.Message #212 received at 20614 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Paul Eggert <eggert <at> cs.ucla.edu> Cc: Petr Hracek <phracek <at> redhat.com>, 20614 <at> debbugs.gnu.org, Alan Modra <amodra <at> gmail.com> Subject: Re: bug#20614: [PATCH 0/8] ELF unexec (bug#20614) Date: Tue, 23 Feb 2016 21:33:39 +1100
Paul Eggert <eggert <at> cs.ucla.edu> writes: > This should be enough. I installed your patch into Emacs master, with > one minor fixup (attached) to pacify './configure > --enable-gcc-warnings'. > > Petr, can you please verify that this fixes the bug for you? If so, I > can mark the bug as fixed in our database. That was 15 weeks ago, so this is presumably working now. I'm closing the bug report; please reopen if this is still a problem. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Tue, 23 Feb 2016 10:35:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Tue, 22 Mar 2016 11:24:03 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.