[binutils] Correct elf_merge_st_other arguments for weak symbols. Resolves: #1126436

Nicholas Clifton nickc at fedoraproject.org
Fri Aug 15 13:51:30 UTC 2014


commit 2bd8f32fb2c77386bf41017a468a4cd51a262269
Author: Nick Clifton <nickc at redhat.com>
Date:   Fri Aug 15 14:51:17 2014 +0100

    Correct elf_merge_st_other arguments for weak symbols.
    Resolves: #1126436

 binutils-2.24-weak-sym-merge.patch |   22 ++++++++++++++++++++++
 binutils.spec                      |    8 +++++++-
 2 files changed, 29 insertions(+), 1 deletions(-)
---
diff --git a/binutils-2.24-weak-sym-merge.patch b/binutils-2.24-weak-sym-merge.patch
new file mode 100644
index 0000000..0625f0d
--- /dev/null
+++ b/binutils-2.24-weak-sym-merge.patch
@@ -0,0 +1,22 @@
+*** ../binutils-2.24.orig/bfd/elflink.c	2014-08-15 14:12:59.933394436 +0100
+--- bfd/elflink.c	2014-08-15 14:40:54.787075416 +0100
+*************** _bfd_elf_merge_symbol (bfd *abfd,
+*** 1437,1443 ****
+        if (!(oldbfd != NULL
+  	    && (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
+--- 1437,1446 ----
+        if (!(oldbfd != NULL
+  	    && (oldbfd->flags & BFD_PLUGIN) != 0
+  	    && (abfd->flags & BFD_PLUGIN) == 0))
+! 	{
+! 	  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
diff --git a/binutils.spec b/binutils.spec
index f6c5f22..ea1590c 100644
--- a/binutils.spec
+++ b/binutils.spec
@@ -17,7 +17,7 @@
 Summary: A GNU collection of binary utilities
 Name: %{?cross}binutils%{?_with_debug:-debug}
 Version: 2.24
-Release: 17%{?dist}
+Release: 18%{?dist}
 License: GPLv3+
 Group: Development/Tools
 URL: http://sources.redhat.com/binutils
@@ -63,6 +63,7 @@ Patch20: binutils-2.24-arm-static-tls.patch
 Patch21: binutils-2.24-fat-lto-objects.patch
 Patch22: binutils-2.24-symbol-warning.patch
 Patch23: binutils-2.24-aarch64-ld-shared-non-PIC-xfail.patch
+Patch24: binutils-2.24-weak-sym-merge.patch
 
 Provides: bundled(libiberty)
 
@@ -190,6 +191,7 @@ using libelf instead of BFD.
 %patch21 -p1 -b .fatlto~
 %patch22 -p1 -b .symwarn~
 %patch23 -p1 -b .ld-aarch64-xfails~
+%patch24 -p0 -b .weak-sym-merge~
 
 # We cannot run autotools as there is an exact requirement of autoconf-2.59.
 
@@ -500,6 +502,10 @@ exit 0
 %endif # %{isnative}
 
 %changelog
+* Fri Aug 15 2014 Nick Clifton <nickc at redhat.com> - 2.24-18
+- Correct elf_merge_st_other arguments for weak symbols.
+  Resolves: #1126436
+
 * Tue Aug 12 2014 Jeff Law <law at redhat.com> - 2.24-17
 - Enable gold for PPC.
 


More information about the scm-commits mailing list