This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: testsuite regressions on trunk, compared to 2.28
On Wed, Jun 21, 2017 at 5:29 PM, Alan Modra <amodra@gmail.com> wrote:
> On Wed, Jun 21, 2017 at 03:32:31PM -0700, H.J. Lu wrote:
>> On Wed, Jun 21, 2017 at 3:18 PM, Matthias Klose <doko@ubuntu.com> wrote:
>> >> With PIE as default, I saw
>> >
>> > right, all compilers are configured/patched to default to hardening settings.
>>
>> x86-64 is clean now.
>
> Thanks for the patches, HJ, they tidied powerpc64le too.
>
> With gcc (Ubuntu 6.2.0-5ubuntu12) powerpc64le fails a bunch of gold
> tests, and one ld test:
> FAIL: Could not link a dynamic executable using local ifunc.
>
> Digging into that fail reveals "text relocations and GNU indirect
> functions will result in a segfault at runtime", which is the result
> of gcc using crt1.o for default PIE rather than Scrt1.o (which it uses
> for explicit -fPIE -pie). So there is a gcc-6.2 bug causing this
> problem. I haven't yet investigated whether this bug is already fixed
> upstream.
GCC 7 is OK on x86:
/usr/gcc-7.1.1-x32-pie/libexec/gcc/x86_64-pc-linux-gnu/7.1.1/collect2
-plugin /usr/gcc-7.1.1-x32-pie/libexec/gcc/x86_64-pc-linux-gnu/7.1.1/liblto_plugin.so
-plugin-opt=/usr/gcc-7.1.1-x32-pie/libexec/gcc/x86_64-pc-linux-gnu/7.1.1/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccJ8Lfkr.res
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64
-dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie /lib/../lib64/Scrt1.o
/lib/../lib64/crti.o
/usr/gcc-7.1.1-x32-pie/lib/gcc/x86_64-pc-linux-gnu/7.1.1/crtbeginS.o
-L/usr/gcc-7.1.1-x32-pie/lib/gcc/x86_64-pc-linux-gnu/7.1.1
-L/usr/gcc-7.1.1-x32-pie/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64
-L/usr/gcc-7.1.1-x32-pie/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../..
/tmp/cc7sTqY5.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc
--as-needed -lgcc_s --no-as-needed
/usr/gcc-7.1.1-x32-pie/lib/gcc/x86_64-pc-linux-gnu/7.1.1/crtendS.o
/lib/../lib64/crtn.o
--
H.J.