X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Felflink.c;h=082355d72e83b4e3de05dbe26fc9ce5c5b959612;hb=35ed3f940bd08e98211807604672cccbf2741d8f;hp=3a4d22c4cf873e8591417f5dee4dfcd09b23609b;hpb=90556b8c94aa9d89ee235b4b2a83aec9ec1dcde3;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elflink.c b/bfd/elflink.c index 3a4d22c4cf..082355d72e 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -1427,7 +1427,10 @@ _bfd_elf_merge_symbol (bfd *abfd, /* Skip weak definitions of symbols that are already defined. */ if (newdef && olddef && newweak) { - *skip = TRUE; + /* Don't skip new non-IR weak syms. */ + if (!((oldbfd->flags & BFD_PLUGIN) != 0 + && (abfd->flags & BFD_PLUGIN) == 0)) + *skip = TRUE; /* Merge st_other. If the symbol already has a dynamic index, but visibility says it should not be visible, turn it into a