This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]