mirror of
https://github.com/golang/go
synced 2024-11-19 12:44:51 -07:00
runtime: call sigtrampgo on solaris
CL 57291 broke on solaris because it depends on signal forwarding working for signals raised by dieFromSignal. Call sigtrampgo instead of sighandler directly, like the other unix platforms. Fixes the solaris builders. Change-Id: I6bf314c436d1edeaecc4b03f15a9155270919524 Reviewed-on: https://go-review.googlesource.com/59811 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
ec04f107ad
commit
ae84aaee44
@ -183,9 +183,6 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$0
|
|||||||
JMP exit
|
JMP exit
|
||||||
|
|
||||||
allgood:
|
allgood:
|
||||||
// save g
|
|
||||||
MOVQ R10, 80(SP)
|
|
||||||
|
|
||||||
// Save m->libcall and m->scratch. We need to do this because we
|
// Save m->libcall and m->scratch. We need to do this because we
|
||||||
// might get interrupted by a signal in runtime·asmcgocall.
|
// might get interrupted by a signal in runtime·asmcgocall.
|
||||||
|
|
||||||
@ -223,19 +220,11 @@ allgood:
|
|||||||
MOVL 0(R10), R10
|
MOVL 0(R10), R10
|
||||||
MOVQ R10, 160(SP)
|
MOVQ R10, 160(SP)
|
||||||
|
|
||||||
MOVQ g(BX), R10
|
|
||||||
// g = m->gsignal
|
|
||||||
MOVQ m_gsignal(BP), BP
|
|
||||||
MOVQ BP, g(BX)
|
|
||||||
|
|
||||||
// TODO: If current SP is not in gsignal.stack, then adjust.
|
|
||||||
|
|
||||||
// prepare call
|
// prepare call
|
||||||
MOVQ DI, 0(SP)
|
MOVQ DI, 0(SP)
|
||||||
MOVQ SI, 8(SP)
|
MOVQ SI, 8(SP)
|
||||||
MOVQ DX, 16(SP)
|
MOVQ DX, 16(SP)
|
||||||
MOVQ R10, 24(SP)
|
CALL runtime·sigtrampgo(SB)
|
||||||
CALL runtime·sighandler(SB)
|
|
||||||
|
|
||||||
get_tls(BX)
|
get_tls(BX)
|
||||||
MOVQ g(BX), BP
|
MOVQ g(BX), BP
|
||||||
@ -273,10 +262,6 @@ allgood:
|
|||||||
MOVQ 160(SP), R10
|
MOVQ 160(SP), R10
|
||||||
MOVL R10, 0(R11)
|
MOVL R10, 0(R11)
|
||||||
|
|
||||||
// restore g
|
|
||||||
MOVQ 80(SP), R10
|
|
||||||
MOVQ R10, g(BX)
|
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
// restore registers
|
// restore registers
|
||||||
MOVQ 32(SP), BX
|
MOVQ 32(SP), BX
|
||||||
|
Loading…
Reference in New Issue
Block a user