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)
downloadfsf-binutils-gdb-f0bf6bfd70fd550a0b01f8bef938a205702b0465.zip
fsf-binutils-gdb-f0bf6bfd70fd550a0b01f8bef938a205702b0465.tar.gz
fsf-binutils-gdb-f0bf6bfd70fd550a0b01f8bef938a205702b0465.tar.bz2
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 207884a..729630d 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 98d3108..e3d1abe 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;