Re: 2.6.23-rc4-mm1 compile error for ppc 32

From: Andrew Morton
Date: Thu Sep 06 2007 - 19:03:19 EST


> On Thu, 6 Sep 2007 14:40:11 -0400 Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:
> Hi Andrew,
>
> Guess what, another one ;)
>
> /opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc -m32 -Wp,-MD,arch/ppc/kernel/.asm-offsets.s.d -nostdinc -isystem /opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/lib/gcc/powerpc-405-linux-gnu/4.1.1/include -D__KERNEL__ -Iinclude -Iinclude2 -I/home/compudj/git/linux-2.6-lttng/include -include include/linux/autoconf.h -Iarch/ppc -Iarch/ppc/include -I/home/compudj/git/linux-2.6-lttng/. -I. -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -I/home/compudj/git/linux-2.6-lttng/arch/ppc -Iarch/ppc -msoft-float -pipe -ffixed-r2 -mmultiple -mno-altivec -mstring -Wa,-m405 -fomit-frame-pointer -g -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(asm_offsets)" -D"KBUILD_MODNAME=KBUILD_STR(asm_offsets)" -fverbose-asm -S -o arch/ppc/kernel/asm-offsets.s /home/compudj/git/linux-2.6-lttng/arc!
h/ppc/kernel/asm-offsets.c
> In file included from /home/compudj/git/linux-2.6-lttng/include/linux/bitops.h:17,
> from /home/compudj/git/linux-2.6-lttng/include/linux/kernel.h:15,
> from include2/asm/system.h:7,
> from /home/compudj/git/linux-2.6-lttng/include/linux/list.h:9,
> from /home/compudj/git/linux-2.6-lttng/include/linux/signal.h:8,
> from /home/compudj/git/linux-2.6-lttng/arch/ppc/kernel/asm-offsets.c:11:
> arch/ppc/include/asm/bitops.h: In function '__clear_bit_unlock':
> arch/ppc/include/asm/bitops.h:229: error: expected string literal before ':' token
> arch/ppc/include/asm/bitops.h:229: confused by earlier errors, bailing out
> make[2]: *** [arch/ppc/kernel/asm-offsets.s] Error 1
> make[1]: *** [prepare0] Error 2
> make: *** [_all] Error 2

What the heck is arch/ppc/include/asm/bitops.h? I assume that it's
include/asm-powerpc/bitops.h via some wormhole.


If so, the finger points at this:

static __inline__ void __clear_bit_unlock(int nr, volatile unsigned long *addr)
{
__asm__ __volatile__(LWSYNC_ON_SMP ::: "memory");
__clear_bit(nr, addr);
}

which was added by Nick's powerpc-lock-bitops.patch. I am suspecting that
this isn't pp32 code?

(what's with the newly-added old-style __inline__, btw? That's just more
stuff we need to clean up later, so there doesn't seem much point in adding
it).

-
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/