Remove spinlock workaround for pre 2.95 gccs
diff mbox series

Message ID 20030619211819.GA12716@averell
State New, archived
Headers show
Series
  • Remove spinlock workaround for pre 2.95 gccs
Related show

Commit Message

Andi Kleen June 19, 2003, 9:18 p.m. UTC
Remove the empty initializer workaround that was added for egcs 1.1.
Only 2.95+ is supported now, so all compilers should support empty
structures.

The if just checked for __GNUC__, which means that 2.95 got
the workaround (and the incompatibility) too even though it didn't need it.

Advantage is that gcc 2.95 and 3.x compiled kernels are now binary
compatible. Unfortunately module loading still checks the compiler
version, but I guess that could be taken out now. As far as I know
there should be no compiler related incompatibilities now.

-Andi



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch
diff mbox series

--- linux-2.5.72-work/include/linux/spinlock.h-RES	2003-06-14 23:43:05.000000000 +0200
+++ linux-2.5.72-work/include/linux/spinlock.h	2003-06-19 23:11:55.000000000 +0200
@@ -146,13 +146,8 @@ 
 /*
  * gcc versions before ~2.95 have a nasty bug with empty initializers.
  */
-#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
+typedef struct { } spinlock_t;
+#define SPIN_LOCK_UNLOCKED (spinlock_t) { }
 
 /*
  * If CONFIG_SMP is unset, declare the _raw_* definitions as nops