- 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)
This commit is contained in:
Carlos O'Donell 2013-10-02 21:34:56 -04:00
parent 4ef9594328
commit 9c4147aa9e
2 changed files with 31 additions and 1 deletions

19
glibc-rh1009145.patch Normal file
View File

@ -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,

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.18-186-gfd96752 %define glibcsrcdir glibc-2.18-186-gfd96752
%define glibcversion 2.18.90 %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 # Pre-release tarballs are pulled in from git using a command that is
# effectively: # effectively:
# #
@ -183,6 +183,10 @@ Patch0042: %{name}-rh970865.patch
# Avoid the use of __block which is a reserved keyword for clang++. # Avoid the use of __block which is a reserved keyword for clang++.
Patch0043: %{name}-rh1009623.patch 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 # Patches from upstream
# #
@ -539,6 +543,7 @@ package or when debugging this package.
%patch0042 -p1 %patch0042 -p1
%patch0043 -p1 %patch0043 -p1
%patch2028 -p1 %patch2028 -p1
%patch0044 -p1
############################################################################## ##############################################################################
# %%prep - Additional prep required... # %%prep - Additional prep required...
@ -1624,6 +1629,12 @@ rm -f *.filelist*
%endif %endif
%changelog %changelog
* Wed Oct 1 2013 Carlos O'Donell <carlos@redhat.com> - 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 <siddhesh@redhat.com> - 2.18.90-7 * Tue Oct 1 2013 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-7
- Fix check for PI mutex on non-x86 systems (#1007590). - Fix check for PI mutex on non-x86 systems (#1007590).
- Resync with upstream master. - Resync with upstream master.