badly punctuated parameter list in `#define' (2.4.3-ac5 and 2 .4.4 -pre2)
Quoted 8 lines · Christoph Hellwig
So the /* old gcc */ part should probably be enabled based on a define for the
old compiler. The right ifdef seems to be:
#if
__GNUC__== 2 &&__GNUC_MINOR__< 95Could you test it this way?
Yes, that works for me. Is this the sort of thing you had in mind?
Wayne
asm-i386/rwsem.h Thu Apr 12 14:54:14 2001 renamed from asm-i386/rwsem.h.old Thu Apr 12 14:50:08 2001 +3 -1
@@ -20,18 +20,24 @@ #include <linux/spinlock.h> #include <linux/wait.h> +#if __GNUC__ == 2 && __GNUC_MINOR__ < 95 + +/* old gcc */ #if RWSEM_DEBUG -#define rwsemdebug(FMT,...) do { if (sem->debug) printk(FMT,__VA_ARGS__); }
while(0)
+#define rwsemdebug(FMT, ARGS...) do { if (sem->debug) printk(FMT,##ARGS); } while(0)
#else
-#define rwsemdebug(FMT,...)
+#define rwsemdebug(FMT, ARGS...)
#endif
-/* old gcc */
+#else
+
#if RWSEM_DEBUG
-//#define rwsemdebug(FMT, ARGS...) do { if (sem->debug) printk(FMT,##ARGS); } while(0)
+#define rwsemdebug(FMT,...) do { if (sem->debug) printk(FMT,__VA_ARGS__); } while(0)
#else
-//#define rwsemdebug(FMT, ARGS...)
+#define rwsemdebug(FMT,...)
#endif
+
+#endif /* __GNUC__ == 2 && __GNUC_MINOR__ < 95 */
#ifdef CONFIG_X86_XADD
#include <asm/rwsem-xadd.h> /* use XADD based semaphores if possible */
Quoted 8 lines · On Thu, Apr 12, 2001 at 03:08:28PM -0500, [email protected] wrote:
Quoted 6 lines
old compiler. The right ifdef seems to be:
#if
__GNUC__== 2 &&__GNUC_MINOR__< 95Could you test it this way?
Yes, that works for me. Is this the sort of thing you had in mind?
Yes.
Linus any chance to apply the following patch?
Christoph
Quoted 31 lines
Wayne
asm-i386/rwsem.h Thu Apr 12 14:54:14 2001 renamed from asm-i386/rwsem.h.old Thu Apr 12 14:50:08 2001 +8
-4@@ -20,18 +20,24 @@ #include <linux/spinlock.h> #include <linux/wait.h> +#if __GNUC__ == 2 && __GNUC_MINOR__ < 95 + +/* old gcc */ #if RWSEM_DEBUG -#define rwsemdebug(FMT,...) do { if (sem->debug) printk(FMT,__VA_ARGS__); } while(0) +#define rwsemdebug(FMT, ARGS...) do { if (sem->debug) printk(FMT,##ARGS); } while(0) #else -#define rwsemdebug(FMT,...) +#define rwsemdebug(FMT, ARGS...) #endif -/* old gcc */ +#else + #if RWSEM_DEBUG -//#define rwsemdebug(FMT, ARGS...) do { if (sem->debug) printk(FMT,##ARGS); } while(0) +#define rwsemdebug(FMT,...) do { if (sem->debug) printk(FMT,__VA_ARGS__); }
asm-i386/rwsem.h Thu Apr 12 14:54:14 2001
Quoted 10 lines
asm-i386/rwsem.h Thu Apr 12 14:54:14 2001 renamed from asm-i386/rwsem.h.old Thu Apr 12 14:50:08 2001 +3
-1while(0) #else -//#define rwsemdebug(FMT, ARGS...) +#define rwsemdebug(FMT,...) #endif + +#endif /* __GNUC__ == 2 && __GNUC_MINOR__ < 95 */ #ifdef CONFIG_X86_XADD #include <asm/rwsem-xadd.h> /* use XADD based semaphores if possible */
---end quoted text---
Signature · 1 line
Of course it doesn't work. We've performed a software upgrade.