diff -urpN -X /home/fletch/.diff.exclude 860-per_node_rss/include/linux/spinlock.h 870-uninit_timer/include/linux/spinlock.h --- 860-per_node_rss/include/linux/spinlock.h Tue Jun 24 21:33:39 2003 +++ 870-uninit_timer/include/linux/spinlock.h Tue Jun 24 21:34:17 2003 @@ -146,8 +146,13 @@ typedef struct { /* * gcc versions before ~2.95 have a nasty bug with empty initializers. */ -typedef struct { } spinlock_t; -#define SPIN_LOCK_UNLOCKED (spinlock_t) { } +#if (__GNUC__ > 2) + typedef struct { } spinlock_t; + #define SPIN_LOCK_UNLOCKED (spinlock_t) { } +#else + typedef struct { int gcc_is_buggy; } spinlock_t; + #define SPIN_LOCK_UNLOCKED (spinlock_t) { 0 } +#endif /* * If CONFIG_SMP is unset, declare the _raw_* definitions as nops