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