OS X Tiger changes
diff --git a/include/u.h b/include/u.h
index b9f07c4..8e889e6 100644
--- a/include/u.h
+++ b/include/u.h
@@ -72,8 +72,15 @@
# include <sys/types.h>
# include <pthread.h>
# define PLAN9PORT_USING_PTHREADS 1
-# undef _NEEDUSHORT
-# undef _NEEDUINT
+# if __GNUC__ < 4
+# undef _NEEDUSHORT
+# undef _NEEDUINT
+# endif
+# undef _ANSI_SOURCE
+# undef _POSIX_C_SOURCE
+# if !defined(NSIG)
+# define NSIG 32
+# endif
# define _NEEDLL 1
#elif defined(__NetBSD__)
# include <sched.h>
@@ -131,10 +138,10 @@
#define AUTOLIB(x) static int __p9l_autolib_ ## x = 1;
/*
- * Gcc 3 is too smart for its own good.
+ * Gcc is too smart for its own good.
*/
-#if defined(__GNUC__) && !defined(__APPLE_CC__)
-# if __GNUC__ >= 3
+#if defined(__GNUC__)
+# if __GNUC__ >= 4 || (__GNUC__==3 && !defined(__APPLE_CC__))
# undef AUTOLIB
# define AUTOLIB(x) int __p9l_autolib_ ## x __attribute__ ((weak));
# else
diff --git a/src/lib9/notify.c b/src/lib9/notify.c
index 9c8012c..2a562b6 100644
--- a/src/lib9/notify.c
+++ b/src/lib9/notify.c
@@ -66,7 +66,9 @@
SIGVTALRM, 0,
SIGUSR1, 0,
SIGUSR2, 0,
+#ifdef SIGWINCH
SIGWINCH, Restart|Ignore,
+#endif
#ifdef SIGINFO
SIGINFO, Restart|Ignore,
#endif
diff --git a/src/libthread/daemonize.c b/src/libthread/daemonize.c
index a551efa..e047ab0 100644
--- a/src/libthread/daemonize.c
+++ b/src/libthread/daemonize.c
@@ -74,7 +74,12 @@
SIGALRM, SIGTERM, SIGCHLD, SIGSTOP,
/*SIGTSTP, SIGTTIN, SIGTTOU,*/ SIGURG,
SIGXCPU, SIGXFSZ, SIGVTALRM, SIGPROF,
- SIGWINCH, SIGIO,
+#ifdef SIGWINCH
+ SIGWINCH,
+#endif
+#ifdef SIGIO
+ SIGIO,
+#endif
#ifdef SIGEMT
SIGEMT,
#endif