aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2018-05-09 21:17:14 +0000
committerJim Wilson <wilson@gcc.gnu.org>2018-05-09 14:17:14 -0700
commitf2410266a00a3ebd6db07007aa82333b4f6ee6c2 (patch)
tree5ff29e8acb0cd9f7604784957394e2304cb62ec5 /gcc/config.gcc
parent6c882d0fdc2b2d4147419f12cad96bfa082622f0 (diff)
downloadgcc-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.gcc52
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*-*-*)