From 9c4147aa9e33fca7fae5832eb2fab0232b3d0b4f Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Wed, 2 Oct 2013 21:34:56 -0400 Subject: [PATCH] Resolves: #1009145 - Allow ldconfig cached objects previously marked as hard or soft ABI to now become unmarked without raising an error. This works around a binutils bug that caused objects to become unmarked. (#1009145) --- glibc-rh1009145.patch | 19 +++++++++++++++++++ glibc.spec | 13 ++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 glibc-rh1009145.patch diff --git a/glibc-rh1009145.patch b/glibc-rh1009145.patch new file mode 100644 index 0000000..c1af7fa --- /dev/null +++ b/glibc-rh1009145.patch @@ -0,0 +1,19 @@ +--- glibc-2.18-151-g303e567.orig/elf/ldconfig.c 2013-09-25 14:01:01.522446341 -0400 ++++ glibc-2.18-151-g303e567/elf/ldconfig.c 2013-09-25 14:06:31.094218857 -0400 +@@ -959,6 +959,16 @@ + || dlib_ptr->flag == FLAG_ELF_LIBC6) + && flag == FLAG_ELF) + dlib_ptr->flag = flag; ++#ifdef __arm__ ++ /* In Fedora 20 binutils regressed temporarily and failed to ++ mark hard ABI objects with the correct flag. Therefore we ++ must accept unmarked objects that were previously marked ++ hard ABI. We can remove this check once the entire distribution ++ has been rebuilt. */ ++ else if (dlib_ptr->flag & FLAG_ARM_LIBHF && ++ (flag == FLAG_ELF_LIBC6)) ++ ; ++#endif + else + error (0, 0, _("libraries %s and %s in directory %s have same soname but different type."), + dlib_ptr->name, direntry->d_name, diff --git a/glibc.spec b/glibc.spec index f1e1a2b..5eec1a5 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.18-186-gfd96752 %define glibcversion 2.18.90 -%define glibcrelease 7%{?dist} +%define glibcrelease 8%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -183,6 +183,10 @@ Patch0042: %{name}-rh970865.patch # Avoid the use of __block which is a reserved keyword for clang++. Patch0043: %{name}-rh1009623.patch +# ARM: Accept that some objects marked hard ABI are now not because of a +# binutils bug. +Patch0044: %{name}-rh1009145.patch + # # Patches from upstream # @@ -539,6 +543,7 @@ package or when debugging this package. %patch0042 -p1 %patch0043 -p1 %patch2028 -p1 +%patch0044 -p1 ############################################################################## # %%prep - Additional prep required... @@ -1624,6 +1629,12 @@ rm -f *.filelist* %endif %changelog +* Wed Oct 1 2013 Carlos O'Donell - 2.18.90-8 +- Allow ldconfig cached objects previously marked as hard or soft + ABI to now become unmarked without raising an error. This works + around a binutils bug that caused objects to become unmarked. + (#1009145) + * Tue Oct 1 2013 Siddhesh Poyarekar - 2.18.90-7 - Fix check for PI mutex on non-x86 systems (#1007590). - Resync with upstream master.