* 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.
This commit is contained in:
Maciej W. Rozycki 2005-03-21 21:59:34 +00:00
parent d3ea68091c
commit 704803a97e
2 changed files with 12 additions and 2 deletions

View 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.

View 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;