]> Cypherpunks repositories - gostls13.git/commit
cmd/go: add GORISCV64 environment variable
authorMark Ryan <markdryan@rivosinc.com>
Tue, 7 Nov 2023 09:09:49 +0000 (10:09 +0100)
committerJoel Sing <joel@sing.id.au>
Wed, 24 Jan 2024 07:25:25 +0000 (07:25 +0000)
commitb4e7d630bc6fbf654a20a4bebda94a8150811bea
tree496a37c6588cbe32311b8534619138e7cf0ef345
parentb3acaa8230e95c232a6f5c30eb7619a0c859ab16
cmd/go: add GORISCV64 environment variable

The variable represents the RISC-V user-mode application profile for
which to compile.  Valid values are rva20u64 (the default) and
rva22u64.

Setting GORISCV64=rva20u64 defines the riscv64.rva20u64 build tag,
sets the internal variable buildcfg.GORISCV64 to 20 and defines the
macro GORISCV64_rva20u64 for use in assembly language code.

Setting GORISCV64=rva22u64 defines the riscv64.rva20u64 and
riscv64.rva22u64 build tags, sets the internal variable
buildcfg.GORISCV64 to 22 and defines the macro GORISCV64_rva22u64
for use in assembly language code.

This patch only provides a mechanism for the compiler and hand-coded
assembly language functions to take advantage of the RISC-V
extensions mandated by the application profiles.  Further patches
will be required to get the compiler/assembler and assembly language
functions to actually generate and use these extensions.

Fixes #61476

Change-Id: I9195ae6ee71703cd2112160e89157ab63b8391af
Reviewed-on: https://go-review.googlesource.com/c/go/+/541135
Reviewed-by: M Zhuo <mengzhuo1203@gmail.com>
Reviewed-by: Joel Sing <joel@sing.id.au>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Wang Yaduo <wangyaduo@linux.alibaba.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: M Zhuo <mengzhuo1203@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
src/cmd/dist/build.go
src/cmd/dist/buildruntime.go
src/cmd/go/alldocs.go
src/cmd/go/internal/cfg/cfg.go
src/cmd/go/internal/help/helpdoc.go
src/cmd/go/internal/work/gc.go
src/cmd/go/testdata/script/tooltags.txt
src/cmd/internal/testdir/testdir_test.go
src/internal/buildcfg/cfg.go
src/internal/buildcfg/cfg_test.go
src/internal/cfg/cfg.go