diff options
author | Michael Clark <michaeljclark@mac.com> | 2017-11-07 16:58:37 +0000 |
---|---|---|
committer | Palmer Dabbelt <palmer@gcc.gnu.org> | 2017-11-07 16:58:37 +0000 |
commit | 4d30a85ecee179acc22a213653f4c03028994a6b (patch) | |
tree | 8febb36f25090f5874b3909f4f0a4737306ea21f /gcc | |
parent | f32c3adb8d77c0ebee112ecf26ae249c8574970e (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/riscv/linux.h | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index db9ff08..b771a0d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-11-07 Michael Clark <michaeljclark@mac.com> + + * config/riscv/linux.h (MUSL_ABI_SUFFIX): New define. + (MUSL_DYNAMIC_LINKER): Likewise. + 2017-11-07 Richard Sandiford <richard.sandiford@linaro.org> * config/aarch64/aarch64.md (ashl<mode>3, ashr<mode>3, lshr<mode>3) 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 |