aboutsummaryrefslogtreecommitdiff
path: root/ld/Makefile.am
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-05-12 16:50:34 -0700
committerH.J. Lu <hjl.tools@gmail.com>2016-05-12 16:50:52 -0700
commit3355cb3b643bd50aafae768e7cf990d4bec40fe1 (patch)
treec16b986fd942a0b25ab494d5635d97d5fdd5de62 /ld/Makefile.am
parent8ddd5a6cd692ca8c4041d9fb64cbb4e0585d4aa1 (diff)
downloadbinutils-3355cb3b643bd50aafae768e7cf990d4bec40fe1.zip
binutils-3355cb3b643bd50aafae768e7cf990d4bec40fe1.tar.gz
binutils-3355cb3b643bd50aafae768e7cf990d4bec40fe1.tar.bz2
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.
Diffstat (limited to 'ld/Makefile.am')
-rw-r--r--ld/Makefile.am6
1 files changed, 5 insertions, 1 deletions
diff --git a/ld/Makefile.am b/ld/Makefile.am
index bf50e70..1c03e7b 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -2138,7 +2138,8 @@ bootstrap: ld3$(EXEEXT)
# Build a dummy plugin using libtool.
#
if ENABLE_PLUGINS
-noinst_LTLIBRARIES = libldtestplug.la libldtestplug2.la libldtestplug3.la
+noinst_LTLIBRARIES = libldtestplug.la libldtestplug2.la \
+ libldtestplug3.la libldtestplug4.la
libldtestplug_la_SOURCES = testplug.c
libldtestplug_la_CFLAGS= -g -O2
libldtestplug_la_LDFLAGS = -no-undefined -rpath /nowhere
@@ -2148,6 +2149,9 @@ libldtestplug2_la_LDFLAGS = -no-undefined -rpath /nowhere
libldtestplug3_la_SOURCES = testplug3.c
libldtestplug3_la_CFLAGS= -g -O2
libldtestplug3_la_LDFLAGS = -no-undefined -rpath /nowhere
+libldtestplug4_la_SOURCES = testplug4.c
+libldtestplug4_la_CFLAGS= -g -O2
+libldtestplug4_la_LDFLAGS = -no-undefined -rpath /nowhere
endif
# DOCUMENTATION TARGETS