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.

(cherry picked from commit c560184eb2074570988c498aaae494d0c4b00328)
This commit is contained in:
Alan Modra 2020-07-09 22:48:10 +09:30
parent 3d186ccca3
commit d6fdc51f9e
2 changed files with 7 additions and 6 deletions

View File

@ -1,6 +1,10 @@
2020-07-13 Alan Modra <amodra@gmail.com> 2020-07-13 Alan Modra <amodra@gmail.com>
Apply from master Apply from master
2020-07-09 Alan Modra <amodra@gmail.com>
* 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 <amodra@gmail.com> 2020-07-09 Alan Modra <amodra@gmail.com>
PR 18841 PR 18841
* testsuite/ld-ifunc/ifunc.exp: Run pr18841 tests non-pie. * testsuite/ld-ifunc/ifunc.exp: Run pr18841 tests non-pie.

View File

@ -26,9 +26,9 @@ if ![check_gc_sections_available] {
set cflags "-ffunction-sections -fdata-sections $NOSANTIZE_CFLAGS" set cflags "-ffunction-sections -fdata-sections $NOSANTIZE_CFLAGS"
set objfile "tmpdir/gc.o" set objfile "tmpdir/gc.o"
if [istarget powerpc64*-*-*] { if { [istarget powerpc*-*-*] && ![istarget powerpc64*-*-*] } {
# otherwise with -mcmodel=medium gcc we get XPASSes. # Avoid using .got2 for powerpc -m32
set cflags "$cflags -mminimal-toc" set cflags "$cflags $NOPIE_CFLAGS"
} }
if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] } { if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] } {
@ -71,9 +71,6 @@ proc test_gc { testname filename linker ldflags} {
fail $testname fail $testname
return 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)] \ if {[info exists nm_output(unused_func)] \
|| [info exists nm_output(unused_var)]} { || [info exists nm_output(unused_var)]} {
send_log "unused section still here\n" send_log "unused section still here\n"