Commit Diff


commit - 857072dc11b02d7edc4892613b8d176dc273e92f
commit + bc7da02954403d4b46285b8f87a62d60c5eb58f8
blob - b9f07c40ea446f5ef37c0bf42b8139c293a20ced
blob + 8e889e638bd4d892068ae58e86782a82f793bab9
--- include/u.h
+++ include/u.h
@@ -72,8 +72,15 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)
 #	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 @@ typedef short s16int;
 #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
blob - 9c8012cf58254b4588f7da9929f79912d8c60b97
blob + 2a562b628defce10bcb0854b343b44a64da1d80b
--- src/lib9/notify.c
+++ src/lib9/notify.c
@@ -66,7 +66,9 @@ static Sig sigs[] = {
 	SIGVTALRM,	0,
 	SIGUSR1,		0,
 	SIGUSR2,		0,
+#ifdef SIGWINCH
 	SIGWINCH,	Restart|Ignore,
+#endif
 #ifdef SIGINFO
 	SIGINFO,		Restart|Ignore,
 #endif
blob - a551efaf11282d911fa1d24a63a8a2ab38809d30
blob + e047ab02e249bdb5e530befb7d667c140dee27c0
--- src/libthread/daemonize.c
+++ src/libthread/daemonize.c
@@ -74,7 +74,12 @@ static int sigs[] = 
 	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