]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
PR23881, pdp11 binutils fails if too much debug data
authorAlan Modra <amodra@gmail.com>
Wed, 28 Feb 2024 08:23:52 +0000 (18:53 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 28 Feb 2024 10:54:39 +0000 (21:24 +1030)
commit4b72a278f46245635ca03ffc8179570c07e3531a
tree7eb6aecba05182c1014f039e0f2e3d1e60717f5a
parent4e0d61241012e3ae0c79603d6b6871b3407a976f
PR23881, pdp11 binutils fails if too much debug data

The PR testcase overflows one of the exec header fields, e_syms (the
size of the symbol table), leading to the string table offset being
wrong.  Things go downhill from there.  Fixed by checking for
overflow.  This happens to trigger in the ld testsuite, so xfail that
test.

PR 23881
bfd/
* libaout.h (swap_exec_header_out): Return a bool.
* aoutx.h (swap_exec_header_out): Check for overflow in exec
header.
* pdp11.c (swap_exec_header_out): Likewise.
* i386lynx.c (WRITE_HEADERS): Adjust.
ld/
* testsuite/ld-scripts/map-address.exp: xfail pdp11.
bfd/aoutx.h
bfd/i386lynx.c
bfd/libaout.h
bfd/pdp11.c
ld/testsuite/ld-scripts/map-address.exp