aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-08-03 22:08:01 +0930
committerAlan Modra <amodra@gmail.com>2022-08-04 11:42:33 +0930
commit94e27e8e69a07d69554ee7598419646d3ee99907 (patch)
tree6d8ab378fb4029c8ad09505c5b72b117960daf1f
parentfcbfb25dcca625a7f999ec51d48b6fc3a32123c3 (diff)
downloadbinutils-94e27e8e69a07d69554ee7598419646d3ee99907.zip
binutils-94e27e8e69a07d69554ee7598419646d3ee99907.tar.gz
binutils-94e27e8e69a07d69554ee7598419646d3ee99907.tar.bz2
MIPS: Use R_MIPS_REL16 for BFD_RELOC_16
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.
-rw-r--r--bfd/elf64-mips.c1
-rw-r--r--bfd/elfn32-mips.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
index 8097e7c..c2c6604 100644
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -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 },
diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c
index 7cae394..af98454 100644
--- a/bfd/elfn32-mips.c
+++ b/bfd/elfn32-mips.c
@@ -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 },