From: Joel Sing Date: Sun, 1 Mar 2020 17:26:21 +0000 (+1100) Subject: cmd/compile/internal/riscv64: correct ssa.BlockRetJmp X-Git-Tag: go1.15beta1~957 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ed91661745790f673f4adf212d0ca499f0bd5ee4;p=gostls13.git cmd/compile/internal/riscv64: correct ssa.BlockRetJmp The obj.Prog needs to be an obj.ARET rather than an obj.AJMP, otherwise the epilogue does not get correctly produced. Change-Id: Ie1262f2028d3b51720eeb0364a627fbde8b14df9 Reviewed-on: https://go-review.googlesource.com/c/go/+/221683 Reviewed-by: Cherry Zhang Run-TryBot: Cherry Zhang TryBot-Result: Gobot Gobot --- diff --git a/src/cmd/compile/internal/riscv64/ssa.go b/src/cmd/compile/internal/riscv64/ssa.go index 167c9a3411..91f3164336 100644 --- a/src/cmd/compile/internal/riscv64/ssa.go +++ b/src/cmd/compile/internal/riscv64/ssa.go @@ -464,7 +464,7 @@ func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) { case ssa.BlockRet: s.Prog(obj.ARET) case ssa.BlockRetJmp: - p := s.Prog(obj.AJMP) + p := s.Prog(obj.ARET) p.To.Type = obj.TYPE_MEM p.To.Name = obj.NAME_EXTERN p.To.Sym = b.Aux.(*obj.LSym)