Messages in this thread | | | Subject | Re: [PATCH] autofs4: fix compilation without CONFIG_COMPAT | From | Ian Kent <> | Date | Mon, 27 Feb 2012 17:20:40 +0800 |
| |
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 >
| |