From 379d3f1ffc3fab112a0f388a1565c6be2f74f5c3 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 27 Jul 2015 05:16:38 -0700 Subject: Append $PLT_CFLAGS to CC for NOCROSSREFS tests NOCROSSREFS tests don't work with -fno-plt. This path appends $PLT_CFLAGS to CC for NOCROSSREFS tests. * ld-scripts/crossref.exp (CC): Save and restore. Append $PLT_CFLAGS. --- ld/testsuite/ChangeLog | 5 +++++ ld/testsuite/ld-scripts/crossref.exp | 10 ++++++++++ 2 files changed, 15 insertions(+) (limited to 'ld') diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 2e0bd92..9e785a8 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2015-07-27 H.J. Lu + * ld-scripts/crossref.exp (CC): Save and restore. Append + $PLT_CFLAGS. + +2015-07-27 H.J. Lu + * ld-i386/i386.exp (run_cc_link_tests): Add $PLT_CFLAGS to -fPIC if needed. * ld-x86-64/mpx.exp (run_cc_link_tests): Likewise. diff --git a/ld/testsuite/ld-scripts/crossref.exp b/ld/testsuite/ld-scripts/crossref.exp index 1b6a4bb..293b2a3 100644 --- a/ld/testsuite/ld-scripts/crossref.exp +++ b/ld/testsuite/ld-scripts/crossref.exp @@ -33,6 +33,11 @@ if { ![is_remote host] && [which $CC] == 0 } { global CFLAGS set old_CFLAGS "$CFLAGS" +# Pass -fplt to CC since -fno-plt doesn't work with NOCROSSREFS tests. +global PLT_CFLAGS +set old_CC "$CC" +set CC "$CC $PLT_CFLAGS" + # Xtensa targets currently default to putting literal values in a separate # section and that requires linker script support, so put literals in text. if [istarget xtensa*-*-*] { @@ -63,6 +68,7 @@ if { ![ld_compile $CC "$srcdir/$subdir/cross1.c" tmpdir/cross1.o] \ unresolved $test1 unresolved $test2 set CFLAGS "$old_CFLAGS" + set CC "$old_CC" return } @@ -98,6 +104,7 @@ if [string match "" $exec_output] then { if { ![ld_compile $CC "$srcdir/$subdir/cross3.c" tmpdir/cross3.o] } { unresolved $test2 set CFLAGS "$old_CFLAGS" + set CC "$old_CC" return } @@ -122,12 +129,14 @@ if [string match "" $exec_output] then { if { ![ld_compile $CC "$srcdir/$subdir/cross4.c" tmpdir/cross4.o] } { unresolved $test3 set CFLAGS "$old_CFLAGS" + set CC "$old_CC" return } if ![ld_relocate $ld tmpdir/cross3-partial.o "tmpdir/cross1.o tmpdir/cross4.o"] { unresolved $test3 set CFLAGS "$old_CFLAGS" + set CC "$old_CC" return } @@ -145,3 +154,4 @@ if [string match "" $exec_output] then { } set CFLAGS "$old_CFLAGS" +set CC "$old_CC" -- cgit v1.1