runtime: correctly handle signals received on foreign threads
Fixes #3250.

R=rsc
CC=golang-dev
https://golang.org/cl/10757044
diff --git a/src/pkg/runtime/sys_linux_arm.s b/src/pkg/runtime/sys_linux_arm.s
index 6826bea..4927332 100644
--- a/src/pkg/runtime/sys_linux_arm.s
+++ b/src/pkg/runtime/sys_linux_arm.s
@@ -292,9 +292,10 @@
 	BL.NE	(R0)
 
 	CMP 	$0, m
-	BNE 	3(PC)
+	BNE 	4(PC)
 	// signal number is already prepared in 4(R13)
-	BL  	runtime·badsignal(SB)
+	MOVW  	$runtime·badsignal(SB), R11
+	BL	(R11)
 	RET
 
 	// save g