aboutsummaryrefslogtreecommitdiff
path: root/gas
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
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')
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/tc-mips.c11
2 files changed, 13 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f0e6a0c..7fa5e0d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -21,6 +21,9 @@ Wed Feb 15 15:07:00 1995 Michael Meissner <meissner@tiktok.cygnus.com>
Wed Feb 15 11:46:02 1995 Ian Lance Taylor <ian@cygnus.com>
+ * 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 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. */