Re: [PATCH] autofs4: fix compilation without CONFIG_COMPAT

From: Ian Kent
Date: Mon Feb 27 2012 - 04:20:44 EST


On Mon, 2012-02-27 at 08:29 +0100, Christian Borntraeger wrote:
> On 26/02/12 02:31, Linus Torvalds wrote:
> >
> > +#else
> > +
> > +#define is_compat_task() (0)
> > +
>
> Linus,
>
> this breaks 32bit builds of s390 (and maybe others), since several platforms already
> define a is_compat_task. This macro then destroys the definition of the function
> making

It looks like s390 is the only arch that uses a #else (CONFIG_COMPAT) so
maybe it is the only breakage.

Perhaps using a function instead of a define in include/linux/compat.h
and removing the else from arch/s390/include/asm/compat.h is the
sensible thing to do here or maybe just removing the #else from
arch/s390/include/asm/compat.h since it just returns 0 anyway?

>
> static inline int is_compat_task(void)
> {
> return 0;
> }
>
>
> into
>
> static inline int 0
> {
> return 0;
> }
>
> e.g.
>
> In file included from arch/s390/mm/fault.c:39:0:
> /home/autobuild/BUILD/linux-3.3.0-rc5.00060.g203738e.49.x.20120227/arch/s390/include/asm/compat.h:177:38: error: macro "is_compat_task" passed 1 arguments, but takes just 0
> /home/autobuild/BUILD/linux-3.3.0-rc5.00060.g203738e.49.x.20120227/arch/s390/include/asm/compat.h:178:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
> CC arch/s390/kernel/time.o
>
>
>
>
> Christian
>


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