[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