aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGregor Richards <gregor.richards@uwaterloo.ca>2015-05-27 13:17:11 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2015-05-27 13:17:11 +0000
commit4d45be537bef92d4222e89c958b26983d4009d2e (patch)
tree413173fdbf45bab0853b62d2cf024aff18b82b5b /gcc
parent2d44c7dea7c8d2917eec28a5e08e8f405aad8c3e (diff)
downloadgcc-4d45be537bef92d4222e89c958b26983d4009d2e.zip
gcc-4d45be537bef92d4222e89c958b26983d4009d2e.tar.gz
gcc-4d45be537bef92d4222e89c958b26983d4009d2e.tar.bz2
[PATCH 4/13] arm musl support
On behalf of szabolcs.nagy@arm.com 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca> * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define. From-SVN: r223749
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arm/linux-eabi.h17
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fa6ce5c..b496476 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
+
+ * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
+
2015-05-27 Martin Liska <mliska@suse.cz>
* Makefile.in: Add additional dependencies related to memory report
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
index 2cf3ca7..d51376f 100644
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -77,6 +77,23 @@
%{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
%{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
+/* For ARM musl currently supports four dynamic linkers:
+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI
+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI
+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB
+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB
+ musl does not support the legacy OABI mode.
+ All the dynamic linkers live in /lib.
+ We default to soft-float, EL. */
+#undef MUSL_DYNAMIC_LINKER
+#if TARGET_BIG_ENDIAN_DEFAULT
+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}"
+#else
+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
+#endif
+#define MUSL_DYNAMIC_LINKER \
+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
+
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
#undef LINK_SPEC