Re: aufs vs. m68k conflict, please advice

Ben Hutchings
2011-12-16T16:48:27Z

[-- Attachment #1: Type: text/plain, Size: 1585 bytes --]

On Fri, 2011-12-16 at 14:42 +0000, Thorsten Glaser wrote:
> Hi,
>
> a build of linux-2.6 (3.2~rc4-1~experimental.1) with gcc-4.6 (to
> check whether we can switch to it for the kernel, too) fails:
[...]
> /tmp/buildd/linux-2.6-3.2~rc4/debian/build/source_m68k_none/arch/m68k/include/asm/hardirq.h: In function 'ack_bad_irq':
> /tmp/buildd/linux-2.6-3.2~rc4/debian/build/source_m68k_none/arch/m68k/include/asm/hardirq.h:23:2: error: expected ')' before 'AUFS_NAME'
> make[7]: *** [fs/aufs/module.o] Error 1
> […]
>
> The cause isn’t hard to figure out:
>
> I /tmp/buildd/linux-2.6-3.2~rc4/debian/build/source_m68k_none/arch/m68k R21 <40 C1 384 |180 115|73 14:39
> 21 static inline void ack_bad_irq(unsigned int irq)
> 22 {
> 23 pr_crit("unexpected IRQ trap at vector %02x\n", irq);
> 24 }
>
> (pbuild26252)root@ara5:/ # fgrep AUFS_NAME /tmp/buildd/linux-2.6-3.2~rc4/debian/build/source_m68k_none/fs/aufs/*
> /tmp/buildd/linux-2.6-3.2~rc4/debian/build/source_m68k_none/fs/aufs/Makefile:ccflags-y += -D'pr_fmt(fmt)=AUFS_NAME"\040%s:%d:%s[%d]:\040"fmt,__func__,__LINE__,current->comm,current->pid'
>
> This, to me, looks like cpp abuse in aufs, but I’m not a kernel
> programmer (Linux or otherwise).

Maybe, but it should work just as long as AUFS_NAME is also defined in
advance. Not sure why that's not also provided on the command line, or
why other architectures get away with it. Maybe they just don't use
pr_*() in headers.

Ben.

--
Ben Hutchings
Computers are not intelligent. They only think they are.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]