aboutsummaryrefslogtreecommitdiff
path: root/4.5.3
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-05-05 07:59:51 +0000
committerMike Frysinger <vapier@gentoo.org>2012-05-05 07:59:51 +0000
commit501da47ab753b202641caf48d0e5043257962eea (patch)
tree9c6ab60ec31d82e312bdfef3f5d518b5c87d134a /4.5.3
parentUpdated cloog patch comments, mark release. (diff)
downloadgcc-patches-501da47ab753b202641caf48d0e5043257962eea.tar.gz
gcc-patches-501da47ab753b202641caf48d0e5043257962eea.tar.bz2
gcc-patches-501da47ab753b202641caf48d0e5043257962eea.zip
backport patch for setting arm hardfloat ldso path to a new unique value
Diffstat (limited to '4.5.3')
-rw-r--r--4.5.3/gentoo/33_all_armhf.patch43
-rw-r--r--4.5.3/gentoo/README.history3
2 files changed, 46 insertions, 0 deletions
diff --git a/4.5.3/gentoo/33_all_armhf.patch b/4.5.3/gentoo/33_all_armhf.patch
new file mode 100644
index 0000000..492d689
--- /dev/null
+++ b/4.5.3/gentoo/33_all_armhf.patch
@@ -0,0 +1,43 @@
+use new common path to the arm hard float linker
+
+change taken from upstream gcc
+
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -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. */
diff --git a/4.5.3/gentoo/README.history b/4.5.3/gentoo/README.history
index 5f1aa22..66ce443 100644
--- a/4.5.3/gentoo/README.history
+++ b/4.5.3/gentoo/README.history
@@ -1,3 +1,6 @@
+1.3 [pending]
+ + 33_all_armhf.patch
+
1.2 15 Apr 2012
+ 27_all_gcj-glibc-2.15-pr50888.patch