aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arm/linux-eabi.h
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2012-05-01 08:47:43 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2012-05-01 08:47:43 +0000
commit6302b84be1ba1822f36eeeca858c267ea8852693 (patch)
tree83426ab7e67ed46883bfe723b1befcafdfcd32c6 /gcc/config/arm/linux-eabi.h
parent56ca756cd95ffa1e2dadabd88a0b31380b84be64 (diff)
downloadgcc-6302b84be1ba1822f36eeeca858c267ea8852693.zip
gcc-6302b84be1ba1822f36eeeca858c267ea8852693.tar.gz
gcc-6302b84be1ba1822f36eeeca858c267ea8852693.tar.bz2
linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef comparing enumeration values.
* arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef comparing enumeration values. Update comments. From-SVN: r187012
Diffstat (limited to 'gcc/config/arm/linux-eabi.h')
-rw-r--r--gcc/config/arm/linux-eabi.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
index 2ace6f0..46d3bc6 100644
--- 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,16 +60,19 @@
#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_SOFT_FLOAT "/lib/ld-linux.so.3"
#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
-#if TARGET_DEFAULT_FLOAT_ABI == ARM_FLOAT_ABI_HARD
-#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_HARD_FLOAT
-#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 "} \