runtime: make arm signal handler call runtime.badsignal
In preparation for CL 9249043 (already submitted).
Fixes #5553.
R=golang-dev, iant, capnm9, dave
CC=golang-dev
https://golang.org/cl/9251043
diff --git a/src/pkg/runtime/sys_linux_arm.s b/src/pkg/runtime/sys_linux_arm.s
index 7f81348..ffcb1ec 100644
--- a/src/pkg/runtime/sys_linux_arm.s
+++ b/src/pkg/runtime/sys_linux_arm.s
@@ -286,12 +286,17 @@
// this might be called in external code context,
// where g and m are not set.
// first save R0, because _cgo_load_gm will clobber it
- // TODO(adonovan): call runtime·badsignal if m=0, like other platforms?
MOVW R0, 4(R13)
MOVW _cgo_load_gm(SB), R0
CMP $0, R0
BL.NE (R0)
+ CMP $0, m
+ BNE 3(PC)
+ // signal number is already prepared in 4(R13)
+ BL runtime·badsignal(SB)
+ RET
+
// save g
MOVW g, R3
MOVW g, 20(R13)