ld crossref test fix
authorAlan Modra <amodra@gmail.com>
Thu, 31 Oct 2013 09:00:24 +0000 (19:30 +1030)
committerAlan Modra <amodra@gmail.com>
Sun, 3 Nov 2013 23:47:55 +0000 (10:17 +1030)
* ld-scripts/crossref.exp: Don't allow changes made to CFLAGS
for this test to bleed into following tests.  Don't set
-mcall-aixdesc for powerpc64le.

ld/testsuite/ChangeLog
ld/testsuite/ld-scripts/crossref.exp

index 369333a..213a909 100644 (file)
@@ -1,3 +1,9 @@
+2013-11-04  Alan Modra  <amodra@gmail.com>
+
+       * ld-scripts/crossref.exp: Don't allow changes made to CFLAGS
+       for this test to bleed into following tests.  Don't set
+       -mcall-aixdesc for powerpc64le.
+
 2013-11-02  Alan Modra  <amodra@gmail.com>
 
        * ld-pe/cfi.d: Allow wide display of addresses.
index 061b5aa..01fdeb4 100644 (file)
@@ -31,9 +31,11 @@ if { ![is_remote host] && [which $CC] == 0 } {
     return
 }
 
+global CFLAGS
+set old_CFLAGS "$CFLAGS"
+
 # Xtensa targets currently default to putting literal values in a separate
 # section and that requires linker script support, so put literals in text.
-global CFLAGS
 if [istarget xtensa*-*-*] {
     set CFLAGS "$CFLAGS -mtext-section-literals"
 }
@@ -41,7 +43,7 @@ if [istarget xtensa*-*-*] {
 # If we have a compiler that doesn't use/reference dot-symbols, then
 # calls to functions reference the .opd section function descriptor.
 # This makes NOCROSSREFS rather useless on powerpc64.
-if [istarget powerpc64*-*-*] {
+if [istarget powerpc64-*-*] {
     set CFLAGS "$CFLAGS -mcall-aixdesc"
 }
 
@@ -61,6 +63,7 @@ if { ![ld_compile $CC "$srcdir/$subdir/cross1.c" tmpdir/cross1.o] \
      || ![ld_compile $CC "$srcdir/$subdir/cross2.c" tmpdir/cross2.o] } {
     unresolved $test1
     unresolved $test2
+    set CFLAGS "$old_CFLAGS"
     return
 }
 
@@ -95,6 +98,7 @@ if [string match "" $exec_output] then {
 
 if { ![ld_compile $CC "$srcdir/$subdir/cross3.c" tmpdir/cross3.o] } {
     unresolved $test2
+    set CFLAGS "$old_CFLAGS"
     return
 }
 
@@ -118,11 +122,13 @@ if [string match "" $exec_output] then {
 
 if { ![ld_compile $CC "$srcdir/$subdir/cross4.c" tmpdir/cross4.o] } {
     unresolved $test3
+    set CFLAGS "$old_CFLAGS"
     return
 }
 
 if ![ld_relocate $ld tmpdir/cross3-partial.o "tmpdir/cross1.o tmpdir/cross4.o"] {
     unresolved $test3
+    set CFLAGS "$old_CFLAGS"
     return
 }
 
@@ -138,3 +144,5 @@ if [string match "" $exec_output] then {
     verbose -log "$exec_output"
     fail $test3
 }
+
+set CFLAGS "$old_CFLAGS"