* config/tc-mips.c (mips_frob_file): Sort BFD_RELOC_MIPS16_LO16
authorMaciej W. Rozycki <macro@linux-mips.org>
Mon, 21 Mar 2005 21:59:34 +0000 (21:59 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Mon, 21 Mar 2005 21:59:34 +0000 (21:59 +0000)
relocations correctly as well.
(mips_fix_adjustable): Don't make BFD_RELOC_MIPS16_LO16
relocations in mergeable sections section-relative either.

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

index 27af97c..ec121e1 100644 (file)
@@ -1,3 +1,10 @@
+2005-03-21  Maciej W. Rozycki  <macro@mips.com>
+
+       * config/tc-mips.c (mips_frob_file): Sort BFD_RELOC_MIPS16_LO16
+       relocations correctly as well.
+       (mips_fix_adjustable): Don't make BFD_RELOC_MIPS16_LO16
+       relocations in mergeable sections section-relative either.
+
 2005-03-21  Bob Wilson  <bob.wilson@acm.org>
 
        * config/tc-xtensa.c (md_apply_fix3): Recognize XTENSA_PLT relocations.
index 84f58e3..73eab2a 100644 (file)
@@ -10748,7 +10748,8 @@ mips_frob_file (void)
          if (*pos == l->fixp)
            hi_pos = pos;
 
-         if ((*pos)->fx_r_type == BFD_RELOC_LO16
+         if (((*pos)->fx_r_type == BFD_RELOC_LO16
+              || (*pos)->fx_r_type == BFD_RELOC_MIPS16_LO16)
              && (*pos)->fx_addsy == l->fixp->fx_addsy
              && (*pos)->fx_offset >= l->fixp->fx_offset
              && (lo_pos == NULL
@@ -12689,7 +12690,9 @@ mips_fix_adjustable (fixS *fixp)
      placed anywhere.  Rather than break backwards compatibility by changing
      this, it seems better not to force the issue, and instead keep the
      original symbol.  This will work with either linker behavior.  */
-  if ((fixp->fx_r_type == BFD_RELOC_LO16 || reloc_needs_lo_p (fixp->fx_r_type))
+  if ((fixp->fx_r_type == BFD_RELOC_LO16
+       || fixp->fx_r_type == BFD_RELOC_MIPS16_LO16
+       || reloc_needs_lo_p (fixp->fx_r_type))
       && HAVE_IN_PLACE_ADDENDS
       && (S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_MERGE) != 0)
     return 0;