2001-04-12 20:09:14

by Wayne.Brown

[permalink] [raw]
Subject: Re: badly punctuated parameter list in `#define' (2.4.3-ac5 and 2 .4.4 -pre2)



Christoph Hellwig <[email protected]> wrote:

>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__ < 95
>
>Could you test it this way?

Yes, that works for me. Is this the sort of thing you had in mind?

Wayne


--- include/asm-i386/rwsem.h.old Thu Apr 12 14:50:08 2001
+++ include/asm-i386/rwsem.h Thu Apr 12 14:54:14 2001
@@ -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 */



2001-04-12 20:17:14

by Christoph Hellwig

[permalink] [raw]
Subject: Re: badly punctuated parameter list in `#define' (2.4.3-ac5 and 2 .4.4 -pre2)

On Thu, Apr 12, 2001 at 03:08:28PM -0500, [email protected] wrote:
> >old compiler. The right ifdef seems to be:
>
> >
> > #if __GNUC__ == 2 && __GNUC_MINOR__ < 95
> >
> >Could 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

>
> Wayne
>
>
> --- include/asm-i386/rwsem.h.old Thu Apr 12 14:50:08 2001
> +++ include/asm-i386/rwsem.h Thu Apr 12 14:54:14 2001
> @@ -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 */
>
---end quoted text---

--
Of course it doesn't work. We've performed a software upgrade.