From ae84aaee44f0d978ea6906812ee73fc2bc6297c8 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 29 Aug 2017 11:03:30 +0200 Subject: [PATCH] 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 TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/runtime/sys_solaris_amd64.s | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/runtime/sys_solaris_amd64.s b/src/runtime/sys_solaris_amd64.s index aeb2e2c897..2b6dabab99 100644 --- a/src/runtime/sys_solaris_amd64.s +++ b/src/runtime/sys_solaris_amd64.s @@ -183,9 +183,6 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$0 JMP exit allgood: - // save g - MOVQ R10, 80(SP) - // Save m->libcall and m->scratch. We need to do this because we // might get interrupted by a signal in runtime·asmcgocall. @@ -223,19 +220,11 @@ allgood: MOVL 0(R10), R10 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 MOVQ DI, 0(SP) MOVQ SI, 8(SP) MOVQ DX, 16(SP) - MOVQ R10, 24(SP) - CALL runtime·sighandler(SB) + CALL runtime·sigtrampgo(SB) get_tls(BX) MOVQ g(BX), BP @@ -273,10 +262,6 @@ allgood: MOVQ 160(SP), R10 MOVL R10, 0(R11) - // restore g - MOVQ 80(SP), R10 - MOVQ R10, g(BX) - exit: // restore registers MOVQ 32(SP), BX