57 lines
1.9 KiB
Diff
57 lines
1.9 KiB
Diff
|
From ec39b7c91facdd74fddea95128502c25ec3948a3 Mon Sep 17 00:00:00 2001
|
||
|
From: ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||
|
Date: Wed, 27 May 2015 13:17:11 +0000
|
||
|
Subject: [PATCH 11/12] [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.
|
||
|
|
||
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223749 138bc75d-0d04-0410-961f-82ee72b054a4
|
||
|
---
|
||
|
gcc/config/arm/linux-eabi.h | 17 +++++++++++++++++
|
||
|
1 file changed, 17 insertions(+)
|
||
|
|
||
|
--- 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
|
||
|
--- a/libitm/config/arm/hwcap.cc
|
||
|
+++ b/libitm/config/arm/hwcap.cc
|
||
|
@@ -40,7 +40,11 @@ int GTM_hwcap HIDDEN = 0
|
||
|
|
||
|
#ifdef __linux__
|
||
|
#include <unistd.h>
|
||
|
+#ifdef __GLIBC__
|
||
|
#include <sys/fcntl.h>
|
||
|
+#else
|
||
|
+#include <fcntl.h>
|
||
|
+#endif
|
||
|
#include <elf.h>
|
||
|
|
||
|
static void __attribute__((constructor))
|