[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