Commit f15c675f authored by Dave Cheney's avatar Dave Cheney

runtime: use runtime.sysargs to parse auxv on linux/arm

Make auxv parsing in linux/arm less of a special case.

* rename setup_auxv to sysargs
* exclude linux/arm from vdso_none.go
* move runtime.checkarm after runtime.sysargs so arm specific
  values are properly initialised

Change-Id: I1ca7f5844ad5a162337ff061a83933fc9a2b5ff6
Reviewed-on: https://go-review.googlesource.com/2681Reviewed-by: default avatarMinux Ma <minux@golang.org>
Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
parent 3c7bdd4d
...@@ -59,7 +59,6 @@ nocgo: ...@@ -59,7 +59,6 @@ nocgo:
MOVW R0, g_stackguard0(g) MOVW R0, g_stackguard0(g)
MOVW R0, g_stackguard1(g) MOVW R0, g_stackguard1(g)
BL runtime·checkgoarm(SB)
BL runtime·check(SB) BL runtime·check(SB)
// saved argc, argv // saved argc, argv
...@@ -68,6 +67,7 @@ nocgo: ...@@ -68,6 +67,7 @@ nocgo:
MOVW 64(R13), R1 MOVW 64(R13), R1
MOVW R1, 8(R13) MOVW R1, 8(R13)
BL runtime·args(SB) BL runtime·args(SB)
BL runtime·checkgoarm(SB)
BL runtime·osinit(SB) BL runtime·osinit(SB)
BL runtime·schedinit(SB) BL runtime·schedinit(SB)
......
...@@ -34,8 +34,7 @@ func checkgoarm() { ...@@ -34,8 +34,7 @@ func checkgoarm() {
} }
} }
//go:nosplit func sysargs(argc int32, argv **byte) {
func setup_auxv(argc int32, argv **byte) {
// skip over argv, envv to get to auxv // skip over argv, envv to get to auxv
n := argc + 1 n := argc + 1
for argv_index(argv, n) != nil { for argv_index(argv, n) != nil {
......
...@@ -53,9 +53,6 @@ TEXT _rt0_arm_linux1(SB),NOSPLIT,$-4 ...@@ -53,9 +53,6 @@ TEXT _rt0_arm_linux1(SB),NOSPLIT,$-4
// SWI $0 // restore signal handler // SWI $0 // restore signal handler
// ADD $32, R13 // ADD $32, R13
SUB $4, R13 // fake a stack frame for runtime·setup_auxv
BL runtime·setup_auxv(SB)
ADD $4, R13
B runtime·rt0_go(SB) B runtime·rt0_go(SB)
TEXT bad_abi<>(SB),NOSPLIT,$-4 TEXT bad_abi<>(SB),NOSPLIT,$-4
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
// +build !linux !amd64 // +build !linux !amd64
// +build !linux !386 // +build !linux !386
// +build !linux !arm
package runtime package runtime
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment