Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ endif
WITH_ARCH ?= @WITH_ARCH@
WITH_ABI ?= @WITH_ABI@
WITH_TUNE ?= @WITH_TUNE@
WITH_ISA_SPEC ?= @WITH_ISA_SPEC@
WITH_PROFILES ?= @WITH_PROFILES@
SYSROOT := $(INSTALL_DIR)/sysroot
ENABLE_LIBSANITIZER ?= @enable_libsanitizer@
QEMU_TARGETS ?= @qemu_targets@
Expand Down
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,16 +149,15 @@ GDB_TARGET_FLAGS_EXTRA, GLIBC_TARGET_FLAGS_EXTRA, NEWLIB_TARGET_FLAGS_EXTRA,
LLVM_EXTRA_CONFIGURE_FLAGS, QEMU_EXTRA_CONFIGURE_FLAGS```.
Example: ```GCC_EXTRA_CONFIGURE_FLAGS=--with-gmp=/opt/gmp make linux```

#### Set default ISA spec version
#### Set default RISC-V Profiles

`--with-isa-spec=` can specify the default version of the RISC-V Unprivileged
(formerly User-Level) ISA specification.
`--with-profiles=` can specify the default RISC-V Profiles like RVA23 feature.

Possible options are: `2.2`, `20190608` and `20191213`.
Possible options are: `rvi20u64`, `rvi20u32`, `rva20u64`, `rva22u64`, `rva23u64`, `rva23s64`, `rvb23u64`, `rvb23s64`.

The default version is `20191213`.
The default version is `rva23u64`.

More details about this option you can refer this post [RISC-V GNU toolchain bumping default ISA spec to 20191213](https://groups.google.com/a/groups.riscv.org/g/sw-dev/c/aE1ZeHHCYf4).
More details about this option you can refer this repo [RISC-V Profiles](https://github.com/riscv/riscv-profiles).

#### Build with customized multi-lib configure.

Expand Down
28 changes: 17 additions & 11 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -650,7 +650,7 @@ extra_multilib_test
multilib_gen
WITH_LANGUAGES
WITH_SIM
WITH_ISA_SPEC
WITH_PROFILES
WITH_ABI
WITH_ARCH
WITH_TUNE
Expand Down Expand Up @@ -722,7 +722,7 @@ enable_default_pie
with_arch
with_abi
with_tune
with_isa_spec
with_profiles
with_sim
with_languages
enable_multilib
Expand Down Expand Up @@ -1405,9 +1405,10 @@ Optional Packages:
--with-arch=rv64gc Sets the base RISC-V ISA, defaults to rv64gc
--with-abi=lp64d Sets the base RISC-V ABI, defaults to lp64d
--with-tune=generic Set the base RISC-V CPU, defaults to GCC's default
--with-isa-spec=20191213
Set the default ISA spec version, default to
20191213, available options: 2.2, 20190608, 20191213
--with-profiles=rva23u64
Set the default RISC-V Profiles, available options:
rvi20u64, rvi20u32, rva20u64, rva22u64, rva23s64,
rvb23u64, rvb23s64
--with-sim=qemu Sets the base RISC-V Simulator, defaults to qemu
--with-languages= Sets the enabled languages for GNU toolchain,
defaults to c,c++,fortran for Linux/native and
Expand Down Expand Up @@ -4016,16 +4017,21 @@ else $as_nop
fi


# Check whether --with-isa-spec was given.
if test ${with_isa_spec+y}
# Check whether --with-profiles was given.
if test ${with_profiles+y}
then :
withval=$with_isa_spec;
withval=$with_profiles;
else $as_nop
with_isa_spec=20191213
with_profiles=rva23u64

fi


if test "x$with_profiles" != x
then :
with_arch=$with_profiles
fi


# Check whether --with-sim was given.
if test ${with_sim+y}
Expand All @@ -4049,7 +4055,7 @@ fi
if test "x$with_abi" = xdefault
then :
case $with_arch in #(
*rv64g* | *rv64*d*) :
*rv64g* | *rv64*d* | *rva*64* | *rvb*64* | *rvi*64*) :
with_abi=lp64d ;; #(
*rv64*f*) :
with_abi=lp64f ;; #(
Expand All @@ -4073,7 +4079,7 @@ WITH_ARCH=--with-arch=$with_arch

WITH_ABI=--with-abi=$with_abi

WITH_ISA_SPEC=--with-isa-spec=$with_isa_spec
WITH_PROFILES=--with-profile=$with_profiles

WITH_SIM=$with_sim

Expand Down
15 changes: 9 additions & 6 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,16 @@ AS_IF([test "x$with_tune" != xno],
[AC_SUBST(WITH_TUNE,--with-tune=$with_tune)],
[AC_SUBST(WITH_TUNE,"")])

AC_ARG_WITH(isa-spec,
[AS_HELP_STRING([--with-isa-spec=20191213],
[Set the default ISA spec version, default to 20191213, available options: 2.2, 20190608, 20191213])],
AC_ARG_WITH(profiles,
[AS_HELP_STRING([--with-profiles=rva23u64],
[Set the default RISC-V Profiles, available options: rvi20u64, rvi20u32, rva20u64, rva22u64, rva23s64, rvb23u64, rvb23s64])],
[],
[with_isa_spec=20191213]
[with_profiles=rva23u64]
)

AS_IF([test "x$with_profiles" != x],
[with_arch=$with_profiles])

AC_ARG_WITH(sim,
[AS_HELP_STRING([--with-sim=qemu],
[Sets the base RISC-V Simulator, defaults to qemu])],
Expand All @@ -111,7 +114,7 @@ AC_ARG_WITH(languages,

AS_IF([test "x$with_abi" = xdefault],
[AS_CASE([$with_arch],
[*rv64g* | *rv64*d*], [with_abi=lp64d],
[*rv64g* | *rv64*d* | *rva*64* | *rvb*64* | *rvi*64*], [with_abi=lp64d],
[*rv64*f*], [with_abi=lp64f],
[*rv64*], [with_abi=lp64],
[*rv32e*], [with_abi=ilp32e],
Expand All @@ -123,7 +126,7 @@ AS_IF([test "x$with_abi" = xdefault],

AC_SUBST(WITH_ARCH, --with-arch=$with_arch)
AC_SUBST(WITH_ABI, --with-abi=$with_abi)
AC_SUBST(WITH_ISA_SPEC, --with-isa-spec=$with_isa_spec)
AC_SUBST(WITH_PROFILES, --with-profile=$with_profiles)
AC_SUBST(WITH_SIM, $with_sim)
AC_SUBST(WITH_LANGUAGES, $with_languages)

Expand Down
Loading