]> Cypherpunks repositories - gostls13.git/commit
runtime: avoid getg in preinit on Android
authorElias Naur <mail@eliasnaur.com>
Tue, 16 Apr 2019 06:52:42 +0000 (08:52 +0200)
committerElias Naur <mail@eliasnaur.com>
Tue, 16 Apr 2019 15:09:25 +0000 (15:09 +0000)
commitae85ae5db2d3b6a3dfb75ade74e0f11234375594
tree01dd6f4829c4b185a0aa1f8e786cbdba027139be
parent460f9c60689c38bdd938d09903f3b414f6082a7d
runtime: avoid getg in preinit on Android

sigaction is called as part of library mode initializers
(_rt0_*_lib). Sigaction in turn calls getg, but on Android the TLS
offset for g has not been initialized and getg might return garbage.

Add a check for initialization before calling getg.

Fixes the golang.org/x/mobile/bind/java tests on amd64 and 386.

Fixes #31476

Change-Id: Id2c41fdc983239eca039b49a54b8853c5669d127
Reviewed-on: https://go-review.googlesource.com/c/go/+/172158
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/runtime/cgo_sigaction.go