runtime: unify handling of alternate signal stack

Change all Unix systems to use stackt for the alternate signal
stack (some were using sigaltstackt). Add OS-specific setSignalstackSP
function to handle different types for ss_sp field, and unify all
OS-specific signalstack functions into one. Unify handling of alternate
signal stack in OS-specific minit and sigtrampgo functions via new
functions minitSignalstack and setGsignalStack.

Change-Id: Idc316dc69b1dd725717acdf61a1cd8b9f33ed174
Reviewed-on: https://go-review.googlesource.com/29757
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Ian Lance Taylor 2016-09-25 13:38:54 -07:00
parent e6143e17d3
commit d15295c679
40 changed files with 110 additions and 286 deletions

View file

@ -168,7 +168,7 @@ type siginfo struct {
si_addr uint32
}
type sigaltstackt struct {
type stackt struct {
ss_sp *byte
ss_flags int32
ss_size uintptr
@ -208,7 +208,7 @@ type sigcontext struct {
type ucontext struct {
uc_flags uint32
uc_link *ucontext
uc_stack sigaltstackt
uc_stack stackt
uc_mcontext sigcontext
uc_sigmask uint32
}