diff options
| author | Maciej W. Rozycki <macro@orcam.me.uk> | 2025-10-06 21:37:28 +0100 |
|---|---|---|
| committer | Maciej W. Rozycki <macro@orcam.me.uk> | 2025-10-06 21:37:28 +0100 |
| commit | 6571c2a15819dccf98b4b1f7d720947509b13347 (patch) | |
| tree | d5c2846fa03584796310fc2ea8ddf4393a9d93ee /gdb/python/py-progspace.c | |
| parent | c13c7174e1cdf191fa958809df56fe114ac488fe (diff) | |
| download | binutils-6571c2a15819dccf98b4b1f7d720947509b13347.zip binutils-6571c2a15819dccf98b4b1f7d720947509b13347.tar.gz binutils-6571c2a15819dccf98b4b1f7d720947509b13347.tar.bz2 | |
MIPS/BFD: Account for VxWorks .got.plt references
On VxWorks calls can refer directly to a .got.plt entry, in which case
they won't have an entry in the regular GOT. It was missed with commit
6c42ddb92b90 ("MIPS GOT: Remove TLS GOT info from the symbol table"),
<https://inbox.sourceware.org/binutils/878v6uyaw3.fsf@talisman.default/>,
which revamped GOT entry bookkeeping, and consequently space for regular
GOT entries is needlessly reserved and then not used, with extraneous
null dynamic relocations attached, e.g.:
Relocation section '.rela.dyn' at offset 0x1400 contains 11 entries:
Offset Info Type Sym.Value Sym. Name + Addend
00080c0c 00000405 R_MIPS_HI16 00000000 __GOTT_BASE__ + 0
00080c10 00000406 R_MIPS_LO16 00000000 __GOTT_BASE__ + 0
00080c14 00000601 R_MIPS_16 00000000 __GOTT_INDEX__ + 0
0008141c 00000002 R_MIPS_32 80c5c
00081800 00000002 R_MIPS_32 80c5c
00081804 00000002 R_MIPS_32 81800
00081808 00000502 R_MIPS_32 00081808 dglobal + 0
0008180c 00000202 R_MIPS_32 00000000 dexternal + 0
00081428 00000a02 R_MIPS_32 00081c00 x + 0
00000000 00000000 R_MIPS_NONE 0
00000000 00000000 R_MIPS_NONE 0
Adjust regular GOT entry counting then to take .got.plt entries into
account, removing a regression from the commit referred:
mips-vxworks -FAIL: VxWorks shared library test 1
mipsel-vxworks -FAIL: VxWorks shared library test 1
Diffstat (limited to 'gdb/python/py-progspace.c')
0 files changed, 0 insertions, 0 deletions
