Increment size of relax sequence if we emit a nop
Ian Lance Taylor
ian@wasabisystems.com
Thu Dec 9 15:51:00 GMT 2004
While experimenting with some code that I didn't check in, I noticed a
minor issue. If we insert a nop while processing a relax sequence, we
weren't accounting for the size of the inserted nop. This led to
confusing errors later on. This patch should be harmless for existing
relaxation sequences, but may make future ones a little easier to
handle. I'm about to commit it.
Ian
2004-12-09 Ian Lance Taylor <ian@wasabisystems.com>
* config/tc-mips.c (append_insn): If we emit a nop during a relax
sequence, increase the size of the sequence.
Index: config/tc-mips.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-mips.c,v
retrieving revision 1.275
diff -u -r1.275 tc-mips.c
--- config/tc-mips.c 9 Dec 2004 06:17:14 -0000 1.275
+++ config/tc-mips.c 9 Dec 2004 15:47:41 -0000
@@ -2542,6 +2542,8 @@
instruction at the destination, put it in the delay
slot, and bump the destination address. */
emit_nop ();
+ if (mips_relax.sequence)
+ mips_relax.sizes[mips_relax.sequence - 1] += 4;
/* Update the previous insn information. */
prev_prev_insn = *ip;
prev_insn.insn_mo = &dummy_opcode;
More information about the Binutils
mailing list