diff options
author | Jim Wilson <jimw@sifive.com> | 2018-05-09 21:17:14 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2018-05-09 14:17:14 -0700 |
commit | f2410266a00a3ebd6db07007aa82333b4f6ee6c2 (patch) | |
tree | 5ff29e8acb0cd9f7604784957394e2304cb62ec5 /gcc/config.gcc | |
parent | 6c882d0fdc2b2d4147419f12cad96bfa082622f0 (diff) | |
download | gcc-f2410266a00a3ebd6db07007aa82333b4f6ee6c2.zip gcc-f2410266a00a3ebd6db07007aa82333b4f6ee6c2.tar.gz gcc-f2410266a00a3ebd6db07007aa82333b4f6ee6c2.tar.bz2 |
RISC-V: Add with-multilib-list support.
gcc/
PR target/84797
* config.gcc (riscv*-*-*): Handle --with-multilib-list.
* config/riscv/t-withmultilib: New.
* config/riscv/withmultilib.h: New.
* doc/install.texi: Document RISC-V --with-multilib-list support.
From-SVN: r260096
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 7f5ba50..96bdd5c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -4121,6 +4121,58 @@ case "${target}" in exit 1 ;; esac + + # Handle --with-multilib-list. + if test "x${with_multilib_list}" != xdefault; then + tm_file="${tm_file} riscv/withmultilib.h" + tmake_file="${tmake_file} riscv/t-withmultilib" + + case ${with_multilib_list} in + ilp32 | ilp32f | ilp32d \ + | lp64 | lp64f | lp64d ) + TM_MULTILIB_CONFIG="${with_arch},${with_multilib_list}" + ;; + *) + echo "--with-multilib-list=${with_multilib_list} not supported." + exit 1 + esac + + # Define macros to select the default multilib. + case ${with_arch} in + rv32gc) + tm_defines="${tm_defines} TARGET_MLIB_ARCH=1" + ;; + rv64gc) + tm_defines="${tm_defines} TARGET_MLIB_ARCH=2" + ;; + *) + echo "unsupported --with-arch for --with-multilib-list" + exit 1 + esac + case ${with_abi} in + ilp32) + tm_defines="${tm_defines} TARGET_MLIB_ABI=1" + ;; + ilp32f) + tm_defines="${tm_defines} TARGET_MLIB_ABI=2" + ;; + ilp32d) + tm_defines="${tm_defines} TARGET_MLIB_ABI=3" + ;; + lp64) + tm_defines="${tm_defines} TARGET_MLIB_ABI=4" + ;; + lp64f) + tm_defines="${tm_defines} TARGET_MLIB_ABI=5" + ;; + lp64d) + tm_defines="${tm_defines} TARGET_MLIB_ABI=6" + ;; + *) + echo "unsupported --with-abi for --with-multilib" + exit 1 + esac + fi ;; mips*-*-*) |