aboutsummaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorKito Cheng <kito.cheng@sifive.com>2023-06-29 22:20:51 +0800
committerKito Cheng <kito.cheng@sifive.com>2023-07-11 22:45:53 +0800
commit3b13360cef5daae42c0af45a38f682acbc6a8c87 (patch)
tree3eafa6d458ce9a9936868cb75b705a46b04d3a1b /Makefile.in
parentd0d07301f9df660396651273d52ea0403bf3d5a2 (diff)
downloadriscv-gnu-toolchain-3b13360cef5daae42c0af45a38f682acbc6a8c87.zip
riscv-gnu-toolchain-3b13360cef5daae42c0af45a38f682acbc6a8c87.tar.gz
riscv-gnu-toolchain-3b13360cef5daae42c0af45a38f682acbc6a8c87.tar.bz2
Add --with-extra-multilib-test option
NOTE: This is toolchain developer facing feature. This allow user to add extra testing multi-lib arch, it's useful when develop and/or testing new extensions. Usage: --with-extra-multilib-test="arch-abi[;arch-abi]" e.g. linux enable enabled multilib, so default will build with follwoing configuration: lib32/ilp32;@march=rv32imac@mabi=ilp32 lib32/ilp32d;@march=rv32imafdc@mabi=ilp32d lib64/lp64;@march=rv64imac@mabi=lp64 lib64/lp64d;@march=rv64imafdc@mabi=lp64d But you want to testing more on vector stuffs like rv32gcv and rv64gcv, then you can configure with `--with-extra-multilib-test="rv32gcv-ilp32d;rv64gcv;lp64d"` Then the testing will run rv32imac-ilp32 rv32imafdc-ilp32d rv64imac-lp64 rv64imafdc-lp64d and rv32gcv-ilp32d;rv64gcv;lp64d! NOTE: Extra multilib test settings still require existing multilib has support those extra settings, e.g. you can't add rv32imafc_zbb-ilp32f on above example since no compatible multilib has provided.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in8
1 files changed, 5 insertions, 3 deletions
diff --git a/Makefile.in b/Makefile.in
index f2a8cf2..b849893 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -69,6 +69,8 @@ endif
GLIBC_MULTILIB_NAMES := @glibc_multilib_names@
GCC_CHECKING_FLAGS := @gcc_checking@
+EXTRA_MULTILIB_TEST := @extra_multilib_test@
+
XLEN := $(shell echo $(WITH_ARCH) | tr A-Z a-z | sed 's/.*rv\([0-9]*\).*/\1/')
ifneq ($(XLEN),32)
XLEN := 64
@@ -91,12 +93,12 @@ GDB_NATIVE_FLAGS := $(GDB_NATIVE_FLAGS_EXTRA)
GLIBC_TARGET_FLAGS := $(GLIBC_TARGET_FLAGS_EXTRA)
GLIBC_CC_FOR_TARGET ?= $(LINUX_TUPLE)-gcc
GLIBC_CXX_FOR_TARGET ?= $(LINUX_TUPLE)-g++
-GLIBC_TARGET_BOARDS ?= $(shell echo "$(GLIBC_MULTILIB_NAMES)" | sed 's!\([_a-z0-9]*\)-\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
+GLIBC_TARGET_BOARDS ?= $(shell echo "$(GLIBC_MULTILIB_NAMES) $(EXTRA_MULTILIB_TEST)" | sed 's!\([_a-z0-9]*\)-\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
NEWLIB_CC_FOR_TARGET ?= $(NEWLIB_TUPLE)-gcc
NEWLIB_CXX_FOR_TARGET ?= $(NEWLIB_TUPLE)-g++
-NEWLIB_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES)" | sed 's!\([_a-z0-9]*\)-\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
-NEWLIB_NANO_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES)" | sed 's!\([_a-z0-9]*\)-\([_a-z0-9]*\)!riscv-sim-nano/-march=\1/-mabi=\2/@cmodel@!g')
+NEWLIB_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES) $(EXTRA_MULTILIB_TEST)" | sed 's!\([_a-z0-9]*\)-\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
+NEWLIB_NANO_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES) $(EXTRA_MULTILIB_TEST)" | sed 's!\([_a-z0-9]*\)-\([_a-z0-9]*\)!riscv-sim-nano/-march=\1/-mabi=\2/@cmodel@!g')
NEWLIB_CC_FOR_MULTILIB_INFO := $(NEWLIB_CC_FOR_TARGET)
MUSL_TARGET_FLAGS := $(MUSL_TARGET_FLAGS_EXTRA)