mirror of
https://github.com/golang/go
synced 2024-11-02 15:37:45 +00:00
67917c3d78
A "RET f(SB)" wasn't assembled correctly in a leaf function with non-zero frame size. Follows CL 371034, for MIPS(32/64)(be/le) and S390X. Other architectures seem to do it right. Add a test. Change-Id: I41349a7ae9862b924f3a3de2bcb55b782061ce21 Reviewed-on: https://go-review.googlesource.com/c/go/+/371214 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com>
16 lines
385 B
ArmAsm
16 lines
385 B
ArmAsm
// Copyright 2018 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
TEXT ·f(SB), 4, $8-0
|
|
CALL ·f1(SB)
|
|
RET ·f2(SB)
|
|
CALL ·unreachable(SB)
|
|
|
|
TEXT ·leaf(SB), 4, $0-0
|
|
RET ·f3(SB)
|
|
JMP ·unreachable(SB)
|
|
|
|
TEXT ·leaf2(SB), 4, $32-0 // nonzero frame size
|
|
RET ·f4(SB)
|
|
JMP ·unreachable(SB)
|