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. */
|