aboutsummaryrefslogtreecommitdiff
path: root/ld/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-06-23 23:50:56 +0930
committerAlan Modra <amodra@gmail.com>2020-06-24 00:50:48 +0930
commit9221725d1f6e3f5dd0c0143ee750460619c582f2 (patch)
treed3c8991309aa4961a98a10489063eb6bc70ef8d9 /ld/ChangeLog
parent39f381cb80463bd814da549a927bee4643d4ceac (diff)
downloadgdb-9221725d1f6e3f5dd0c0143ee750460619c582f2.zip
gdb-9221725d1f6e3f5dd0c0143ee750460619c582f2.tar.gz
gdb-9221725d1f6e3f5dd0c0143ee750460619c582f2.tar.bz2
PR26150, Assertion when asm() defines global symbols, -flto and --start-group
If an archive map contains symbols that aren't actually defined by the indexed element for any reason, then loading that element will leave the symbol undefined (or common). This leads to the possibility of the element being loaded again should the archive be searched again due to the action of --start-group/--end-group. The testcase triggering this problem was an archive containing fat lto objects, with the archive map incorrectly created by ar rather than gcc-ar. PR 26150 * ldlang.c (ldlang_add_file): Assert that we aren't adding the current end of link.next list again too. * ldmain.c (add_archive_element): Don't load archive elements again that have already been loaded.
Diffstat (limited to 'ld/ChangeLog')
-rw-r--r--ld/ChangeLog8
1 files changed, 8 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index d59b00b..a2e3f62 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,13 @@
2020-06-23 Alan Modra <amodra@gmail.com>
+ PR 26150
+ * ldlang.c (ldlang_add_file): Assert that we aren't adding the
+ current end of link.next list again too.
+ * ldmain.c (add_archive_element): Don't load archive elements
+ again that have already been loaded.
+
+2020-06-23 Alan Modra <amodra@gmail.com>
+
* testsuite/ld-elf/shared.exp (pr14170): Clear xfail for
bfin-*-linux*.
(pr17068, symbolic-func.so, pr22374): Likewise.