From 51090a412a665305192e7a05b96bb753b02f591e Mon Sep 17 00:00:00 2001 From: Gregor Richards Date: Tue, 20 Oct 2015 18:13:15 +0000 Subject: [PATCH] musl support for sh * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. Co-Authored-By: Szabolcs Nagy From-SVN: r229095 --- gcc/ChangeLog | 6 ++++++ gcc/config/sh/linux.h | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 65ef0afce42..7321619fda5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-10-20 Gregor Richards + Szabolcs Nagy + + * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. + (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. + 2015-10-20 Kyrylo Tkachov * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p): diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h index 0f5d614c096..61cf777eca4 100644 --- a/gcc/config/sh/linux.h +++ b/gcc/config/sh/linux.h @@ -43,6 +43,27 @@ along with GCC; see the file COPYING3. If not see #define TARGET_ASM_FILE_END file_end_indicate_exec_stack +#if TARGET_ENDIAN_DEFAULT == MASK_LITTLE_ENDIAN +#define MUSL_DYNAMIC_LINKER_E "%{mb:eb}" +#else +#define MUSL_DYNAMIC_LINKER_E "%{!ml:eb}" +#endif + +#if TARGET_CPU_DEFAULT & (MASK_HARD_SH2A_DOUBLE | MASK_SH4) +/* "-nofpu" if any nofpu option is specified. */ +#define MUSL_DYNAMIC_LINKER_FP \ + "%{m1|m2|m2a-nofpu|m3|m4-nofpu|m4-100-nofpu|m4-200-nofpu|m4-300-nofpu|" \ + "m4-340|m4-400|m4-500|m4al:-nofpu}" +#else +/* "-nofpu" if none of the hard fpu options are specified. */ +#define MUSL_DYNAMIC_LINKER_FP "%{m2a|m4|m4-100|m4-200|m4-300|m4a:;:-nofpu}" +#endif + +#undef MUSL_DYNAMIC_LINKER +#define MUSL_DYNAMIC_LINKER \ + "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \ + "%{mfdpic:-fdpic}.so.1" + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" #undef SUBTARGET_LINK_EMUL_SUFFIX -- 2.11.4.GIT