Append $PLT_CFLAGS to CC for NOCROSSREFS tests
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 27 Jul 2015 12:16:38 +0000 (05:16 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 27 Jul 2015 12:16:38 +0000 (05:16 -0700)
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
ld/testsuite/ld-scripts/crossref.exp

index 2e0bd92..9e785a8 100644 (file)
@@ -1,5 +1,10 @@
 2015-07-27  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * ld-scripts/crossref.exp (CC): Save and restore.  Append
+       $PLT_CFLAGS.
+
+2015-07-27  H.J. Lu  <hongjiu.lu@intel.com>
+
        * 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.
index 1b6a4bb..293b2a3 100644 (file)
@@ -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"