From c560184eb2074570988c498aaae494d0c4b00328 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 9 Jul 2020 22:48:10 +0930 Subject: [PATCH] powerpc garbage collect test ld's garbage collection test on powerpc64 catered for old compilers (pre -mcmodel=medium support), setting options that caused the test to fail. Which meant the test wasn't really testing anything. Get rid of that old compiler support, and avoid -fPIE fails on ppc32. * testsuite/ld-gc/gc.exp: Don't set -mminimal-toc for powerpc64, and remove powerpc64 xfail. Use -fno-PIE for ppc32. --- ld/ChangeLog | 5 +++++ ld/testsuite/ld-gc/gc.exp | 9 +++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index fa45f161ed2..195731edc35 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2020-07-09 Alan Modra + + * testsuite/ld-gc/gc.exp: Don't set -mminimal-toc for powerpc64, + and remove powerpc64 xfail. Use -fno-PIE for ppc32. + 2020-07-09 Alan Modra PR 18841 diff --git a/ld/testsuite/ld-gc/gc.exp b/ld/testsuite/ld-gc/gc.exp index ea3316887e3..285e7d1cb57 100644 --- a/ld/testsuite/ld-gc/gc.exp +++ b/ld/testsuite/ld-gc/gc.exp @@ -26,9 +26,9 @@ if ![check_gc_sections_available] { set cflags "-ffunction-sections -fdata-sections $NOSANTIZE_CFLAGS" set objfile "tmpdir/gc.o" -if [istarget powerpc64*-*-*] { - # otherwise with -mcmodel=medium gcc we get XPASSes. - set cflags "$cflags -mminimal-toc" +if { [istarget powerpc*-*-*] && ![istarget powerpc64*-*-*] } { + # Avoid using .got2 for powerpc -m32 + set cflags "$cflags $NOPIE_CFLAGS" } if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] } { @@ -71,9 +71,6 @@ proc test_gc { testname filename linker ldflags} { fail $testname return } - #ppc64_elf_gc_mark_hook needs to be taught how to look through - #the .toc section to properly mark variable sections for gc. - setup_xfail "powerpc64*-*-*" if {[info exists nm_output(unused_func)] \ || [info exists nm_output(unused_var)]} { send_log "unused section still here\n" -- 2.30.2