From ed91661745790f673f4adf212d0ca499f0bd5ee4 Mon Sep 17 00:00:00 2001 From: Joel Sing Date: Mon, 2 Mar 2020 04:26:21 +1100 Subject: [PATCH] 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 --- src/cmd/compile/internal/riscv64/ssa.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) -- 2.50.0