aboutsummaryrefslogtreecommitdiff
path: root/bfd
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 /bfd
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.
Diffstat (limited to 'bfd')
-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;