* config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for
authorIan Lance Taylor <ian@airs.com>
Wed, 15 Feb 1995 21:08:05 +0000 (21:08 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 15 Feb 1995 21:08:05 +0000 (21:08 +0000)
DWARF.  From gary@Intrepid.COM (Gary Funck).

gas/ChangeLog
gas/config/tc-mips.c

index f0e6a0c59ac3e7def615b25aebcb16f078b673fb..7fa5e0d8b06e81beac36664f62be76e9df8d039c 100644 (file)
@@ -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).
 
index b42299d97e1c06ffe3a416dbd63d355b1b2dfb2b..23bf15ef9416c93f75fd0c8b3c9663788a20e1d3 100644 (file)
@@ -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.  */
This page took 0.032422 seconds and 4 git commands to generate.