Module Name:    src
Committed By:   martin
Date:           Tue Aug 12 09:36:03 UTC 2014

Modified Files:
        src/external/gpl3/binutils/dist/bfd [netbsd-7]: ChangeLog elflink.c

Log Message:
Pull up following revision(s) (requested by skrll in ticket #5):
        external/gpl3/binutils/dist/bfd/ChangeLog: revision 1.6
        external/gpl3/binutils/dist/bfd/elflink.c: revision 1.8
Apply change from upstream to fix PR/48709 - port-alpha/48709: static
threaded programs crash.
With this fix the new weak symbol's st_other is not merged in, i.e. NOPV
is not copied from the libc __libc_thr_init.
* elflink.c (_bfd_elf_merge_symbol): If merging a new weak
symbol that will be skipped, we don't have a new definition.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.5.4.1 src/external/gpl3/binutils/dist/bfd/ChangeLog
cvs rdiff -u -r1.7 -r1.7.4.1 src/external/gpl3/binutils/dist/bfd/elflink.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/ChangeLog
diff -u src/external/gpl3/binutils/dist/bfd/ChangeLog:1.5 src/external/gpl3/binutils/dist/bfd/ChangeLog:1.5.4.1
--- src/external/gpl3/binutils/dist/bfd/ChangeLog:1.5	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/ChangeLog	Tue Aug 12 09:36:03 2014
@@ -1,3 +1,8 @@
+2013-12-14  Alan Modra  <[email protected]>
+
+	* elflink.c (_bfd_elf_merge_symbol): If merging a new weak
+	symbol that will be skipped, we don't have a new definition.
+
 2013-03-25  Tristan Gingold  <[email protected]>
 
 	* configure.in: Bump version to 2.23.2

Index: src/external/gpl3/binutils/dist/bfd/elflink.c
diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.7 src/external/gpl3/binutils/dist/bfd/elflink.c:1.7.4.1
--- src/external/gpl3/binutils/dist/bfd/elflink.c:1.7	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elflink.c	Tue Aug 12 09:36:03 2014
@@ -1442,7 +1442,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

Reply via email to