MIPS: Use R_MIPS_REL16 for BFD_RELOC_16
authorAlan Modra <amodra@gmail.com>
Wed, 3 Aug 2022 12:38:01 +0000 (22:08 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 4 Aug 2022 02:12:33 +0000 (11:42 +0930)
R_MIPS_REL16 isn't a pc-relative reloc as the name might indicate.

* elf64-mips.c (mips_reloc_map): Map BFD_RELOC_16 to R_MIPS_REL16.
* elfn32-mips.c (mips_reloc_map): Likewise.

bfd/elf64-mips.c
bfd/elfn32-mips.c

index 8097e7cd49d93ec4c814e7b27688d6a32414f202..c2c6604ef681beca4b39ba5d7f2061ed0eeb4f17 100644 (file)
@@ -3684,6 +3684,7 @@ static const struct elf_reloc_map mips_reloc_map[] =
 {
   { BFD_RELOC_NONE, R_MIPS_NONE },
   { BFD_RELOC_MIPS_16, R_MIPS_16 },
+  { BFD_RELOC_16, R_MIPS_REL16 },
   { BFD_RELOC_32, R_MIPS_32 },
   /* There is no BFD reloc for R_MIPS_REL32.  */
   { BFD_RELOC_64, R_MIPS_64 },
index 7cae394bfa0b00dbc143bb9f5f8f63870a3b347e..af9845457969184022f2c6a0ab4d80b807fd0c6e 100644 (file)
@@ -3514,6 +3514,7 @@ static const struct elf_reloc_map mips_reloc_map[] =
 {
   { BFD_RELOC_NONE, R_MIPS_NONE },
   { BFD_RELOC_MIPS_16, R_MIPS_16 },
+  { BFD_RELOC_16, R_MIPS_REL16 },
   { BFD_RELOC_32, R_MIPS_32 },
   /* There is no BFD reloc for R_MIPS_REL32.  */
   { BFD_RELOC_CTOR, R_MIPS_32 },