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.

Full log


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)]

This bug report was last modified 9 years and 171 days ago.

Previous Next


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