aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-02-23 02:20:57 +0000
committerIan Lance Taylor <ian@airs.com>1995-02-23 02:20:57 +0000
commit546f55361007bbfed95a7a75a44735ec59af3fc3 (patch)
tree3db19c502c40472693fc57ff7fe17d5cd1544993 /gas
parent835c25596515ca0a2376d43ce96c04674e683c2b (diff)
downloadgdb-546f55361007bbfed95a7a75a44735ec59af3fc3.zip
gdb-546f55361007bbfed95a7a75a44735ec59af3fc3.tar.gz
gdb-546f55361007bbfed95a7a75a44735ec59af3fc3.tar.bz2
* config/tc-mips.c (append_insn): If listing_prev_line is called,
call frag_grow to make sure there is still room for a variant.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c13
2 files changed, 17 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3362c5a..d9b1164 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+Wed Feb 22 21:12:28 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * config/tc-mips.c (append_insn): If listing_prev_line is called,
+ call frag_grow to make sure there is still room for a variant.
+
Fri Feb 17 14:50:08 1995 Ian Lance Taylor <ian@cygnus.com>
* config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 9c32ee4..9e7924a 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -966,7 +966,18 @@ append_insn (place, ip, address_expr, reloc_type)
for (i = 0; i < nops; i++)
emit_nop ();
if (listing)
- listing_prev_line ();
+ {
+ listing_prev_line ();
+ /* We may be at the start of a variant frag. In case we
+ are, make sure there is enough space for the frag
+ after the frags created by listing_prev_line. The
+ argument to frag_grow here must be at least as large
+ as the argument to all other calls to frag_grow in
+ this file. We don't have to worry about being in the
+ middle of a variant frag, because the variants insert
+ all needed nop instructions themselves. */
+ frag_grow (40);
+ }
if (insn_label != NULL)
{
assert (S_GET_SEGMENT (insn_label) == now_seg);