From cf5eba0376f577c74c2a3f31eff7e4f3613ad065 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 25 Nov 2012 09:52:30 +0100 Subject: [PATCH] - added elf-strtab-assert (fixes assert in elf-strtab.c:247) - release 2 --- binutils-elf-strtab-assert.patch | 53 ++++++++++++++++++++++++++++++++ binutils.spec | 4 ++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 binutils-elf-strtab-assert.patch diff --git a/binutils-elf-strtab-assert.patch b/binutils-elf-strtab-assert.patch new file mode 100644 index 0000000..fb5d3d8 --- /dev/null +++ b/binutils-elf-strtab-assert.patch @@ -0,0 +1,53 @@ +=================================================================== +RCS file: /cvs/src/src/bfd/elflink.c,v +retrieving revision 1.456 +retrieving revision 1.457 +diff -u -r1.456 -r1.457 +--- src/bfd/elflink.c 2012/10/30 12:44:53 1.456 ++++ src/bfd/elflink.c 2012/11/20 22:17:26 1.457 +@@ -4394,8 +4394,6 @@ + { + h->def_dynamic = 0; + h->ref_dynamic = 1; +- /* PR 12549: Note if the dynamic reference is weak. */ +- h->ref_dynamic_nonweak = (bind != STB_WEAK); + } + } + +@@ -4413,9 +4411,6 @@ + { + h->ref_dynamic = 1; + hi->ref_dynamic = 1; +- /* PR 12549: Note if the dynamic reference is weak. */ +- hi->ref_dynamic_nonweak = +- h->ref_dynamic_nonweak = (bind != STB_WEAK); + } + else + { +@@ -4503,8 +4498,8 @@ + if (!add_needed + && definition + && ((dynsym +- && h->ref_regular_nonweak) +- || (h->ref_dynamic_nonweak ++ && h->ref_regular) ++ || (h->ref_dynamic + && (elf_dyn_lib_class (abfd) & DYN_AS_NEEDED) != 0 + && !on_needed_list (elf_dt_name (abfd), htab->needed)))) + { +=================================================================== +RCS file: /cvs/src/src/bfd/elf-bfd.h,v +retrieving revision 1.349 +retrieving revision 1.350 +diff -u -r1.349 -r1.350 +--- src/bfd/elf-bfd.h 2012/10/30 12:44:53 1.349 ++++ src/bfd/elf-bfd.h 2012/11/20 22:17:26 1.350 +@@ -168,8 +168,6 @@ + /* Symbol has a non-weak reference from a non-shared object (other than + the object in which it is defined). */ + unsigned int ref_regular_nonweak : 1; +- /* Symbol has a non-weak reference from a shared object. */ +- unsigned int ref_dynamic_nonweak : 1; + /* Dynamic symbol has been adjustd. */ + unsigned int dynamic_adjusted : 1; + /* Symbol needs a copy reloc. */ diff --git a/binutils.spec b/binutils.spec index d96c196..23abb9f 100644 --- a/binutils.spec +++ b/binutils.spec @@ -23,7 +23,7 @@ Summary(tr.UTF-8): GNU geliştirme araçları Summary(uk.UTF-8): Набір інструментів GNU для побудови виконуваних програм Name: binutils Version: 2.23.51.0.5 -Release: 1 +Release: 2 Epoch: 3 License: GPL v3+ Group: Development/Tools @@ -41,6 +41,7 @@ Patch7: %{name}-libtool-m.patch Patch8: %{name}-build-id.patch Patch9: %{name}-tooldir.patch Patch10: %{name}-sanity-check.patch +Patch11: %{name}-elf-strtab-assert.patch URL: http://sources.redhat.com/binutils/ BuildRequires: autoconf >= 2.64 BuildRequires: automake >= 1:1.11 @@ -168,6 +169,7 @@ niektórych pakietów. %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 # file contains hacks for ac 2.59 only %{__rm} config/override.m4 -- 2.44.0