diff options
author | Alan Modra <amodra@gmail.com> | 2018-01-28 08:03:26 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-01-28 08:29:55 +1030 |
commit | d580dcc7aac21dc8396e8e90ea6d05ec32d6cbb9 (patch) | |
tree | 9b38fe49bda78422d8c63b8bf19818ce977a5100 /ld/ChangeLog | |
parent | 9a5db26e6d9494e8285d4c177ee3d32292c7a35e (diff) | |
download | gdb-d580dcc7aac21dc8396e8e90ea6d05ec32d6cbb9.zip gdb-d580dcc7aac21dc8396e8e90ea6d05ec32d6cbb9.tar.gz gdb-d580dcc7aac21dc8396e8e90ea6d05ec32d6cbb9.tar.bz2 |
PR22751, LTO broken for libgcc libcalls
So what was happening was that the file added from libgcc.a during the
rescan was not put on file_chain. map_input_to_output_sections then
doesn't see the file and its sections are treated as discarded.
The file_chain list pointer bug was caused by that fact that an
archive element claimed by the plugin does not have my_archive set.
Or more correctly, the actual archive element does have my_archive
set, but this bfd is replaced with a dummy bfd that doesn't have
my_archive set.
PR 22751
* ldlang.c (find_rescan_insertion): Look past bfds with claim_archive
set.
Diffstat (limited to 'ld/ChangeLog')
-rw-r--r-- | ld/ChangeLog | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 3430a86..f32b42f 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2018-01-28 Alan Modra <amodra@gmail.com> + + PR 22751 + * ldlang.c (find_rescan_insertion): Look past bfds with claim_archive + set. + 2018-01-26 Maciej W. Rozycki <macro@mips.com> * emulparams/elf32mipswindiss.sh (EXTRA_EM_FILE): Set to |