summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2016-11-23 01:05:51 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2016-11-23 01:05:58 +0100
commit3145c620aaad8fabf55d3fb6f40ae782e4ff7fa3 (patch)
treeaec3631a289008034faa6a9a2b3f918c3a82be68
parent1d1bbf63ba32d1199b4ecff9d2296fc79ea276ec (diff)
musl: add s390 support
-rw-r--r--target/config/Config.in.compiler1
-rw-r--r--target/config/Config.in.libc1
-rw-r--r--toolchain/gcc/patches/6.2.0/s390-musl.patch15
3 files changed, 17 insertions, 0 deletions
diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler
index 7228268bb..e99bcc193 100644
--- a/target/config/Config.in.compiler
+++ b/target/config/Config.in.compiler
@@ -31,6 +31,7 @@ default ADK_TOOLCHAIN_GCC_6 if ADK_TARGET_ARCH_H8300
default ADK_TOOLCHAIN_GCC_6 if ADK_TARGET_ARCH_FRV
default ADK_TOOLCHAIN_GCC_6 if ADK_TARGET_ARCH_M32R
default ADK_TOOLCHAIN_GCC_6 if ADK_TARGET_CPU_MIPS_MIPS32R6 || ADK_TARGET_CPU_MIPS64_MIPS64R6
+default ADK_TOOLCHAIN_GCC_6 if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_S390
default ADK_TOOLCHAIN_GCC_5
config ADK_TOOLCHAIN_GCC_GIT
diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc
index 24c76eed4..d189bae01 100644
--- a/target/config/Config.in.libc
+++ b/target/config/Config.in.libc
@@ -51,6 +51,7 @@ config ADK_TARGET_LIB_MUSL
ADK_TARGET_ARCH_OR1K || \
ADK_TARGET_ARCH_PPC || \
ADK_TARGET_ARCH_PPC64 || \
+ ADK_TARGET_ARCH_S390 || \
ADK_TARGET_ARCH_SH || \
ADK_TARGET_ARCH_X86 || \
ADK_TARGET_ARCH_X86_64 || \
diff --git a/toolchain/gcc/patches/6.2.0/s390-musl.patch b/toolchain/gcc/patches/6.2.0/s390-musl.patch
new file mode 100644
index 000000000..f2789e804
--- /dev/null
+++ b/toolchain/gcc/patches/6.2.0/s390-musl.patch
@@ -0,0 +1,15 @@
+diff -Nur gcc-6.2.0.orig/gcc/config/s390/linux.h gcc-6.2.0/gcc/config/s390/linux.h
+--- gcc-6.2.0.orig/gcc/config/s390/linux.h 2016-01-04 15:30:50.000000000 +0100
++++ gcc-6.2.0/gcc/config/s390/linux.h 2016-11-23 00:05:47.186562086 +0100
+@@ -63,6 +63,11 @@
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
+
++#undef MUSL_DYNAMIC_LINKER32
++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-s390.so.1"
++#undef MUSL_DYNAMIC_LINKER64
++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-s390x.so.1"
++
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} \