From 470c96d6abcd50a7f5f7c17bf22e39b83c882c30 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Wed, 2 Oct 2013 21:37:43 -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 | 22 ++++++++++++++++++++++ glibc.spec | 13 ++++++++++++- 2 files changed, 34 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..e8d8b92 --- /dev/null +++ b/glibc-rh1009145.patch @@ -0,0 +1,22 @@ +# +# Will not go upstream. This is a Fedora local patch that is a workaround. +# +--- 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 6888471..3e36ec2 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.18 %define glibcversion 2.18 -%define glibcrelease 10%{?dist} +%define glibcrelease 11%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -180,6 +180,10 @@ Patch0040: %{name}-rh731833-rtkaio.patch Patch0041: %{name}-rh731833-rtkaio-2.patch Patch0042: %{name}-rh970865.patch +# ARM: Accept that some objects marked hard ABI are now not because of a +# binutils bug. +Patch0043: %{name}-rh1009145.patch + # # Patches from upstream # @@ -559,6 +563,7 @@ package or when debugging this package. %patch1002 -p1 %patch2031 -p1 %patch2032 -p1 +%patch0043 -p1 ############################################################################## # %%prep - Additional prep required... @@ -1644,6 +1649,12 @@ rm -f *.filelist* %endif %changelog +* Wed Oct 2 2013 Carlos O'Donell - 2.18-11 +- 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-10 - Fix check for PI mutex on non-x86 systems (#1007590).