From 94e27e8e69a07d69554ee7598419646d3ee99907 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 3 Aug 2022 22:08:01 +0930 Subject: [PATCH] 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. --- bfd/elf64-mips.c | 1 + bfd/elfn32-mips.c | 1 + 2 files changed, 2 insertions(+) diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index 8097e7cd49d..c2c6604ef68 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 7cae394bfa0..af984545796 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 }, -- 2.30.2