This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Fix some PR ld/3809 MIPS failures (part 2)
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- To: binutils at sourceware dot org
- Date: Mon, 5 Mar 2012 05:21:41 +0100
- Subject: Fix some PR ld/3809 MIPS failures (part 2)
Namely, that for 32-bit embedded MIPS targets, there this test failure:
Running
/mnt/test1/hp/axis/binutils/src/ld/testsuite/ld-mips-elf/mips-elf.exp ...
...
FAIL: Global calls from mips16
Looking at the dump file and the
ld-mips-elf/mips16-call-global.d file, the issue seems to be
that sections are 16-byte aligned everywhere else than for
mips*-elf and mips*-vxworks; see comment in the patch. So,
don't run the tests on those targets.
(Part 1 is regarding the other FAILS in the PR.)
Tested with 'RUNTESTFLAGS=mips-elf.exp' cross to mipsel-linux,
mipsisa32r2el-linux, mipsisa32r2el-elf, mipsisa32r2-elf,
mipsel-elf, mips-elf, mips-sgi-irix6, mips-sgi-irix5,
mipsel-sde-elf, mips64-kfreebsd-gnu, mips-dde-sysv4.2MP (a
"mips-*-sysv*" yields ECOFF; a gas/ld inconsistency wart?),
mipsisa64-sde-elf, mipsisa64el-elf, mips-freebsd8.2,
mips64el-freebsd7.3, mips64-freebsd8.1, mipsel-freebsd7.2.
together with the other posted fixes: lots of failures for
mips-sgi-irix6 but none remaining for this test. Results for
*-freebsd* are blank and uninteresting as they returned too
early due to mips-elf.exp gating on is_elf_target; see
<http://sourceware.org/ml/binutils/2012-03/msg00039.html>.
Ok?
ld/testsuite:
PR ld/3809
* ld-mips-elf/mips-elf.exp: Don't run
$mips16_call_global_test on mips*-*-elf targets.
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index ce448cf..a38e5bc 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -509,7 +517,12 @@ set mips16_call_global_test [list \
{{objdump -dr mips16-call-global.d}} \
"mips16-call-global"]]
-run_ld_link_tests $mips16_call_global_test
+# Assumes sections are 16-byte-aligned, which does not hold for
+# mips*-elf nor mips*-vxworks (has returned earlier above), see
+# gas/config/tc-mips.c:md_begin.
+if !$embedded_elf {
+ run_ld_link_tests $mips16_call_global_test
+}
set mips16_intermix_test [list \
[list "Intermixing mips32 and mips16 functions" \
brgds, H-P