Simplified signal stack allocation a bit, and avoid allocating it on
non-i386 platforms.

diff --git a/include/thread.h b/include/thread.h
index 727807e..69a2310 100644
--- a/include/thread.h
+++ b/include/thread.h
@@ -77,7 +77,7 @@
     DWORD        unknown3;       /* --n  48 */
     int          thread_errno;   /* --3  4c Per-thread errno (was: ring0_thread) */
     int          thread_h_errno; /* --3  50 Per-thread h_errno (was: ptr to tdbx structure) */
-    void        *signal_stack;   /* --3  54 Signal stack (was: stack_base) */
+    void        *stack_base;     /* 1-n  54 Stack base (unused) */
     void        *exit_stack;     /* 1-n  58 Exit stack */
     void        *emu_data;       /* --n  5c Related to 80387 emulation */
     DWORD        last_error;     /* 1--  60 Last error code */
@@ -141,7 +141,11 @@
 #define TEBF_TRAP   0x0002
 
 /* The per-thread signal stack size */
+#ifdef __i386__
 #define SIGNAL_STACK_SIZE  0x100000  /* 1Mb  FIXME: should be much smaller than that */
+#else
+#define SIGNAL_STACK_SIZE  0  /* we don't need a signal stack on non-i386 */
+#endif
 
 
 /* scheduler/thread.c */