]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
MIPS: Fix addend handling with rela R_MIPS16_GOT16 and R_MICROMIPS_GOT16
authorAlan Modra <amodra@gmail.com>
Tue, 1 Jul 2025 13:05:07 +0000 (14:05 +0100)
committerMaciej W. Rozycki <macro@orcam.me.uk>
Tue, 1 Jul 2025 13:05:07 +0000 (14:05 +0100)
commita17dd69b3370d1c61ca720fe02ddaed04ed84e59
tree6e4bd2d43a5b6963c3c0d080c877c892f1bee62d
parente65d831ce1aff700e8ec3a0e784fd0e195676649
MIPS: Fix addend handling with rela R_MIPS16_GOT16 and R_MICROMIPS_GOT16

In rela howtos these relocations should not be using
_bfd_mips_elf_got16_reloc.  That special function is for extracting
addends from section contents, and only for that (ie. it doesn't
subtract gp).  Make these rela howtos like the corresponding
R_MIPS_GOT16 rela howto.

* elf64-mips.c (mips16_elf64_howto_table_rela <R_MIPS16_GOT16>):
Use _bfd_mips_elf_generic_reloc.
(micromips_elf64_howto_table_rela <R_MICROMIPS_GOT16>): Likewise.
* elfn32-mips.c (elf_mips16_howto_table_rela <R_MIPS16_GOT16>):
Likewise.
(elf_micromips_howto_table_rela <R_MICROMIPS_GOT16>): Likewise.
bfd/elf64-mips.c
bfd/elfn32-mips.c