mirror of
https://github.com/golang/go
synced 2024-11-26 07:27:59 -07:00
[dev.typeparams] runtime: fix newproc arg size on ARM
At runtime startup it calls newproc from assembly code to start the main goroutine. runtime.main has no arguments, so the arg size should be 0, instead of 8. While here, use clearer code sequence to open the frame. Change-Id: I2bbb26a83521ea867897530b86a85b22a3c8be9d Reviewed-on: https://go-review.googlesource.com/c/go/+/321957 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> TryBot-Result: Go Bot <gobot@golang.org>
This commit is contained in:
parent
b1a398cf0f
commit
21db1d193c
@ -168,14 +168,14 @@ TEXT runtime·rt0_go(SB),NOSPLIT|NOFRAME|TOPFRAME,$0
|
||||
BL runtime·schedinit(SB)
|
||||
|
||||
// create a new goroutine to start program
|
||||
SUB $12, R13
|
||||
MOVW $runtime·mainPC(SB), R0
|
||||
MOVW.W R0, -4(R13)
|
||||
MOVW $8, R0
|
||||
MOVW.W R0, -4(R13)
|
||||
MOVW R0, 8(R13) // arg 2: fn
|
||||
MOVW $0, R0
|
||||
MOVW.W R0, -4(R13) // push $0 as guard
|
||||
MOVW R0, 4(R13) // arg 1: siz
|
||||
MOVW R0, 0(R13) // dummy LR
|
||||
BL runtime·newproc(SB)
|
||||
MOVW $12(R13), R13 // pop args and LR
|
||||
ADD $12, R13 // pop args and LR
|
||||
|
||||
// start this M
|
||||
BL runtime·mstart(SB)
|
||||
|
Loading…
Reference in New Issue
Block a user