Re: frv cmpxchg_local compile error

From: Mathieu Desnoyers
Date: Thu Feb 07 2008 - 20:34:37 EST


* Adrian Bunk (bunk@xxxxxxxxxx) wrote:
> Commit 14e0cb3c60b89c4a2512852ffc18601c72314a0f broke frv compilation:
>
> <-- snip -->
>
> ...
> CC arch/frv/kernel/asm-offsets.s
> In file included from include/asm/system.h:271,
> from include/asm/bitops.h:19,
> from include/linux/bitops.h:17,
> from include/linux/kernel.h:15,
> from include/linux/sched.h:52,
> from arch/frv/kernel/asm-offsets.c:7:
> include/asm-generic/cmpxchg-local.h: In function '__cmpxchg_local_generic':
> include/asm-generic/cmpxchg-local.h:23: error: implicit declaration of function 'typecheck'


Isn't typecheck() supposed to be defined in kernel.h which is included
_everywhere_ ?

Hrm, I see, dependency from kernel.h on bitops.h on asm/bitops.h on
asm/system.h.



> include/asm-generic/cmpxchg-local.h:23: error: expected expression before 'unsigned'
> include/asm-generic/cmpxchg-local.h:23: error: expected expression before 'unsigned'
> include/asm-generic/cmpxchg-local.h:44: error: expected expression before 'unsigned'
> include/asm-generic/cmpxchg-local.h: In function '__cmpxchg64_local_generic':
> include/asm-generic/cmpxchg-local.h:57: error: expected expression before 'unsigned'
> include/asm-generic/cmpxchg-local.h:57: error: expected expression before 'unsigned'
> include/asm-generic/cmpxchg-local.h:61: error: expected expression before 'unsigned'
> In file included from include/asm/bitops.h:19,
> from include/linux/bitops.h:17,
> from include/linux/kernel.h:15,
> from include/linux/sched.h:52,
> from arch/frv/kernel/asm-offsets.c:7:
> include/asm/system.h: In function '__cmpxchg_local':
> include/asm/system.h:279: error: variable or field '__xg_orig' declared void
> include/asm/system.h:279: error: variable or field '__xg_test' declared void
> include/asm/system.h:279: error: variable or field '__xg_new' declared void
> include/asm/system.h:279: error: void value not ignored as it ought to be
> make[1]: *** [arch/frv/kernel/asm-offsets.s] Error 1
>
> <-- snip -->
>
>
> An architecture specific patch that breaks the one architecture it
> touches at the first file being compiled is even for kernel standards
> unusually bad...
>

I did this cmpxchg_local patchset to support Christoph Lameter's slub
performance improvement work. It implies touching every kernel
architecture. Each architecture is touched by a different patch. And no,
I did not happen to have an FRV toolchain handy. Sorry. I'll dig into
this.

Mathieu


>
> cu
> Adrian
>
> --
>
> "Is there not promise of rain?" Ling Tan asked suddenly out
> of the darkness. There had been need of rain for many days.
> "Only a promise," Lao Er said.
> Pearl S. Buck - Dragon Seed
>

--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
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/