diff options
author | Mike Frysinger <vapier@gentoo.org> | 2012-05-05 07:59:51 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2012-05-05 07:59:51 +0000 |
commit | 501da47ab753b202641caf48d0e5043257962eea (patch) | |
tree | 9c6ab60ec31d82e312bdfef3f5d518b5c87d134a /4.5.3 | |
parent | Updated cloog patch comments, mark release. (diff) | |
download | gcc-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.patch | 43 | ||||
-rw-r--r-- | 4.5.3/gentoo/README.history | 3 |
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 |