From cbf8d970f749c029e4f2a10fd3bdfb9e04a3e637 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Tue, 19 Feb 2013 21:58:46 +0000 Subject: [PATCH] * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear STO_MICROMIPS annotation. --- bfd/ChangeLog | 5 +++++ bfd/elfxx-mips.c | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e44097165f4..d8834bfaf49 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-02-19 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear + STO_MICROMIPS annotation. + 2013-02-19 Alan Modra * configure.in: Bump version to 2.23.52. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 74a9a51f5e6..f5296a49159 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -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; } -- 2.30.2