mirror of https://github.com/golang/go.git
runtime: don't use thread local storage before it is set up on iOS
CL 138675 added a call to runtime.save_g which uses thread local storage to store g. On iOS however, that storage was not initialized yet. Move the call to below _cgo_init where it is set up. Change-Id: I14538d3e7d56ff35a6fa02c47bca306d24c38010 Reviewed-on: https://go-review.googlesource.com/c/150157 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
parent
1f388bc806
commit
a889aaf8bf
|
|
@ -18,7 +18,6 @@ TEXT runtime·rt0_go(SB),NOSPLIT,$0
|
|||
// create istack out of the given (operating system) stack.
|
||||
// _cgo_init may update stackguard.
|
||||
MOVD $runtime·g0(SB), g
|
||||
BL runtime·save_g(SB)
|
||||
MOVD RSP, R7
|
||||
MOVD $(-64*1024)(R7), R0
|
||||
MOVD R0, g_stackguard0(g)
|
||||
|
|
@ -45,6 +44,7 @@ TEXT runtime·rt0_go(SB),NOSPLIT,$0
|
|||
ADD $16, RSP
|
||||
|
||||
nocgo:
|
||||
BL runtime·save_g(SB)
|
||||
// update stackguard after _cgo_init
|
||||
MOVD (g_stack+stack_lo)(g), R0
|
||||
ADD $const__StackGuard, R0
|
||||
|
|
|
|||
Loading…
Reference in New Issue