Commit c17f12ce authored by Alan Modra's avatar Alan Modra

ld crossref test fix

(cherry picked from commit 14f2c476752f3cc4bfa7baee2a5a5183aafad975)
parent 7bd52534
2013-11-15 Alan Modra <amodra@gmail.com>
Apply changes from mainline to 2.24
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-10-30 Alan Modra <amodra@gmail.com>
* ld-powerpc/elfv2.s,
* ld-powerpc/elfv2so.d,
......
......@@ -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"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment