diff options
author | Maciej W. Rozycki <macro@orcam.me.uk> | 2025-07-06 19:22:49 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@orcam.me.uk> | 2025-07-06 19:22:49 +0100 |
commit | ce08b3bb19b372877128ae9d935c1fe52afc33ae (patch) | |
tree | df6763798ed3573fd62b8287c40ffa4f4f8ca6fa /gdb/testsuite/gdb.python/py-missing-debug.c | |
parent | ae236b71ea7b951f25d84ba1098478458c4e34c9 (diff) | |
download | binutils-ce08b3bb19b372877128ae9d935c1fe52afc33ae.zip binutils-ce08b3bb19b372877128ae9d935c1fe52afc33ae.tar.gz binutils-ce08b3bb19b372877128ae9d935c1fe52afc33ae.tar.bz2 |
MIPS/BFD: Fix RELA handling of borrow in the generic linker
Fix an issue with `_bfd_mips_elf_generic_reloc' not taking into account
any borrow from the lower part in the handling of relocations of the
HI/LO kind and resulting in incorrect calculations made for RELA targets
in the generic used for non-ELF output such as S-records. This doesn't
trigger for REL targets because they call `_bfd_mips_elf_generic_reloc'
indirectly from `_bfd_mips_elf_lo16_reloc' so as to obtain a complete
32-bit addend from relocation pairs and in calculating the addend the
latter function uses a hack to work around the lack of borrow handling
in the former function.
The MIPS/ELF linker is unaffected as it uses its own calculations.
Correct the calculation of the relevant partial relocations made in
`_bfd_mips_elf_generic_reloc' then to take the borrow into account and
remove the hack from `_bfd_mips_elf_lo16_reloc' as no longer needed.
Add generic linker test cases accordingly expecting the same disassembly
from srec output produced as from ELF output produced by the MIPS/ELF
linker.
Diffstat (limited to 'gdb/testsuite/gdb.python/py-missing-debug.c')
0 files changed, 0 insertions, 0 deletions