* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear

STO_MICROMIPS annotation.
This commit is contained in:
Maciej W. Rozycki 2013-02-19 21:58:46 +00:00
parent aca2255198
commit cbf8d970f7
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2013-02-19 Maciej W. Rozycki <macro@codesourcery.com>
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
STO_MICROMIPS annotation.
2013-02-19 Alan Modra <amodra@gmail.com>
* configure.in: Bump version to 2.23.52.

View File

@ -10118,13 +10118,18 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd,
if (IRIX_COMPAT (output_bfd) == ict_irix6)
mips_elf_irix6_finish_dynamic_symbol (output_bfd, name, sym);
/* Keep dynamic MIPS16 symbols odd. This allows the dynamic linker to
treat MIPS16 symbols like any other. */
/* Keep dynamic compressed symbols odd. This allows the dynamic linker
to treat compressed symbols like any other. */
if (ELF_ST_IS_MIPS16 (sym->st_other))
{
BFD_ASSERT (sym->st_value & 1);
sym->st_other -= STO_MIPS16;
}
else if (ELF_ST_IS_MICROMIPS (sym->st_other))
{
BFD_ASSERT (sym->st_value & 1);
sym->st_other -= STO_MICROMIPS;
}
return TRUE;
}