From: Michael Clark Date: Tue, 7 Nov 2017 16:58:37 +0000 (+0000) Subject: RISC-V: Define MUSL_DYNAMIC_LINKER X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4d30a85ecee179acc22a213653f4c03028994a6b;p=gcc.git RISC-V: Define MUSL_DYNAMIC_LINKER Use no suffix at all in the musl dynamic linker name for hard float ABI. Use -sf and -sp suffixes in musl dynamic linker name for soft float and single precision ABIs. The following table outlines the musl interpreter names for the RISC-V ABI names. musl interpreter | RISC-V ABI ----------------------- | ------------- ld-musl-riscv32.so.1 | riscv32-ilp32d ld-musl-riscv64.so.1 | riscv64-lp64d ld-musl-riscv32-sf.so.1 | riscv32-ilp32 ld-musl-riscv64-sf.so.1 | riscv64-lp64 ld-musl-riscv32-sp.so.1 | riscv32-ilp32f ld-musl-riscv64-sp.so.1 | riscv64-lp64f gcc/ChangeLog 2017-11-06 Michael Clark * config/riscv/linux.h (MUSL_ABI_SUFFIX): New define. (MUSL_DYNAMIC_LINKER): Likewise. From-SVN: r254500 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index db9ff08ddc8..b771a0d7f95 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-11-07 Michael Clark + + * config/riscv/linux.h (MUSL_ABI_SUFFIX): New define. + (MUSL_DYNAMIC_LINKER): Likewise. + 2017-11-07 Richard Sandiford * config/aarch64/aarch64.md (ashl3, ashr3, lshr3) diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h index ecf424d1a2b..6c7e3c4e819 100644 --- a/gcc/config/riscv/linux.h +++ b/gcc/config/riscv/linux.h @@ -24,6 +24,17 @@ along with GCC; see the file COPYING3. If not see #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" +#define MUSL_ABI_SUFFIX \ + "%{mabi=ilp32:-sf}" \ + "%{mabi=ilp32f:-sp}" \ + "%{mabi=ilp32d:}" \ + "%{mabi=lp64:-sf}" \ + "%{mabi=lp64f:-sp}" \ + "%{mabi=lp64d:}" \ + +#undef MUSL_DYNAMIC_LINKER +#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1" + /* Because RISC-V only has word-sized atomics, it requries libatomic where others do not. So link libatomic by default, as needed. */ #undef LIB_SPEC