Import patch from mainline to fix indirect symbol resolution.

Resolves: BZ #1123714
This commit is contained in:
Nick Clifton 2014-08-21 10:20:37 +01:00
parent 6878c21860
commit eaa735511a
2 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,28 @@
*** ../binutils-2.24.orig/bfd/elflink.c 2014-08-21 09:17:27.753408085 +0100
--- bfd/elflink.c 2014-08-21 10:04:52.174935912 +0100
*************** _bfd_elf_add_default_symbol (bfd *abfd,
*** 1705,1710 ****
--- 1705,1716 ----
ht = (struct elf_link_hash_entry *) hi->root.u.i.link;
(*bed->elf_backend_copy_indirect_symbol) (info, ht, hi);
+ /* A reference to the SHORTNAME symbol from a dynamic library
+ will be satisfied by the versioned symbol at runtime. In
+ effect, we have a reference to the versioned symbol. */
+ ht->ref_dynamic_nonweak |= hi->ref_dynamic_nonweak;
+ hi->dynamic_def |= ht->dynamic_def;
+
/* See if the new flags lead us to realize that the symbol must
be dynamic. */
if (! *dynsym)
*************** nondefault:
*** 1774,1779 ****
--- 1780,1787 ----
if (hi->root.type == bfd_link_hash_indirect)
{
(*bed->elf_backend_copy_indirect_symbol) (info, h, hi);
+ h->ref_dynamic_nonweak |= hi->ref_dynamic_nonweak;
+ hi->dynamic_def |= h->dynamic_def;
/* See if the new flags lead us to realize that the symbol
must be dynamic. */

View File

@ -19,7 +19,7 @@
Summary: A GNU collection of binary utilities Summary: A GNU collection of binary utilities
Name: %{?cross}binutils%{?_with_debug:-debug} Name: %{?cross}binutils%{?_with_debug:-debug}
Version: 2.24 Version: 2.24
Release: 20%{?dist} Release: 21%{?dist}
License: GPLv3+ License: GPLv3+
Group: Development/Tools Group: Development/Tools
URL: http://sources.redhat.com/binutils URL: http://sources.redhat.com/binutils
@ -66,6 +66,7 @@ Patch21: binutils-2.24-fat-lto-objects.patch
Patch22: binutils-2.24-symbol-warning.patch Patch22: binutils-2.24-symbol-warning.patch
Patch23: binutils-2.24-aarch64-ld-shared-non-PIC-xfail.patch Patch23: binutils-2.24-aarch64-ld-shared-non-PIC-xfail.patch
Patch24: binutils-2.24-weak-sym-merge.patch Patch24: binutils-2.24-weak-sym-merge.patch
Patch25: binutils-2.24-indirect-chain.patch
Provides: bundled(libiberty) Provides: bundled(libiberty)
@ -194,6 +195,7 @@ using libelf instead of BFD.
%patch22 -p1 -b .symwarn~ %patch22 -p1 -b .symwarn~
%patch23 -p1 -b .ld-aarch64-xfails~ %patch23 -p1 -b .ld-aarch64-xfails~
%patch24 -p0 -b .weak-sym-merge~ %patch24 -p0 -b .weak-sym-merge~
%patch25 -p0 -b .indirect-chain~
# We cannot run autotools as there is an exact requirement of autoconf-2.59. # We cannot run autotools as there is an exact requirement of autoconf-2.59.
@ -507,6 +509,10 @@ exit 0
%endif # %{isnative} %endif # %{isnative}
%changelog %changelog
* Thu Aug 21 2014 Nick Clifton <nickc@redhat.com> - 2.24-21
- Import patch from mainline to fix indirect symbol resolution.
Resolves: BZ #1123714
* Tue Aug 19 2014 Nick Clifton <nickc@redhat.com> - 2.24-20 * Tue Aug 19 2014 Nick Clifton <nickc@redhat.com> - 2.24-20
- Enable deterministic archives by default. - Enable deterministic archives by default.
Resolves: BZ #1124342 Resolves: BZ #1124342