aboutsummaryrefslogtreecommitdiff
path: root/ld/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-08-06 15:23:28 +0930
committerAlan Modra <amodra@gmail.com>2019-08-06 15:37:08 +0930
commitb02c4f162335ed055964f603ba3aca18b0e5c5bf (patch)
tree880772752d9272e0f86edfa60489e4fa1648837e /ld/ChangeLog
parentb39152b3e5befec363302d5d81ade36ab45d6d08 (diff)
downloadgdb-b02c4f162335ed055964f603ba3aca18b0e5c5bf.zip
gdb-b02c4f162335ed055964f603ba3aca18b0e5c5bf.tar.gz
gdb-b02c4f162335ed055964f603ba3aca18b0e5c5bf.tar.bz2
PR24873, gcc -flto objects result in --start-group .. --end-group failure to include --as-needed libraries
Reloading of archives (and checking --as-needed DSOs again) is disabled until we hit the plugin insert point. It's necessary to do that because in a case like lib1.a lto.o lib2.a where lib1.a and lib2.a contain duplicate symbols, we want the lto.o recompiled object to pull in objects from lib2.a as necessary, but not from lib1.a. Unfortunately this heuristic fails when the insert point is inside a group, because ld actually loads the symbols from the recompiled object before running over the contours of the script, thus missing the fact that new undefs appeared in the group. PR 24873 * ldlang.c (plugin_undefs): New static var. (open_input_bfds <lang_group_statement_enum>): Loop on plugin_undefs and hitting plugin_insert point. (lang_process <lto_plugin_active>): Set plugin_undefs.
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 8015427..8f9d1f0 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+2019-08-06 Alan Modra <amodra@gmail.com>
+
+ PR 24873
+ * ldlang.c (plugin_undefs): New static var.
+ (open_input_bfds <lang_group_statement_enum>): Loop on
+ plugin_undefs and hitting plugin_insert point.
+ (lang_process <lto_plugin_active>): Set plugin_undefs.
+
2019-08-02 Alan Modra <amodra@gmail.com>
* testsuite/ld-powerpc/tlsie.s: Correct medium model ELF sequence.