Commit ae84aaee authored by Elias Naur's avatar Elias Naur

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: 's avatarIan Lance Taylor <iant@golang.org>
parent ec04f107
...@@ -183,9 +183,6 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$0 ...@@ -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: ...@@ -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: ...@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment