From 546f55361007bbfed95a7a75a44735ec59af3fc3 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 23 Feb 1995 02:20:57 +0000 Subject: * 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. --- gas/ChangeLog | 5 +++++ gas/config/tc-mips.c | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'gas') 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 + + * 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 * 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); -- cgit v1.1