[gcc] 4.7.1-2

Jakub Jelinek jakub at fedoraproject.org
Fri Jul 13 09:37:02 UTC 2012


commit ee79e7e0ab94afd05abe2439ea284fbdc16ea99b
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Fri Jul 13 11:36:11 2012 +0200

    4.7.1-2

 gcc.spec                 |   16 +++++++++++++-
 gcc47-arm-hfp-ldso.patch |   52 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+), 1 deletions(-)
---
diff --git a/gcc.spec b/gcc.spec
index 07dbee3..4ee2d2b 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -3,7 +3,7 @@
 %global gcc_version 4.7.1
 # Note, gcc_release must be integer, if you want to add suffixes to
 # %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 1
+%global gcc_release 2
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -145,6 +145,11 @@ Requires: glibc-devel >= 2.2.90-12
 # Make sure glibc supports TFmode long double
 Requires: glibc >= 2.3.90-35
 %endif
+%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
+%ifarch armv7hl
+Requires: glibc >= 2.16
+%endif
+%endif
 Requires: libgcc >= %{version}-%{release}
 Requires: libgomp = %{version}-%{release}
 %if !%{build_ada}
@@ -175,6 +180,7 @@ Patch13: gcc47-no-add-needed.patch
 Patch14: gcc47-ppl-0.10.patch
 Patch15: gcc47-libitm-fno-exceptions.patch
 Patch16: gcc47-libgo-mksysinfo.patch
+Patch17: gcc47-arm-hfp-ldso.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -677,6 +683,11 @@ package or when debugging this package.
 %endif
 %patch15 -p0 -b .libitm-fno-exceptions~
 %patch16 -p0 -b .libgo-mksysinfo~
+%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
+%ifarch armv7hl
+%patch17 -p0 -b .arm-hfp-ldso~
+%endif
+%endif
 
 %if 0%{?_enable_debug_packages}
 cat > split-debuginfo.sh <<\EOF
@@ -2643,6 +2654,9 @@ fi
 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
+* Fri Jul 13 2012 Jakub Jelinek <jakub at redhat.com> 4.7.1-2
+- change ld.so pathname for arm hfp for F18+
+
 * Fri Jun 29 2012 Jakub Jelinek <jakub at redhat.com> 4.7.1-1
 - update from the 4.7 branch
   - GCC 4.7.1 release
diff --git a/gcc47-arm-hfp-ldso.patch b/gcc47-arm-hfp-ldso.patch
new file mode 100644
index 0000000..2f0b8c4
--- /dev/null
+++ b/gcc47-arm-hfp-ldso.patch
@@ -0,0 +1,52 @@
+2012-05-01  Richard Earnshaw  <rearnsha at arm.com>
+
+	* arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef
+	comparing enumeration values.  Update comments.
+
+2012-04-26  Michael Hope  <michael.hope at linaro.org>
+	    Richard Earnshaw  <rearnsha at arm.com>
+
+	* config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
+	(GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
+	(GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
+	(GLIBC_DYNAMIC_LINKER):	Redefine to use the hard float path.
+
+--- gcc/config/arm/linux-eabi.h	(revision 186858)
++++ gcc/config/arm/linux-eabi.h	(revision 187012)
+@@ -32,7 +32,8 @@
+   while (false)
+ 
+ /* We default to a soft-float ABI so that binaries can run on all
+-   target hardware.  */
++   target hardware.  If you override this to use the hard-float ABI then
++   change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well.  */
+ #undef  TARGET_DEFAULT_FLOAT_ABI
+ #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT
+ 
+@@ -59,10 +60,23 @@
+ #undef  SUBTARGET_EXTRA_LINK_SPEC
+ #define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION
+ 
+-/* Use ld-linux.so.3 so that it will be possible to run "classic"
+-   GNU/Linux binaries on an EABI system.  */
++/* GNU/Linux on ARM currently supports three dynamic linkers:
++   - ld-linux.so.2 - for the legacy ABI
++   - ld-linux.so.3 - for the EABI-derived soft-float ABI
++   - ld-linux-armhf.so.3 - for the EABI-derived hard-float ABI.
++   All the dynamic linkers live in /lib.
++   We default to soft-float, but this can be overridden by changing both
++   GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI.  */
++
+ #undef  GLIBC_DYNAMIC_LINKER
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
++#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
++
++#define GLIBC_DYNAMIC_LINKER \
++   "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
++    %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
++    %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
+ 
+ /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
+    use the GNU/Linux version, not the generic BPABI version.  */


More information about the scm-commits mailing list