aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-04-13 04:58:16 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-04-13 04:58:29 -0700
commitf0bf6bfd70fd550a0b01f8bef938a205702b0465 (patch)
treeec967d94aab5d2f64bdfcbc326fa32b545f18b8f
parent8cd8f2f8ac49276437b7da37f275706ea1c1c925 (diff)
Don't check object claimed by plugin
When ELF linker backend searchs the symbol table of an archive element, it should skip the object which has been claimed by plugin. PR ld/18250 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE if the object has been claimed by plugin.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elflink.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 207884a1cd..729630d410 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/18250
+ * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
+ if the object has been claimed by plugin.
+
2015-04-11 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 98d31080bc..e3d1abe348 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -2936,6 +2936,10 @@ elf_link_is_defined_archive_symbol (bfd * abfd, carsym * symdef)
if (abfd == NULL)
return FALSE;
+ /* Return FALSE if the object has been claimed by plugin. */
+ if (abfd->plugin_format == bfd_plugin_yes)
+ return FALSE;
+
if (! bfd_check_format (abfd, bfd_object))
return FALSE;