]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* config/tc-mips.c (mips_frob_file): Sort BFD_RELOC_MIPS16_LO16
authorMaciej W. Rozycki <macro@linux-mips.org>
Mon, 21 Mar 2005 16:22:55 +0000 (16:22 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Mon, 21 Mar 2005 16:22:55 +0000 (16:22 +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 4b7f4ed27df80a40b36ad0a0c7b7f5527c8aaad1..4ffd00627b649682a013ab642a890349e6a8888d 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  Alan Modra  <amodra@bigpond.net.au>
 
        PR gas/780
index 84f58e3e9d9b3e61968bda8f80f4a2466e3b28bb..73eab2a8850777ff2cf49eff23b66000462ceb12 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;