From: Alan Modra Date: Sat, 14 Dec 2013 02:40:04 +0000 (+1030) Subject: Correct elf_merge_st_other arguments for weak symbols X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d3abe2374c6597851ed2bd345e819739c17b9930;p=thirdparty%2Fbinutils-gdb.git Correct elf_merge_st_other arguments for weak symbols * elflink.c (_bfd_elf_merge_symbol): If merging a new weak symbol that will be skipped, we don't have a new definition. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d00b1c870e2..2918efee251 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-12-20 Alan Modra + + * elflink.c (_bfd_elf_merge_symbol): If merging a new weak + symbol that will be skipped, we don't have a new definition. + 2013-11-26 Will Newton * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): diff --git a/bfd/elflink.c b/bfd/elflink.c index 78eb67b9fbd..742996dfc54 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -1437,7 +1437,10 @@ _bfd_elf_merge_symbol (bfd *abfd, if (!(oldbfd != NULL && (oldbfd->flags & BFD_PLUGIN) != 0 && (abfd->flags & BFD_PLUGIN) == 0)) - *skip = TRUE; + { + newdef = FALSE; + *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