Don't check object claimed by plugin
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 13 Apr 2015 11:58:16 +0000 (04:58 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 13 Apr 2015 11:58:29 +0000 (04:58 -0700)
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.

bfd/ChangeLog
bfd/elflink.c

index 207884a..729630d 100644 (file)
@@ -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
index 98d3108..e3d1abe 100644 (file)
@@ -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;