[glibc] - Improve fortification disabled warning. - Change location of dynamic linker for armhf.
Jeffrey Law
law at fedoraproject.org
Mon May 7 19:47:44 UTC 2012
commit 6537aa83a13c3478d91c0fcf32862c318861832a
Author: Jeff Law <law at redhat.com>
Date: Mon May 7 12:06:40 2012 -0600
- Improve fortification disabled warning.
- Change location of dynamic linker for armhf.
glibc-arm-hardfloat-1.patch | 11 +++++++++
glibc-arm-hardfloat-2.patch | 48 +++++++++++++++++++++++++++++++++++++++++++
glibc-sw13979.patch | 2 +-
glibc.spec | 15 ++++++++++--
4 files changed, 72 insertions(+), 4 deletions(-)
---
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 <law at redhat.com> - 2.15-36
+ - Improve fortification disabled warning.
+ - Change location of dynamic linker for armhf.
+
* Mon Apr 30 2012 Jeff Law <law at redhat.com> - 2.15-35
- Implement context routines for ARM (#817276)
More information about the scm-commits
mailing list