From 49ad0c4cf33632b10b6f0f1c4ddf859052e96629 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 15 Feb 1995 21:08:05 +0000 Subject: [PATCH] * config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for DWARF. From gary@Intrepid.COM (Gary Funck). --- gas/ChangeLog | 3 +++ gas/config/tc-mips.c | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index f0e6a0c59ac..7fa5e0d8b06 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -21,6 +21,9 @@ Wed Feb 15 15:07:00 1995 Michael Meissner Wed Feb 15 11:46:02 1995 Ian Lance Taylor + * config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for + DWARF. From gary@Intrepid.COM (Gary Funck). + * config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double loads and stores). diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index b42299d97e1..23bf15ef941 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -5441,7 +5441,7 @@ md_apply_fix (fixP, valueP) unsigned char *buf; long insn, value; - assert (fixP->fx_size == 4); + assert (fixP->fx_size == 4 || fixP->fx_r_type == BFD_RELOC_16); value = *valueP; fixP->fx_addnumber = value; /* Remember value for tc_gen_reloc */ @@ -5508,6 +5508,15 @@ md_apply_fix (fixP, valueP) value, 4); break; + case BFD_RELOC_16: + /* If we are deleting this reloc entry, we must fill in the + value now. */ + assert (fixP->fx_size == 2); + if (fixP->fx_done) + md_number_to_chars (fixP->fx_frag->fr_literal + fixP->fx_where, + value, 2); + break; + case BFD_RELOC_LO16: /* When handling an embedded PIC switch statement, we can wind up deleting a LO16 reloc. See the 'o' case in mips_ip. */ -- 2.30.2