aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorMichael Clark <michaeljclark@mac.com>2017-11-07 16:58:37 +0000
committerPalmer Dabbelt <palmer@gcc.gnu.org>2017-11-07 16:58:37 +0000
commit4d30a85ecee179acc22a213653f4c03028994a6b (patch)
tree8febb36f25090f5874b3909f4f0a4737306ea21f /gcc/config
parentf32c3adb8d77c0ebee112ecf26ae249c8574970e (diff)
downloadgcc-4d30a85ecee179acc22a213653f4c03028994a6b.zip
gcc-4d30a85ecee179acc22a213653f4c03028994a6b.tar.gz
gcc-4d30a85ecee179acc22a213653f4c03028994a6b.tar.bz2
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 <michaeljclark@mac.com> * config/riscv/linux.h (MUSL_ABI_SUFFIX): New define. (MUSL_DYNAMIC_LINKER): Likewise. From-SVN: r254500
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/riscv/linux.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index ecf424d..6c7e3c4 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