diff options
author | Alan Modra <amodra@gmail.com> | 2021-02-04 13:56:34 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-02-04 14:09:51 +1030 |
commit | 7d409ac001cce916661d345bff01ed589991e762 (patch) | |
tree | 54fd12705df6bf79810fd58f3fe6ca566891da0d /ld | |
parent | e3714e037b711bb5ed794dbfe2064aa4f8ff252c (diff) | |
download | gdb-7d409ac001cce916661d345bff01ed589991e762.zip gdb-7d409ac001cce916661d345bff01ed589991e762.tar.gz gdb-7d409ac001cce916661d345bff01ed589991e762.tar.bz2 |
PR27311, (symbol from plugin): undefined reference, hidden sym
bfd/
PR 27311
* elflink.c (elf_link_add_object_symbols): Don't pull in as-needed
libraries for IR references on pass over libraries after LTO
recompilation.
ld/
* testsuite/ld-plugin/pr27311d.c: New test.
* testsuite/ld-plugin/lto.exp: Rename pr27311 to pr27311-1, compile
and link new test as pr27311-2.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/lto.exp | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/pr27311d.c | 5 |
3 files changed, 19 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index e5f9bea..cf5217b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2021-02-04 Alan Modra <amodra@gmail.com> + + * testsuite/ld-plugin/pr27311d.c: New test. + * testsuite/ld-plugin/lto.exp: Rename pr27311 to pr27311-1, compile + and link new test as pr27311-2. + 2021-02-03 Alan Modra <amodra@gmail.com> * testsuite/ld-ifunc/ifunc.exp (libpr16467b.so, libpr16467bn.so): diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp index 324adcd..c96617f 100644 --- a/ld/testsuite/ld-plugin/lto.exp +++ b/ld/testsuite/ld-plugin/lto.exp @@ -424,9 +424,15 @@ set lto_link_elf_tests [list \ [list {pr27311c.o} \ {} {-flto} \ {pr27311c.c} {} {} {c}] \ - [list {pr27311} \ + [list {pr27311d.o} \ + {} {-flto} \ + {pr27311d.c} {} {} {c}] \ + [list {pr27311-1} \ {tmpdir/pr27311c.o -Wl,--no-as-needed,--rpath-link=. tmpdir/pr27311b.so} {} \ - {dummy.c} {{readelf {--dyn-syms --wide} pr27311.d}} {pr27311}] \ + {dummy.c} {{readelf {--dyn-syms --wide} pr27311.d}} {pr27311-1}] \ + [list {pr27311-2} \ + {tmpdir/pr27311d.o -Wl,--no-as-needed,--rpath-link=. tmpdir/pr27311b.so} {} \ + {dummy.c} {{readelf {--dyn-syms --wide} pr27311.d}} {pr27311-2}] \ ] # PR 14918 checks that libgcc is not spuriously included in a shared link of diff --git a/ld/testsuite/ld-plugin/pr27311d.c b/ld/testsuite/ld-plugin/pr27311d.c new file mode 100644 index 0000000..11e4ba4 --- /dev/null +++ b/ld/testsuite/ld-plugin/pr27311d.c @@ -0,0 +1,5 @@ +__attribute__((visibility("hidden"))) void inlib1(void) {} +int main() +{ + return 0; +} |