* ld-elf/elf.exp: Don't run --gc-sections tls var test on v850.
* ld-elf/group2.d: xfail xstormy. * ld-elf/group4.d: Likewise. * ld-elf/group5.d: Likewise. * ld-elf/group6.d: Likewise. * ld-elf/init-fini-arrays.d: xfail cr16 and crx. * ld-elf/orphan2.d: xfail xstormy. * ld-elf/sec64k.exp: Don't run on targets using generic linker. Allow a larger range for ld -r expected bar_1 section. Don't run final link test on a number of targets. Select avr6 for avr targets. * ld-elfcomm/elfcomm.exp: Don't attempt on hpux.
This commit is contained in:
parent
c4990c4b1f
commit
78336cd61f
@ -1,5 +1,17 @@
|
||||
2010-09-23 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ld-elf/elf.exp: Don't run --gc-sections tls var test on v850.
|
||||
* ld-elf/group2.d: xfail xstormy.
|
||||
* ld-elf/group4.d: Likewise.
|
||||
* ld-elf/group5.d: Likewise.
|
||||
* ld-elf/group6.d: Likewise.
|
||||
* ld-elf/init-fini-arrays.d: xfail cr16 and crx.
|
||||
* ld-elf/orphan2.d: xfail xstormy.
|
||||
* ld-elf/sec64k.exp: Don't run on targets using generic linker.
|
||||
Allow a larger range for ld -r expected bar_1 section. Don't run
|
||||
final link test on a number of targets. Select avr6 for avr targets.
|
||||
* ld-elfcomm/elfcomm.exp: Don't attempt on hpux.
|
||||
|
||||
* ld-d10v/reloc-007.d: Don't error.
|
||||
* ld-d10v/reloc-008.d: Likewise.
|
||||
* ld-d10v/reloc-015.d: Likewise.
|
||||
|
@ -54,7 +54,8 @@ if { [istarget *-*-linux*] } {
|
||||
}
|
||||
}
|
||||
|
||||
if { [check_gc_sections_available] } {
|
||||
#v850 gas complains about .tbss.var section attributes.
|
||||
if { [check_gc_sections_available] && ![istarget "v850-*-*"] } {
|
||||
run_ld_link_tests {
|
||||
{"--gc-sections on tls variable"
|
||||
"--gc-section" "" {tls_gc.s} {} "tls_gc"}
|
||||
|
@ -1,9 +1,10 @@
|
||||
#source: ../../../binutils/testsuite/binutils-all/group.s
|
||||
#ld: -r
|
||||
#readelf: -Sg --wide
|
||||
#xfail: cr16-*-* crx-*-*
|
||||
#xfail: cr16-*-* crx-*-* xstormy*-*-*
|
||||
# cr16 and crx use non-standard scripts with memory regions, which don't play
|
||||
# well with unique group sections under ld -r.
|
||||
# xstormy also uses a non-standard script, putting .data before .text.
|
||||
|
||||
#...
|
||||
\[[ 0-9]+\] foo_group[ \t]+GROUP[ \t]+.*
|
||||
|
@ -1,9 +1,10 @@
|
||||
#source: ../../../binutils/testsuite/binutils-all/group-2.s
|
||||
#ld: -r
|
||||
#readelf: -Sg --wide
|
||||
#xfail: cr16-*-* crx-*-*
|
||||
#xfail: cr16-*-* crx-*-* xstormy*-*-*
|
||||
# cr16 and crx use non-standard scripts with memory regions, which don't play
|
||||
# well with unique group sections under ld -r.
|
||||
# xstormy also uses a non-standard script, putting .data before .text.
|
||||
|
||||
#...
|
||||
\[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
|
||||
|
@ -1,9 +1,10 @@
|
||||
#source: ../../../binutils/testsuite/binutils-all/group-3.s
|
||||
#ld: -r
|
||||
#readelf: -Sg --wide
|
||||
#xfail: cr16-*-* crx-*-*
|
||||
#xfail: cr16-*-* crx-*-* xstormy*-*-*
|
||||
# cr16 and crx use non-standard scripts with memory regions, which don't play
|
||||
# well with unique group sections under ld -r.
|
||||
# xstormy also uses a non-standard script, putting .data before .text.
|
||||
|
||||
#...
|
||||
\[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
|
||||
|
@ -1,9 +1,10 @@
|
||||
#source: ../../../binutils/testsuite/binutils-all/group-4.s
|
||||
#ld: -r
|
||||
#readelf: -Sg --wide
|
||||
#xfail: cr16-*-* crx-*-*
|
||||
#xfail: cr16-*-* crx-*-* xstormy*-*-*
|
||||
# cr16 and crx use non-standard scripts with memory regions, which don't play
|
||||
# well with unique group sections under ld -r.
|
||||
# xstormy also uses a non-standard script, putting .data before .text.
|
||||
|
||||
#...
|
||||
\[[ 0-9]+\] .group[ \t]+GROUP[ \t]+.*
|
||||
|
@ -1,6 +1,9 @@
|
||||
#source: init-fini-arrays.s
|
||||
#ld: -r
|
||||
#readelf: -S --wide
|
||||
#xfail: cr16-*-* crx-*-*
|
||||
# cr16 and crx use non-standard scripts with memory regions, which don't play
|
||||
# well with unique group sections under ld -r.
|
||||
|
||||
#...
|
||||
\[[ 0-9]+\] \.init_array\.01000[ \t]+PROGBITS[ \t0-9a-f]+WA?.*
|
||||
|
@ -1,6 +1,8 @@
|
||||
#source: orphan2.s
|
||||
#ld: -r
|
||||
#readelf: -S --wide
|
||||
#xfail: xstormy*-*-*
|
||||
# xstormy uses a non-standard script, resulting is unexpected section order
|
||||
|
||||
#...
|
||||
\[[ 0-9]+\] \.text[ \t]+PROGBITS[ \t0-9a-f]+AX?.*
|
||||
|
@ -28,6 +28,18 @@ if ![is_elf_format] {
|
||||
return
|
||||
}
|
||||
|
||||
# Targets using the generic linker backend don't sort section symbols
|
||||
# before local symbols, so don't bother testing them.
|
||||
if { [istarget "arc-*-*"]
|
||||
|| [istarget "d30v-*-*"]
|
||||
|| [istarget "dlx-*-*"]
|
||||
|| [istarget "i960-*-*"]
|
||||
|| [istarget "or32-*-*"]
|
||||
|| [istarget "pj*-*-*"]
|
||||
|| [istarget "m32r-*-*"] } {
|
||||
return
|
||||
}
|
||||
|
||||
# Test >64k sections, with and without -r. First, create the assembly
|
||||
# files. Have a relocation to another section and one within the local
|
||||
# section.
|
||||
@ -111,7 +123,7 @@ if [catch { set ofd [open "tmpdir/$test1.d" w] } x] {
|
||||
# The m32r target generates both REL and RELA relocs (for historical
|
||||
# reasons) so the expected number of sections will be much more than
|
||||
# 68000, which throws this particular test right off.
|
||||
if {![istarget "m32r-*-*"]} then {
|
||||
if { ![istarget "m32r-*-*"] } then {
|
||||
foreach sfile [lrange $sfiles 0 [expr [llength $sfiles] / 2]] {
|
||||
puts $ofd "#source: $sfile"
|
||||
}
|
||||
@ -128,7 +140,7 @@ if {![istarget "m32r-*-*"]} then {
|
||||
puts $ofd "#..."
|
||||
puts $ofd " 340..: 0+\[ \]+0\[ \]+SECTION\[ \]+LOCAL\[ \]+DEFAULT\[ \]+68... "
|
||||
puts $ofd "#..."
|
||||
puts $ofd " 340..: 0+(2|4|8)\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[23\] bar_1$"
|
||||
puts $ofd " 340..: 0+(2|4|8)\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[2-5\] bar_1$"
|
||||
puts $ofd "#..."
|
||||
puts $ofd ".* bar_34000$"
|
||||
puts $ofd "#..."
|
||||
@ -148,35 +160,46 @@ if [catch { set ofd [open "tmpdir/$test2.d" w] } x] {
|
||||
unresolved $test2
|
||||
return
|
||||
}
|
||||
foreach sfile $sfiles { puts $ofd "#source: $sfile" }
|
||||
if { [istarget spu*-*-*] } {
|
||||
|
||||
# too big for d10v and msp
|
||||
# lack of fancy orphan section handling causes overlap on fr30 and iq2000
|
||||
if { ![istarget "d10v-*-*"]
|
||||
&& ![istarget "msp*-*-*"]
|
||||
&& ![istarget "fr30-*-*"]
|
||||
&& ![istarget "iq2000-*-*"] } {
|
||||
foreach sfile $sfiles { puts $ofd "#source: $sfile" }
|
||||
if { [istarget "avr-*-*"] } then {
|
||||
puts $ofd "#as: -mmcu=avr6"
|
||||
puts $ofd "#ld: -mavr6"
|
||||
} elseif { [istarget spu*-*-*] } {
|
||||
puts $ofd "#ld: --local-store 0:0"
|
||||
} else {
|
||||
} else {
|
||||
puts $ofd "#ld:"
|
||||
}
|
||||
puts $ofd "#readelf: -W -Ss"
|
||||
puts $ofd "There are 660.. section headers.*:"
|
||||
puts $ofd "#..."
|
||||
puts $ofd " \\\[ 0\\\] .* 660..\[ \]+0\[ \]+0"
|
||||
puts $ofd "#..."
|
||||
puts $ofd " \\\[65279\\\] \\.foo\\.\[0-9\]+ .*"
|
||||
puts $ofd " \\\[65280\\\] \\.foo\\.\[0-9\]+ .*"
|
||||
puts $ofd "#..."
|
||||
puts $ofd " 660..: \[0-9a-f\]+\[ \]+0\[ \]+SECTION\[ \]+LOCAL\[ \]+DEFAULT\[ \]+660.. "
|
||||
puts $ofd "#..."
|
||||
puts $ofd " 660..: \[0-9a-f\]+\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[0-9\] bar_1$"
|
||||
puts $ofd "#..."
|
||||
puts $ofd ".* bar_66000$"
|
||||
puts $ofd "#..."
|
||||
# Global symbols are not in "alphanumeric" order, so we just check
|
||||
# that the first and the last are present in any order (assuming no
|
||||
# duplicates).
|
||||
puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)$"
|
||||
puts $ofd "#..."
|
||||
puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)$"
|
||||
puts $ofd "#pass"
|
||||
close $ofd
|
||||
run_dump_test "tmpdir/$test2"
|
||||
}
|
||||
puts $ofd "#readelf: -W -Ss"
|
||||
puts $ofd "There are 660.. section headers.*:"
|
||||
puts $ofd "#..."
|
||||
puts $ofd " \\\[ 0\\\] .* 660..\[ \]+0\[ \]+0"
|
||||
puts $ofd "#..."
|
||||
puts $ofd " \\\[65279\\\] \\.foo\\.\[0-9\]+ .*"
|
||||
puts $ofd " \\\[65280\\\] \\.foo\\.\[0-9\]+ .*"
|
||||
puts $ofd "#..."
|
||||
puts $ofd " 660..: \[0-9a-f\]+\[ \]+0\[ \]+SECTION\[ \]+LOCAL\[ \]+DEFAULT\[ \]+660.. "
|
||||
puts $ofd "#..."
|
||||
puts $ofd " 660..: \[0-9a-f\]+\[ \]+0\[ \]+NOTYPE\[ \]+LOCAL\[ \]+DEFAULT\[ \]+\[0-9\] bar_1$"
|
||||
puts $ofd "#..."
|
||||
puts $ofd ".* bar_66000$"
|
||||
puts $ofd "#..."
|
||||
# Global symbols are not in "alphanumeric" order, so we just check
|
||||
# that the first and the last are present in any order (assuming no
|
||||
# duplicates).
|
||||
puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)$"
|
||||
puts $ofd "#..."
|
||||
puts $ofd ".* (\[0-9\] foo_1|66... foo_66000)$"
|
||||
puts $ofd "#pass"
|
||||
close $ofd
|
||||
run_dump_test "tmpdir/$test2"
|
||||
|
||||
for { set i 1 } { $i < $max_sec / $secs_per_file } { incr i } {
|
||||
catch "exec rm -f tmpdir/dump$i.o" status
|
||||
|
@ -29,6 +29,11 @@ if ![is_elf_format] {
|
||||
return
|
||||
}
|
||||
|
||||
# hpux assembly is weird
|
||||
if [istarget "hppa*-*-hpux*"] {
|
||||
return
|
||||
}
|
||||
|
||||
proc test_sort_common {} {
|
||||
global exec_output
|
||||
global objdump
|
||||
|
Loading…
Reference in New Issue
Block a user