]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
ld: Set non_ir_ref_regular for --undefined SYMBOL
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 5 Jul 2018 11:33:11 +0000 (04:33 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 5 Jul 2018 11:33:11 +0000 (04:33 -0700)
commit2c4995ba2b4b1182ce3b228152f697c55a0ff9fb
tree06a8841ea06de5a2b4ac7d436c67b51d21be94d0
parent3839e9401d74be37caa7d9bd407f7f4492a55d85
ld: Set non_ir_ref_regular for --undefined SYMBOL

Set non_ir_ref_regular to TRUE for symbols forced into the output file
so that they won't be removed by garbage collection with LTO.

PR ld/23309
* ldlang.c (insert_undefined): Set non_ir_ref_regular to TRUE.
* plugin.c (is_visible_from_outside): Don't scan entry_symbol.
* testsuite/ld-plugin/pr23309.c: New file.
* testsuite/ld-plugin/pr23309.d: Likewise.

(cherry picked from commit 94d401b8b88a76b1372ce44e805516756a4f737b)
ld/ChangeLog
ld/ldlang.c
ld/plugin.c
ld/testsuite/ld-plugin/lto.exp
ld/testsuite/ld-plugin/pr23309.c [new file with mode: 0644]
ld/testsuite/ld-plugin/pr23309.d [new file with mode: 0644]