From 379d3f1ffc3fab112a0f388a1565c6be2f74f5c3 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 27 Jul 2015 05:16:38 -0700 Subject: [PATCH] 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(+) diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 2e0bd92c15..9e785a808c 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +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 diff --git a/ld/testsuite/ld-scripts/crossref.exp b/ld/testsuite/ld-scripts/crossref.exp index 1b6a4bb931..293b2a3b63 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" -- 2.34.1