test results with the 2.35 branch for several architectures
Matthias Klose
doko@ubuntu.com
Thu Jul 9 10:25:22 GMT 2020
On 7/9/20 8:32 AM, Alan Modra wrote:
> On Wed, Jul 08, 2020 at 04:34:51PM +0200, Matthias Klose wrote:
>> powerpc:
>> Running /<<PKGBUILDDIR>>/ld/testsuite/ld-gc/gc.exp ...
>> FAIL: Check --gc-section
>> FAIL: Check --gc-section/-q
>> FAIL: Check --gc-section/-r/-e
>> FAIL: Check --gc-section/-r/-u
>
> I don't see these failures. Can you show ld.log for these tests?
FAIL: Check --gc-section
./ld-new -o tmpdir/gcrexe
-L/build/binutils-WwtG9h/binutils-2.34.90.20200706/ld/testsuite/ld-gc
--gc-sections -q -e main --defsym __stack_chk_fail=0 tmpdir/gc.o
Executing on host: sh -c {./ld-new -o tmpdir/gcrexe
-L/build/binutils-WwtG9h/binutils-2.34.90.20200706/ld/testsuite/ld-gc
--gc-sections -q -e main --defsym __stack_chk_fail=0 tmpdir/gc.o 2>&1}
/dev/null ld.tmp (timeout = 300)
spawn [open ...]
/build/binutils-WwtG9h/binutils-2.34.90.20200706/builddir-single/ld/../binutils/nm-new
tmpdir/gcrexe >tmpdir/nm.out
Executing on host: sh -c
{/build/binutils-WwtG9h/binutils-2.34.90.20200706/builddir-single/ld/../binutils/nm-new
tmpdir/gcrexe 2>ld.stderr} /dev/null tmpdir/nm.out (timeout = 300)
spawn [open ...]
10020008 D __bss_start
00000000 A __stack_chk_fail
10020008 D _edata
10020008 D _end
100000c0 T main
10020000 D unused_var
100000d0 T used_func
10020004 D used_var
unused section still here
FAIL: Check --gc-section/-q
./ld-new -o tmpdir/gcrel
-L/build/binutils-WwtG9h/binutils-2.34.90.20200706/ld/testsuite/ld-gc -r
--gc-sections -e main --defsym __stack_chk_fail=0 tmpdir/gc.o
Executing on host: sh -c {./ld-new -o tmpdir/gcrel
-L/build/binutils-WwtG9h/binutils-2.34.90.20200706/ld/testsuite/ld-gc -r
--gc-sections -e main --defsym __stack_chk_fail=0 tmpdir/gc.o 2>&1} /dev/null
ld.tmp (timeout = 300)
spawn [open ...]
/build/binutils-WwtG9h/binutils-2.34.90.20200706/builddir-single/ld/../binutils/nm-new
tmpdir/gcrel >tmpdir/nm.out
Executing on host: sh -c
{/build/binutils-WwtG9h/binutils-2.34.90.20200706/builddir-single/ld/../binutils/nm-new
tmpdir/gcrel 2>ld.stderr} /dev/null tmpdir/nm.out (timeout = 300)
spawn [open ...]
00000000 A __stack_chk_fail
00000000 T main
00000000 D unused_var
00000000 T used_func
00000000 D used_var
unused section still here
FAIL: Check --gc-section/-r/-e
./ld-new -o tmpdir/gcrel
-L/build/binutils-WwtG9h/binutils-2.34.90.20200706/ld/testsuite/ld-gc -r
--gc-sections -u used_func --defsym __stack_chk_fail=0 tmpdir/gc.o
Executing on host: sh -c {./ld-new -o tmpdir/gcrel
-L/build/binutils-WwtG9h/binutils-2.34.90.20200706/ld/testsuite/ld-gc -r
--gc-sections -u used_func --defsym __stack_chk_fail=0 tmpdir/gc.o 2>&1}
/dev/null ld.tmp (timeout = 300)
spawn [open ...]
/build/binutils-WwtG9h/binutils-2.34.90.20200706/builddir-single/ld/../binutils/nm-new
tmpdir/gcrel >tmpdir/nm.out
Executing on host: sh -c
{/build/binutils-WwtG9h/binutils-2.34.90.20200706/builddir-single/ld/../binutils/nm-new
tmpdir/gcrel 2>ld.stderr} /dev/null tmpdir/nm.out (timeout = 300)
spawn [open ...]
00000000 A __stack_chk_fail
00000000 D unused_var
00000000 T used_func
00000000 D used_var
unused section still here
FAIL: Check --gc-section/-r/-u
>
>> powerpc64:
>> Running /<<PKGBUILDDIR>>/ld/testsuite/ld-ifunc/ifunc.exp ...
>> FAIL: Run pr18841 with libpr18841b.so
>> FAIL: Run pr18841 with libpr18841c.so
>> FAIL: Run pr18841 with libpr18841bn.so (-z now)
>> FAIL: Run pr18841 with libpr18841cn.so (-z now)
>
> I don't see these failures using gcc-7.3.1 on RedHat FC27 or gcc-4.8.5
> on FC28 when running the testsuite. The test does do cross-module
> calls from within an ifunc resolver, which is nasty since the called
> function may not be relocated. In this case the called function (zoo)
> is just a stub so doesn't need relocating, but on ppc64 the function
> descriptor for zoo in the executable won't be relocated at the time
> the shared library ifunc resolver runs. That means the test will fail
> if your compiler generates PIEs by default. I do get segfaults on
> FC27 if I compile the executable as a PIE..
yes, GCC is configured with --enable-default-pie on both Debian and Ubuntu.
> HJ, I think I should change the test to use NOPIE_LDFLAGS and
> NOPIE_CFLAGS. That shouldn't affect the original purpose of the test,
> which was to ensure proper ifunc dynamic reloc sorting.
>
More information about the Binutils
mailing list