aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-02-15 21:08:05 +0000
committerIan Lance Taylor <ian@airs.com>1995-02-15 21:08:05 +0000
commit49ad0c4cf33632b10b6f0f1c4ddf859052e96629 (patch)
tree022b44b65b3d4cd9afa637d5061d7e443c815fab /gas/config
parent470feacfab2c34999171df5dacac64ceae539bad (diff)
downloadgdb-49ad0c4cf33632b10b6f0f1c4ddf859052e96629.zip
gdb-49ad0c4cf33632b10b6f0f1c4ddf859052e96629.tar.gz
gdb-49ad0c4cf33632b10b6f0f1c4ddf859052e96629.tar.bz2
* config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for
DWARF. From gary@Intrepid.COM (Gary Funck).
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-mips.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index b42299d..23bf15e 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. */