diff options
author | Ian Lance Taylor <ian@airs.com> | 1998-02-06 03:08:45 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1998-02-06 03:08:45 +0000 |
commit | b073d4281c88af799af734b43672ea5548285e4d (patch) | |
tree | af224e88ef98ab9b7ec185410310f6a44ae82d20 /gas/config/tc-mips.c | |
parent | 0b0caaf11b441a5e4fe336fc43bcaf7269097806 (diff) | |
download | gdb-b073d4281c88af799af734b43672ea5548285e4d.zip gdb-b073d4281c88af799af734b43672ea5548285e4d.tar.gz gdb-b073d4281c88af799af734b43672ea5548285e4d.tar.bz2 |
* config/tc-mips.c (append_insn): Make sure that if we have a
fixup for an unmatched %hi reloc, it does not associated with a
variant frag.
Diffstat (limited to 'gas/config/tc-mips.c')
-rw-r--r-- | gas/config/tc-mips.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 33d1a68..109bd39 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -880,7 +880,11 @@ md_begin () else if (strcmp (cpu, "mips64vr4300") == 0) mips_cpu = 4300; - else if (strcmp (cpu, "mips64vr4100") == 0) + else if (strcmp (cpu, "mips64vr4100") == 0 + /* start-sanitize-vr4111 */ + || strcmp (cpu, "mips64vr4111") == 0 + /* end-sanitize-vr4111 */ + ) mips_cpu = 4100; else if (strcmp (cpu, "r4010") == 0) @@ -2213,6 +2217,16 @@ append_insn (place, ip, address_expr, reloc_type, unmatched_hi) /* We just output an insn, so the next one doesn't have a label. */ mips_clear_insn_labels (); + + /* We must ensure that a fixup associated with an unmatched %hi + reloc does not become a variant frag. Otherwise, the + rearrangement of %hi relocs in frob_file may confuse + tc_gen_reloc. */ + if (unmatched_hi) + { + frag_wane (frag_now); + frag_new (0); + } } /* This function forgets that there was any previous instruction or |