aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2024-12-11 17:02:00 +1030
committerAlan Modra <amodra@gmail.com>2024-12-13 15:21:45 +1030
commita21e2f0c20565216fbc560225ba15d8c5c1e1aa8 (patch)
tree977aa6d4394a27b7a1b0a33a9aca1c4c69c8641d /gas
parent2cd1fe362711bb7221826cb5e1d791bffc04fc51 (diff)
downloadgdb-a21e2f0c20565216fbc560225ba15d8c5c1e1aa8.zip
gdb-a21e2f0c20565216fbc560225ba15d8c5c1e1aa8.tar.gz
gdb-a21e2f0c20565216fbc560225ba15d8c5c1e1aa8.tar.bz2
xcoff reading dynamic relocs
This adds a sanity check to relocation symbol indices, and tidies code a little. The patch does result in a couple of testsuite failures rs6000-aix7.2 +FAIL: TLS relocations (32-bit) rs6000-aix7.2 +FAIL: TLS relocations (64-bit) That seems reasonable to me, because prior to this patch l_symndx was being set to -1 and -2 for .tdata and .tbss symbols resulting in a buffer overflow when accessing the syms array. bfd/ * xcofflink.c (_bfd_xcoff_canonicalize_dynamic_reloc): Prevent symbol array overflow on invalid relocation symbol index. Tidy code for relocs against standard sections. (xcoff_create_ldrel): Remove cast. include/ * coff/xcoff.h (struct internal_ldrel): Make l_symndx uint32_t. Make l_rtype and l_rsecnm int16_t.
Diffstat (limited to 'gas')
0 files changed, 0 insertions, 0 deletions