| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | diff -Nur gcc-4.7.2.orig/gcc/config/arm/linux-eabi.h gcc-4.7.2/gcc/config/arm/linux-eabi.h--- gcc-4.7.2.orig/gcc/config/arm/linux-eabi.h	2011-11-02 16:03:19.000000000 +0100+++ gcc-4.7.2/gcc/config/arm/linux-eabi.h	2013-05-03 16:38:21.000000000 +0200@@ -34,7 +34,21 @@ /* We default to a soft-float ABI so that binaries can run on all    target hardware.  */ #undef  TARGET_DEFAULT_FLOAT_ABI+#ifdef TARGET_CONFIGURED_FLOAT_ABI+#if TARGET_CONFIGURED_FLOAT_ABI == 2+#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD+#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=hard"+#elif TARGET_CONFIGURED_FLOAT_ABI == 1+#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFTFP+#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=softfp"+#else #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT+#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=soft"+#endif+#else+#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT+#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=soft"+#endif  /* We default to the "aapcs-linux" ABI so that enums are int-sized by    default.  */@@ -62,7 +76,45 @@ /* Use ld-linux.so.3 so that it will be possible to run "classic"    GNU/Linux binaries on an EABI system.  */ #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"+#ifdef TARGET_CONFIGURED_FLOAT_ABI+#if TARGET_CONFIGURED_FLOAT_ABI == 2+#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_HARD_FLOAT+#else+#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT+#endif+#else+#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT+#endif++#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 "}"++/* Set the multilib defaults according the configuration, needed to+   let gcc -print-multi-dir do the right thing.  */++#if TARGET_BIG_ENDIAN_DEFAULT+#define MULTILIB_DEFAULT_ENDIAN "mbig-endian"+#else+#define MULTILIB_DEFAULT_ENDIAN "mlittle-endian"+#endif++#ifndef TARGET_CONFIGURED_THUMB_MODE+#define MULTILIB_DEFAULT_MODE "marm"+#elif TARGET_CONFIGURED_THUMB_MODE == 1+#define MULTILIB_DEFAULT_MODE "mthumb"+#else+#define MULTILIB_DEFAULT_MODE "marm"+#endif++#undef  MULTILIB_DEFAULTS+#define MULTILIB_DEFAULTS \+       { MULTILIB_DEFAULT_MODE, MULTILIB_DEFAULT_ENDIAN, \+         MULTILIB_DEFAULT_FLOAT_ABI, "mno-thumb-interwork" }+  /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to    use the GNU/Linux version, not the generic BPABI version.  */
 |