]> Cypherpunks repositories - gostls13.git/commit
runtime: unbreak linux/riscv64 following regabi merge
authorJoel Sing <joel@sing.id.au>
Wed, 17 Feb 2021 09:34:34 +0000 (20:34 +1100)
committerJoel Sing <joel@sing.id.au>
Thu, 18 Feb 2021 04:30:23 +0000 (04:30 +0000)
commitf0be3cc5476bd726707985a6382ae6a2d6fa8968
tree1a6cf6a486b4abc9dcbdff133845c0ca40f23765
parent07ef3135253321176704bce6e629a07ac02bf1c6
runtime: unbreak linux/riscv64 following regabi merge

Unbreak the linux/riscv64 port by storing the zero value register to memory,
rather than the current code that is moving a zero intermediate to the stack
pointer register (ideally this should be caught by the assembler). This was
broken in CL#272568.

On riscv64 a zero immediate value cannot be moved directly to memory, rather
a register needs to be loaded with zero and then stored. Alternatively, the
the zero value register (aka X0) can be used directly.

Change-Id: Id57121541d50c9993cec5c2270b638b184ab9bc1
Reviewed-on: https://go-review.googlesource.com/c/go/+/292894
Trust: Joel Sing <joel@sing.id.au>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
src/runtime/asm_riscv64.s