diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 13 |
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); |