This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH 11/15] MIPS/GAS/test: Add file format overrides
- From: "Maciej W. Rozycki" <macro at linux-mips dot org>
- To: binutils at sourceware dot org
- Date: Sun, 3 Oct 2010 20:40:55 +0100 (BST)
- Subject: [PATCH 11/15] MIPS/GAS/test: Add file format overrides
Hi,
Similarly to architucture-specific tests this change adds a possibility
to prepare file-format-specific overrides. This is needed to make
multi-platform testing easier, e.g. non-ELF targets do not have a separate
concept of the o32/n32/n64 ABI and always treat the architecture specified
natively, e.g. -mips3 implies a fully 64-bit target like with the n64 ABI.
Ties are broken such that an architecture override takes precedence over
a format override. This has been chosen so as to minimise the number of
inclusions. The full sequence of test names tried is as follows:
1. arch@format@test.d
2. arch@test.d
3. format@test.d
4. test.d
2010-10-03 Maciej W. Rozycki <macro@linux-mips.org>
gas/testsuite/
* gas/mips/mips.exp (run_dump_test_arch): Check for the presence
of a file-format-specific test too.
(run_dump_test_arches): Pull elf, ecoff and aout variables for use
by the above.
OK to apply?
Maciej
binutils-2.20.51-20100925-mips-gas-test-format.patch
Index: binutils-2.20.51/gas/testsuite/gas/mips/mips.exp
===================================================================
--- binutils-2.20.51.orig/gas/testsuite/gas/mips/mips.exp
+++ binutils-2.20.51/gas/testsuite/gas/mips/mips.exp
@@ -284,12 +284,17 @@ proc mips_arch_list_matching {args} {
# Invoke "run_dump_test" for test NAME, with extra assembler and
# disassembler flags to test architecture ARCH.
proc run_dump_test_arch { name arch } {
+ upvar elf elf ecoff ecoff aout aout
global subdir srcdir
+ set format [expr { $elf ? "elf" : $ecoff ? "ecoff" : "aout" }]
set proparch [lindex [mips_arch_properties $arch 0] 0]
- set archname "${proparch}@${name}"
- if { [file exists "$srcdir/$subdir/${archname}.d"] } {
- set name $archname
+ foreach prefix [list ${proparch}@${format}@ ${proparch}@ ${format}@] {
+ set archname ${prefix}${name}
+ if { [file exists "$srcdir/$subdir/${archname}.d"] } {
+ set name $archname
+ break
+ }
}
if [catch {run_dump_test $name \
@@ -306,6 +311,7 @@ proc run_dump_test_arch { name arch } {
# Invoke "run_dump_test_arch" for test NAME, for each architecture
# listed in ARCH_LIST.
proc run_dump_test_arches { name arch_list } {
+ upvar elf elf ecoff ecoff aout aout
foreach arch $arch_list {
run_dump_test_arch "$name" "$arch"
}