Handle symbols defined/referenced only within IR
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 12 May 2016 23:50:34 +0000 (16:50 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 12 May 2016 23:50:52 +0000 (16:50 -0700)
commit3355cb3b643bd50aafae768e7cf990d4bec40fe1
treec16b986fd942a0b25ab494d5635d97d5fdd5de62
parent8ddd5a6cd692ca8c4041d9fb64cbb4e0585d4aa1
Handle symbols defined/referenced only within IR

The plugin is called to claim symbols in an archive element from
plugin_object_p.  But those symbols aren't needed to create output.
They are defined and referenced only within IR.  get_symbols should
return resolution based on IR symbol kinds.

PR ld/20070
* Makefile.am (noinst_LTLIBRARIES): Add libldtestplug4.la.
(libldtestplug4_la_SOURCES): New.
(libldtestplug4_la_CFLAGS): Likewise.
(libldtestplug4_la_LDFLAGS): Likewise.
* Makefile.in: Regenerated.
* plugin.c (get_symbols): Return resolution based on IR symbol
kinds for symbols defined/referenced only within IR.
* testplug4.c: New file.
* ld/testsuite/ld-plugin/pr20070.d: Likewise.
* ld/testsuite/ld-plugin/pr20070a.c: Likewise.
* ld/testsuite/ld-plugin/pr20070b.c: Likewise.
* testsuite/ld-plugin/plugin.exp (plugin4_name): New.
(plugin4_path): Likewise.
Add a test for ld/20070.
ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/plugin.c
ld/testplug4.c [new file with mode: 0644]
ld/testsuite/ld-plugin/plugin.exp
ld/testsuite/ld-plugin/pr20070.d [new file with mode: 0644]
ld/testsuite/ld-plugin/pr20070a.c [new file with mode: 0644]
ld/testsuite/ld-plugin/pr20070b.c [new file with mode: 0644]