From f0bf6bfd70fd550a0b01f8bef938a205702b0465 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 13 Apr 2015 04:58:16 -0700 Subject: [PATCH] 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. --- bfd/ChangeLog | 6 ++++++ bfd/elflink.c | 4 ++++ 2 files changed, 10 insertions(+) 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 + + 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 * 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;