GNU bug report logs - #20614
Segmentation fault when building on Power8 Little Endian

Previous Next

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


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#20614; Package emacs. (Wed, 20 May 2015 07:59:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Petr Hracek <phracek <at> redhat.com>:
New bug report received and forwarded. Copy sent to 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)]

Information forwarded to 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
         ^^^^^^^^^^^^^^^^^^^^^^^^^^





Information forwarded to 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."




Information forwarded to 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)]

Added indication that bug 20614 blocks19759 Request was from 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.

Information forwarded to 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)]

Information forwarded to 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."




Information forwarded to 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)]

Information forwarded to 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





Information forwarded to 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."




Information forwarded to 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)]

Information forwarded to 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)]

Information forwarded to 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)]

Information forwarded to 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.




Information forwarded to 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)]

Information forwarded to 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.




Information forwarded to 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)]

Information forwarded to 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





Information forwarded to 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?




Information forwarded to 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.)




Information forwarded to 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





Information forwarded to 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





Information forwarded to 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.




Information forwarded to 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).




Severity set to 'important' from 'normal' Request was from 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.

Information forwarded to 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.)




Information forwarded to 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





Information forwarded to 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?




Information forwarded to 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





Information forwarded to 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?




Information forwarded to 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>




Information forwarded to 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)]

Information forwarded to 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?




Information forwarded to 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





Information forwarded to 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)]

Information forwarded to 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





Information forwarded to 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).




Information forwarded to 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





Information forwarded to 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

?




Information forwarded to 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)]

Information forwarded to 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.




Information forwarded to 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





Information forwarded to 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.




Information forwarded to 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





Information forwarded to 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.




Information forwarded to 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





Information forwarded to 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?




Information forwarded to 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





Information forwarded to 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.




Information forwarded to 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





Information forwarded to 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.




Information forwarded to 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





Information forwarded to 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





Information forwarded to 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.




Information forwarded to 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)]

Information forwarded to 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)




Information forwarded to 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





Information forwarded to 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




Information forwarded to 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 





Information forwarded to 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




Information forwarded to 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."




Information forwarded to 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





Information forwarded to 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."




Information forwarded to 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 




Information forwarded to 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."




Information forwarded to 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)]

Added tag(s) patch. Request was from 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.

Information forwarded to 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)]

Information forwarded to 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)]

Information forwarded to 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




Information forwarded to 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




bug closed, send any further explanations to 20614 <at> debbugs.gnu.org and Petr Hracek <phracek <at> redhat.com> Request was from 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.

bug archived. Request was from 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.

This bug report was last modified 8 years and 37 days ago.

Previous Next


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