]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.11] runtime: mark sigInitIgnored nosplit go1.11
authorIan Lance Taylor <iant@golang.org>
Fri, 24 Aug 2018 18:44:55 +0000 (11:44 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 24 Aug 2018 20:18:43 +0000 (20:18 +0000)
The sigInitIgnored function can be called by initsig before a shared
library is initialized, before the runtime is initialized.

Fixes #27183

Change-Id: I7073767938fc011879d47ea951d63a14d1cce878
Reviewed-on: https://go-review.googlesource.com/131277
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
(cherry picked from commit d20ecd6e5dab55376ea4f169eed63608f9bb3b2b)
Reviewed-on: https://go-review.googlesource.com/131278
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/sigqueue.go

index 9f5324095448ce7c30ef318021320f6fb1942495..a425433b20a8d55b9fb5f8a1425c414c14203bdd 100644 (file)
@@ -237,8 +237,10 @@ func signal_ignore(s uint32) {
        atomic.Store(&sig.ignored[s/32], i)
 }
 
-// sigInitIgnored marks the signal as already ignored.  This is called at
-// program start by siginit.
+// sigInitIgnored marks the signal as already ignored. This is called at
+// program start by initsig. In a shared library initsig is called by
+// libpreinit, so the runtime may not be initialized yet.
+//go:nosplit
 func sigInitIgnored(s uint32) {
        i := sig.ignored[s/32]
        i |= 1 << (s & 31)