binutils/testsuite/

2005-11-15  Jan Beulich  <jbeulich@novell.com>

	* config/default.exp (link_or_copy): New. Use it for setting
	up assembler and linker for the compiler to use.

ld/testsuite/
2005-11-15  Jan Beulich  <jbeulich@novell.com>

	* ld-bootstrap/bootstrap.exp: Delete ld-partial.o and ld[123]*
	after test.
	* ld-elf/elf.exp: Delete preinit, init, and fini after test.
	* ld-elf/sec64k.exp: Use macro and repeat in generated source
	files. Delete object files after test.
This commit is contained in:
Jan Beulich 2005-11-15 08:32:02 +00:00
parent 331e31641e
commit 9ab8018267
6 changed files with 57 additions and 26 deletions

View File

@ -1,3 +1,8 @@
2005-11-15 Jan Beulich <jbeulich@novell.com>
* config/default.exp (link_or_copy): New. Use it for setting
up assembler and linker for the compiler to use.
2005-10-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/251

View File

@ -74,21 +74,26 @@ if ![file isdirectory tmpdir] {catch "exec mkdir tmpdir" status}
# Make a copy from tmpdir/gas/as and tmpdir/gas/ld to the assembler
# and linker in the build tree, so that we can use a -B option to gcc
# to force it to use the newly built assembler/linker.
if {![file isdirectory tmpdir/gas]} then {
catch "exec mkdir tmpdir/gas" status
if {[file isfile ../gas/as-new[exe_ext]]} then {
catch "exec cp ../gas/as-new[exe_ext] tmpdir/gas/as[exe_ext]" status
} else {
# For non-Windows hosts there may be an executable
# without a .exe suffix, so try copying that instead.
catch "exec cp ../gas/as-new tmpdir/gas/as[exe_ext]" status
}
# This may not be needed any more...
if {[file isfile ../ld/ld-new[exe_ext]]} then {
catch "exec cp ../ld/ld-new[exe_ext] tmpdir/gas/ld[exe_ext]" status
} else {
catch "exec cp ../ld/ld-new tmpdir/gas/ld[exe_ext]" status
}
if {![file isdirectory tmpdir/gas]} {catch "exec mkdir tmpdir/gas" status}
proc link_or_copy { src dst } {
if ![catch "exec ln -sf ../../../$src tmpdir/gas/$dst" status] then {return 0}
if ![catch "exec ln -f ../$src tmpdir/gas/$dst" status] then {return 0}
catch "exec cp -fpu ../$src tmpdir/gas/$dst" status
}
if {[file isfile gas/as-new[exe_ext]]} then {
link_or_copy gas/as-new[exe_ext] as[exe_ext]
} else {
# For non-Windows hosts there may be an executable
# without a .exe suffix, so try copying that instead.
link_or_copy gas/as-new as[exe_ext]
}
# This may not be needed any more...
if {[file isfile ld/ld-new[exe_ext]]} then {
link_or_copy ld/ld-new[exe_ext] ld[exe_ext]
} else {
link_or_copy ld/ld-new ld[exe_ext]
}
set gcc_gas_flag "-B[pwd]/tmpdir/gas/"
set dlltool_gas_flag "-S [pwd]/tmpdir/gas/as[exe_ext]"

View File

@ -1,3 +1,11 @@
2005-11-15 Jan Beulich <jbeulich@novell.com>
* ld-bootstrap/bootstrap.exp: Delete ld-partial.o and ld[123]*
after test.
* ld-elf/elf.exp: Delete preinit, init, and fini after test.
* ld-elf/sec64k.exp: Use macro and repeat in generated source
files. Delete object files after test.
2005-11-11 Hans-Peter Nilsson <hp@axis.com>
* ld-cris/noov.d: Restrict to cris-*-*elf*.

View File

@ -169,3 +169,6 @@ foreach flags {"" "strip" "--static" "--traditional-format"
fail $testname
}
}
catch "exec rm -f tmpdir/ld-partial.o tmpdir/ld1 tmpdir/ld2 tmpdir/ld3" status
catch "exec rm -f tmpdir/ld1tail tmpdir/ld2tail tmpdir/ld3tail" status

View File

@ -45,3 +45,5 @@ set array_tests {
# NetBSD ELF systems do not currently support the .*_array sections.
run_ld_link_exec_tests [list "*-*-netbsdelf*"] $array_tests
catch "exec rm -f tmpdir/preinit tmpdir/init tmpdir/fini" status

View File

@ -39,7 +39,6 @@ if { ![runtest_file_p $runtests $test1] \
set sfiles {}
set max_sec 66000
set secs_per_file 1000
set secn 0
for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } {
set sfile "$objdir/tmpdir/sec64-$i.s"
lappend sfiles $sfile
@ -50,7 +49,7 @@ for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } {
return
}
if { $secn == 0 } {
if { $i == 0 } {
puts $ofd " .global _start"
puts $ofd "_start:"
puts $ofd " .global foo_0"
@ -59,15 +58,20 @@ for { set i 0 } { $i < $max_sec / $secs_per_file } { incr i } {
# Make sure the used section is not covered by common linker scripts.
# They should get separate section entries even without -r.
for { set j 0 } { $j < $secs_per_file } { incr j } {
incr secn
puts $ofd " .section .foo.$secn,\"ax\""
puts $ofd " .global foo_$secn"
puts $ofd "foo_$secn:"
puts $ofd " .long foo_[expr $secn - 1]"
puts $ofd "bar_$secn:"
puts $ofd " .long bar_$secn"
}
puts $ofd " .altmacro"
puts $ofd " .macro sec secn, secp"
puts $ofd " .section .foo.\\secn,\"ax\""
puts $ofd " .global foo_\\secn"
puts $ofd "foo_\\secn:"
puts $ofd " .long foo_\\secp"
puts $ofd "bar_\\secn:"
puts $ofd " .long bar_\\secn"
puts $ofd " .endm"
puts $ofd " secn = [expr $i * $secs_per_file]"
puts $ofd " .rept $secs_per_file"
puts $ofd " secn = secn + 1"
puts $ofd " sec %(secn), %(secn-1)"
puts $ofd " .endr"
close $ofd
}
@ -141,3 +145,7 @@ 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
}