]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Correct elf_merge_st_other arguments for weak symbols
authorAlan Modra <amodra@gmail.com>
Sat, 14 Dec 2013 02:40:04 +0000 (13:10 +1030)
committerAlan Modra <amodra@gmail.com>
Fri, 20 Dec 2013 02:08:25 +0000 (12:38 +1030)
* elflink.c (_bfd_elf_merge_symbol): If merging a new weak
symbol that will be skipped, we don't have a new definition.

bfd/ChangeLog
bfd/elflink.c

index d00b1c870e2fdf743c5e078f6d06e408941b3891..2918efee251fdabd6158d9efde4716453e594222 100644 (file)
@@ -1,3 +1,8 @@
+2013-12-20  Alan Modra  <amodra@gmail.com>
+
+       * 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  <will.newton@linaro.org>
 
        * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
index 78eb67b9fbda0d33edee9d8eaafbb9b8f027dc7b..742996dfc546d9489efaa01c22739a36f2edc9d6 100644 (file)
@@ -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