proper handling of signals.
do not run init on g0.

R=r
DELTA=161  (124 added, 23 deleted, 14 changed)
OCL=15490
CL=15497
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h
index 0227892..8ead7dd 100644
--- a/src/runtime/runtime.h
+++ b/src/runtime/runtime.h
@@ -157,6 +157,7 @@
 	uint64	morearg;	// arg to morestack - must not move
 	uint64	cret;		// return value from C - must not move
 	uint64	procid;	// for debuggers - must not move
+	G*	gsignal;		// signal-handling G - must not move
 	G*	curg;		// current running goroutine
 	G*	lastg;		// last running goroutine - to emulate fifo
 	Gobuf	sched;
@@ -248,6 +249,10 @@
 byte*	getenv(int8*);
 int32	atoi(byte*);
 void	newosproc(M *m, G *g, void *stk, void (*fn)(void));
+void	sigaltstack(void*, void*);
+void	signalstack(byte*, int32);
+G*	malg(int32);
+void	minit(void);
 
 /*
  * mutual exclusion locks.  in the uncontended case,