aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/testsuite/ChangeLog5
-rw-r--r--binutils/testsuite/config/default.exp35
-rw-r--r--ld/testsuite/ChangeLog8
-rw-r--r--ld/testsuite/ld-bootstrap/bootstrap.exp3
-rw-r--r--ld/testsuite/ld-elf/elf.exp2
-rw-r--r--ld/testsuite/ld-elf/sec64k.exp30
6 files changed, 57 insertions, 26 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 648080c..8dce127 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -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
diff --git a/binutils/testsuite/config/default.exp b/binutils/testsuite/config/default.exp
index 6ee5eda..4c8b6e0 100644
--- a/binutils/testsuite/config/default.exp
+++ b/binutils/testsuite/config/default.exp
@@ -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]"
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 0a132c2..fe5329f 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -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*.
diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp
index 6faa6d6..58cb969 100644
--- a/ld/testsuite/ld-bootstrap/bootstrap.exp
+++ b/ld/testsuite/ld-bootstrap/bootstrap.exp
@@ -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
diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp
index 5cba743..43c4282 100644
--- a/ld/testsuite/ld-elf/elf.exp
+++ b/ld/testsuite/ld-elf/elf.exp
@@ -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
diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp
index cc15afb..b4a88a0 100644
--- a/ld/testsuite/ld-elf/sec64k.exp
+++ b/ld/testsuite/ld-elf/sec64k.exp
@@ -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
+}