diff options
author | Alan Modra <amodra@gmail.com> | 2023-02-23 18:23:12 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2023-02-24 18:20:49 +1030 |
commit | 18e7a6587e3f111e9367ea707f9eb21acf4b9af7 (patch) | |
tree | 2cc8d599913c38ddc3bc86f6082edc8d0d478ef9 /gdb | |
parent | 50980ba351856dff75bb0743bfca62f4c3ab19ff (diff) | |
download | gdb-18e7a6587e3f111e9367ea707f9eb21acf4b9af7.zip gdb-18e7a6587e3f111e9367ea707f9eb21acf4b9af7.tar.gz gdb-18e7a6587e3f111e9367ea707f9eb21acf4b9af7.tar.bz2 |
PR30155, ld segfault in _bfd_nearby_section
The segfault was a symptom of messing with the absolute section next
field, confusing bfd_section_removed_from_list in linker.c:fix_syms.
That's not all that was going wrong. The INSERT list of output
sections was being inserted into itself, ie. lost from the main
list of linker statements.
PR 30155
* ldlang.c (process_insert_statements): Handle pathological
case of the insert script being inserted before the first
output section statement in the default script.
(output_prev_sec_find): Don't test section owner here.
(insert_os_after): Change parameter to a list union pointer.
(lang_insert_orphan): Test section owner here and adjust
insert_os_after call.
Diffstat (limited to 'gdb')
0 files changed, 0 insertions, 0 deletions