This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] MIPS/GAS: ERET test case failure
- From: "Maciej W. Rozycki" <macro at codesourcery dot com>
- To: binutils at sourceware dot org
- Date: Mon, 14 Dec 2009 14:32:00 +0000 (GMT)
- Subject: [PATCH] MIPS/GAS: ERET test case failure
Hello,
In previous dealings with the ERET tests it has escaped me that a branch
needs its delay slot filled because of a .set noreorder arrangement. The
lack of the fill causes a failure depending on function alignment.
Fixed thus with a non-default NOP encoding chosen to differ between the
instruction and implicit NOPs inserted by GAS or fill emitted by .fill.
This change should get rid of the random failures popping up throughout
the ERET tests for good.
2009-12-14 Maciej W. Rozycki <macro@codesourcery.com>
gas/testsuite/
* gas/mips/eret-2.s: Add an instruction to fill a branch delay
slot.
* gas/mips/eret-2.d: Adjust accordingly.
OK to apply?
Maciej
binutils-2.20.51-20091212-mips-eret2-0.patch
Index: gas/testsuite/gas/mips/eret-2.d
===================================================================
--- gas/testsuite/gas/mips/eret-2.d (revision 270856)
+++ gas/testsuite/gas/mips/eret-2.d (working copy)
@@ -14,5 +14,5 @@ Disassembly of section \.text:
[ 0-9a-f]+: 42000018 eret
[ 0-9a-f]+: 00000000 nop
[ 0-9a-f]+: 1000fffd b [0-9a-f]+ <foo\+0x10>
-[ 0-9a-f]+: 00000000 nop
+[ 0-9a-f]+: 00000006 srlv zero,zero,zero
\.\.\.
Index: gas/testsuite/gas/mips/eret-2.s
===================================================================
--- gas/testsuite/gas/mips/eret-2.s (revision 270856)
+++ gas/testsuite/gas/mips/eret-2.s (working copy)
@@ -8,6 +8,7 @@ foo:
.set noreorder
b 1b
.set reorder
+ srlv $0, $0, $0
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
.space 8