* ld-elfvsb/elfvsb.exp: Fix tests for arm*-*-linux*.
* ld-shared/shared.exp: Likewise.
This commit is contained in:
parent
cb1be87e23
commit
a9f844b107
|
@ -1,3 +1,8 @@
|
||||||
|
2010-02-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||||
|
|
||||||
|
* ld-elfvsb/elfvsb.exp: Fix tests for arm*-*-linux*.
|
||||||
|
* ld-shared/shared.exp: Likewise.
|
||||||
|
|
||||||
2010-02-08 David S. Miller <davem@davemloft.net>
|
2010-02-08 David S. Miller <davem@davemloft.net>
|
||||||
|
|
||||||
* ld-ifunc/ifunc.exp: Run for sparc.
|
* ld-ifunc/ifunc.exp: Run for sparc.
|
||||||
|
|
|
@ -60,6 +60,7 @@ if ![isnative] then {return}
|
||||||
|
|
||||||
set tmpdir tmpdir
|
set tmpdir tmpdir
|
||||||
set SHCFLAG ""
|
set SHCFLAG ""
|
||||||
|
set shared_needs_pic "no"
|
||||||
|
|
||||||
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||||
|
|
||||||
|
@ -91,6 +92,27 @@ if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||||
close $file
|
close $file
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if [istarget arm*-*-linux*] {
|
||||||
|
# On ARM section anchors can change the symbol pre-emptability for
|
||||||
|
# non-PIC shared libraries, causing these tests to fail. Turn section
|
||||||
|
# anchors off.
|
||||||
|
set SHCFLAG "-fno-section-anchors"
|
||||||
|
|
||||||
|
# On targets that have MOVW the compiler will emit relocations which
|
||||||
|
# the linker doesn't support when compiling -shared without -fpic. The
|
||||||
|
# test to find out whether we want to XFAIL the non-PIC tests requires
|
||||||
|
# a compile - so we pre-calculate it here. We also note that this can
|
||||||
|
# only affect arm*-*-*eabi targets as the old ABI doesn't support v7.
|
||||||
|
if [istarget arm*-*-*eabi] {
|
||||||
|
set file [open $tmpdir/movw-detect.c w]
|
||||||
|
puts $file "void foo(void) { __asm (\"movw r0, #0\"); }"
|
||||||
|
close $file
|
||||||
|
if [run_host_cmd_yesno "$CC" "$CFLAGS -c $tmpdir/movw-detect.c -o $tmpdir/movw-detect.o"] {
|
||||||
|
set shared_needs_pic "yes"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
set support_protected "no"
|
set support_protected "no"
|
||||||
|
|
||||||
if [istarget *-*-linux*] {
|
if [istarget *-*-linux*] {
|
||||||
|
@ -201,6 +223,7 @@ proc visibility_run {visibility} {
|
||||||
global picflag
|
global picflag
|
||||||
global target_triplet
|
global target_triplet
|
||||||
global support_protected
|
global support_protected
|
||||||
|
global shared_needs_pic
|
||||||
|
|
||||||
if [ string match $visibility "hidden" ] {
|
if [ string match $visibility "hidden" ] {
|
||||||
set VSBCFLAG "-DHIDDEN_TEST"
|
set VSBCFLAG "-DHIDDEN_TEST"
|
||||||
|
@ -273,6 +296,9 @@ proc visibility_run {visibility} {
|
||||||
if { ![istarget hppa*64*-*-linux*] } {
|
if { ![istarget hppa*64*-*-linux*] } {
|
||||||
setup_xfail "hppa*-*-linux*"
|
setup_xfail "hppa*-*-linux*"
|
||||||
}
|
}
|
||||||
|
if [ string match $shared_needs_pic "yes" ] {
|
||||||
|
setup_xfail "arm*-*-linux*"
|
||||||
|
}
|
||||||
|
|
||||||
visibility_test $visibility vnp "visibility ($visibility) (non PIC)" mainnp.o sh1np.o sh2np.o elfvsb
|
visibility_test $visibility vnp "visibility ($visibility) (non PIC)" mainnp.o sh1np.o sh2np.o elfvsb
|
||||||
|
|
||||||
|
@ -311,6 +337,9 @@ proc visibility_run {visibility} {
|
||||||
if { ![istarget hppa*64*-*-linux*] } {
|
if { ![istarget hppa*64*-*-linux*] } {
|
||||||
setup_xfail "hppa*-*-linux*"
|
setup_xfail "hppa*-*-linux*"
|
||||||
}
|
}
|
||||||
|
if [ string match $shared_needs_pic "yes" ] {
|
||||||
|
setup_xfail "arm*-*-linux*"
|
||||||
|
}
|
||||||
|
|
||||||
visibility_test $visibility vnp "visibility ($visibility) (non PIC, load offset)" \
|
visibility_test $visibility vnp "visibility ($visibility) (non PIC, load offset)" \
|
||||||
mainnp.o sh1np.o sh2np.o elfvsb \
|
mainnp.o sh1np.o sh2np.o elfvsb \
|
||||||
|
@ -377,6 +406,9 @@ proc visibility_run {visibility} {
|
||||||
if { ![istarget hppa*64*-*-linux*] } {
|
if { ![istarget hppa*64*-*-linux*] } {
|
||||||
setup_xfail "hppa*-*-linux*"
|
setup_xfail "hppa*-*-linux*"
|
||||||
}
|
}
|
||||||
|
if [ string match $shared_needs_pic "yes" ] {
|
||||||
|
setup_xfail "arm*-*-linux*"
|
||||||
|
}
|
||||||
|
|
||||||
visibility_test $visibility vmpnp "visibility ($visibility) (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o elfvsb
|
visibility_test $visibility vmpnp "visibility ($visibility) (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o elfvsb
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,7 @@ if { [istarget *-*-linux*aout*] \
|
||||||
|
|
||||||
set tmpdir tmpdir
|
set tmpdir tmpdir
|
||||||
set SHCFLAG ""
|
set SHCFLAG ""
|
||||||
|
set shared_needs_pic "no"
|
||||||
|
|
||||||
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||||
|
|
||||||
|
@ -97,6 +98,27 @@ if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||||
close $file
|
close $file
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if [istarget arm*-*-linux*] {
|
||||||
|
# On ARM section anchors can change the symbol pre-emptability for
|
||||||
|
# non-PIC shared libraries, causing these tests to fail. Turn section
|
||||||
|
# anchors off.
|
||||||
|
set SHCFLAG "-fno-section-anchors"
|
||||||
|
|
||||||
|
# On targets that have MOVW the compiler will emit relocations which
|
||||||
|
# the linker doesn't support when compiling -shared without -fpic. The
|
||||||
|
# test to find out whether we want to XFAIL the non-PIC tests requires
|
||||||
|
# a compile - so we pre-calculate it here. We also note that this can
|
||||||
|
# only affect arm*-*-*eabi targets as the old ABI doesn't support v7.
|
||||||
|
if [istarget arm*-*-*eabi] {
|
||||||
|
set file [open $tmpdir/movw-detect.c w]
|
||||||
|
puts $file "void foo(void) { __asm (\"movw r0, #0\"); }"
|
||||||
|
close $file
|
||||||
|
if [run_host_cmd_yesno "$CC" "$CFLAGS -c $tmpdir/movw-detect.c -o $tmpdir/movw-detect.o"] {
|
||||||
|
set shared_needs_pic "yes"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# The test procedure.
|
# The test procedure.
|
||||||
proc shared_test { progname testname main sh1 sh2 dat args } {
|
proc shared_test { progname testname main sh1 sh2 dat args } {
|
||||||
global CC
|
global CC
|
||||||
|
@ -212,6 +234,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
|
||||||
}
|
}
|
||||||
setup_xfail "x86_64-*-linux*"
|
setup_xfail "x86_64-*-linux*"
|
||||||
setup_xfail "s390x-*-linux*"
|
setup_xfail "s390x-*-linux*"
|
||||||
|
if [ string match $shared_needs_pic "yes" ] {
|
||||||
|
setup_xfail "arm*-*-linux*"
|
||||||
|
}
|
||||||
shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared
|
shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared
|
||||||
|
|
||||||
# Test ELF shared library relocations with a non-zero load
|
# Test ELF shared library relocations with a non-zero load
|
||||||
|
@ -232,6 +257,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
|
||||||
}
|
}
|
||||||
setup_xfail "x86_64-*-linux*"
|
setup_xfail "x86_64-*-linux*"
|
||||||
setup_xfail "s390x-*-linux*"
|
setup_xfail "s390x-*-linux*"
|
||||||
|
if [ string match $shared_needs_pic "yes" ] {
|
||||||
|
setup_xfail "arm*-*-linux*"
|
||||||
|
}
|
||||||
shared_test shnp "shared (non PIC, load offset)" \
|
shared_test shnp "shared (non PIC, load offset)" \
|
||||||
mainnp.o sh1np.o sh2np.o shared \
|
mainnp.o sh1np.o sh2np.o shared \
|
||||||
"-T $srcdir/$subdir/elf-offset.ld"
|
"-T $srcdir/$subdir/elf-offset.ld"
|
||||||
|
@ -281,6 +309,9 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m
|
||||||
}
|
}
|
||||||
setup_xfail "x86_64-*-linux*"
|
setup_xfail "x86_64-*-linux*"
|
||||||
setup_xfail "s390x-*-linux*"
|
setup_xfail "s390x-*-linux*"
|
||||||
|
if [ string match $shared_needs_pic "yes" ] {
|
||||||
|
setup_xfail "arm*-*-linux*"
|
||||||
|
}
|
||||||
shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared
|
shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue