From 6537aa83a13c3478d91c0fcf32862c318861832a Mon Sep 17 00:00:00 2001 From: Jeff Law Date: May 07 2012 18:06:40 +0000 Subject: - Improve fortification disabled warning. - Change location of dynamic linker for armhf. --- diff --git a/glibc-arm-hardfloat-1.patch b/glibc-arm-hardfloat-1.patch new file mode 100644 index 0000000..c87b8a8 --- /dev/null +++ b/glibc-arm-hardfloat-1.patch @@ -0,0 +1,11 @@ +diff -rup c/config.h.in d/config.h.in +--- c/config.h.in 2012-05-07 09:35:44.844234866 -0600 ++++ d/config.h.in 2012-05-07 11:53:43.461629793 -0600 +@@ -230,4 +230,7 @@ + + #define HAVE_REGEX 1 + ++/* The ARM hard-float ABI is being used. */ ++#undef HAVE_ARM_PCS_VFP ++ + #endif diff --git a/glibc-arm-hardfloat-2.patch b/glibc-arm-hardfloat-2.patch new file mode 100644 index 0000000..6a66b3e --- /dev/null +++ b/glibc-arm-hardfloat-2.patch @@ -0,0 +1,48 @@ +diff -rup c/sysdeps/arm/configure.in d/sysdeps/arm/configure.in +--- c/sysdeps/arm/configure.in 2012-01-08 22:47:04.000000000 -0700 ++++ d/sysdeps/arm/configure.in 2012-05-07 11:55:26.111096072 -0600 +@@ -18,3 +18,28 @@ EOF + if test $libc_cv_asm_cfi_directive_sections != yes; then + AC_MSG_ERROR([need .cfi_sections in this configuration]) + fi ++ ++AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI], ++ [libc_cv_arm_pcs_vfp], ++ [archcppflag=`echo "" | ++ $CC $CFLAGS $CPPFLAGS -E -dM - | ++ grep __ARM_PCS_VFP | ++ sed -e 's/^#define //' -e 's/ .*//'` ++ # We check to see if the compiler and flags are ++ # selecting the hard-float ABI and if they are then ++ # we set libc_cv_arm_pcs_vfp to yes which causes ++ # HAVE_ARM_PCS_VFP to be defined in config.h and ++ # in include/libc-symbols.h and thus availabile to ++ # shlib-versions to select the appropriate name for ++ # the dynamic linker via %ifdef. ++ case x$archcppflag in ++ x__ARM_PCS_VFP) ++ libc_cv_arm_pcs_vfp=yes ++ ;; ++ *) ++ libc_cv_arm_pcs_vfp=no ++ ;; ++ esac]) ++if test $libc_cv_arm_pcs_vfp = yes; then ++ AC_DEFINE(HAVE_ARM_PCS_VFP) ++fi +Only in d/sysdeps/arm: configure.in.orig +diff -rup c/sysdeps/arm/shlib-versions d/sysdeps/arm/shlib-versions +--- c/sysdeps/arm/shlib-versions 2012-01-08 22:47:04.000000000 -0700 ++++ d/sysdeps/arm/shlib-versions 2012-05-07 11:57:07.739567660 -0600 +@@ -1,4 +1,10 @@ + arm.*-.*-linux-gnueabi.* DEFAULT GLIBC_2.4 + +-arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3 ++%ifdef HAVE_ARM_PCS_VFP ++# The EABI-derived hard-float ABI uses a new dynamic linker. ++arm.*-.*-linux-gnueabi.* ld=ld-linux-armhf.so.3 ++%else ++# The EABI-derived soft-float ABI continues to use ld-linux.so.3. ++arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3 ++%endif + arm.*-.*-linux.* ld=ld-linux.so.2 diff --git a/glibc-sw13979.patch b/glibc-sw13979.patch index 80d5427..e5111a6 100644 --- a/glibc-sw13979.patch +++ b/glibc-sw13979.patch @@ -12,7 +12,7 @@ index c347555..e3ad8b0 100644 #endif +#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 && __USE_FORTIFY_LEVEL == 0 -+# warning _FORTIFY_SOURCE requested but disabled ++# warning _FORTIFY_SOURCE requested but disabled, please enable optimizer to restore fortification +#endif + /* We do support the IEC 559 math functionality, real and complex. */ diff --git a/glibc.spec b/glibc.spec index c72f06a..108c42a 100644 --- a/glibc.spec +++ b/glibc.spec @@ -28,7 +28,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 35%{?dist} +Release: 36%{?dist} # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -112,7 +112,7 @@ Patch1042: %{name}-rh801650-1.patch Patch1043: %{name}-rh801650-2.patch Patch1046: %{name}-rh806403.patch Patch1048: %{name}-rh804792.patch -Patch1049: %{name}-rh817276.patch +Patch1053: %{name}-rh817276.patch # # Patches submitted, but not yet approved upstream. @@ -188,6 +188,9 @@ Patch2051: %{name}-rh788989-2.patch # Upstream BZ 13979 Patch2052: %{name}-sw13979.patch +# Upstream, see libc-alpha posting from Carlos O'Donell 5/5/2012 +Patch2054: %{name}-arm-hardfloat-1.patch +Patch2055: %{name}-arm-hardfloat-2.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Obsoletes: glibc-profile < 2.4 @@ -455,9 +458,11 @@ rm -rf %{glibcportsdir} %patch2050 -p1 %patch2051 -p1 %patch2052 -p1 +%patch2054 -p1 pushd ../%{glibcportsdir} -%patch1049 -p1 +%patch1053 -p1 +%patch2055 -p1 popd @@ -1312,6 +1317,10 @@ rm -f *.filelist* %endif %changelog +* Mon May 7 2012 Jeff Law - 2.15-36 + - Improve fortification disabled warning. + - Change location of dynamic linker for armhf. + * Mon Apr 30 2012 Jeff Law - 2.15-35 - Implement context routines for ARM (#817276)