On Tue, 2007-04-10 at 18:18 -0700, Andrew Morton wrote: > On Tue, 10 Apr 2007 20:48:38 -0400 > Mathieu Desnoyers <[EMAIL PROTECTED]> wrote: > > > I get the following build error when building 2.6.21-rc6-mm1 for > > sparc64: > > > > > > /opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/bin/sparc64-unknown-linux-gnu-gcc > > -Wp,-MD,arch/sparc64/kernel/.traps.o.d -nostdinc -isystem > > /opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/lib/gcc/sparc64-unknown-linux-gnu/3.4.5/include > > -D__KERNEL__ -Iinclude -Iinclude2 > > -I/home/compudj/git/linux-2.6-lttng/include -include > > include/linux/autoconf.h > > -I/home/compudj/git/linux-2.6-lttng/arch/sparc64/kernel > > -Iarch/sparc64/kernel -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs > > -fno-strict-aliasing -fno-common -Os -m64 -pipe -mno-fpu -mcpu=ultrasparc > > -mcmodel=medlow -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare > > -Wa,--undeclared-regs -fomit-frame-pointer -Wdeclaration-after-statement > > -Werror -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(traps)" > > -D"KBUILD_MODNAME=KBUILD_STR(traps)" -c -o arch/sparc64/kernel/traps.o > > /home/compudj/git/linux-2.6-lttng/arch/sparc64/kernel/traps.c > > /home/compudj/git/linux-2.6-lttng/arch/sparc64/kernel/traps.c: In function > > `init_cur_cpu_trap': > > /home/compudj/git/linux-2.6-lttng/arch/sparc64/kernel/traps.c:2497: > > warning: implicit declaration of function `hard_smp_processor_id' > > make[2]: *** [arch/sparc64/kernel/traps.o] Error 1 > > make[1]: *** [arch/sparc64/kernel] Error 2 > > make: *** [_all] Error 2 > > Not sure what the approved fix is here. Fernando, please take a look, and > review all other architectures? The problem is that to use hard_smp_processor_id in UP kernels just including linux/smp.h does not suffice anymore. Now hard_smp_processor_id is architecture specific code and consequently asm/smp.h should be included explicitly.
Mathieu, does the (untested) patch below fix this issue? [PATCH] Remove hardcoding of hard_smp_processor_id on UP systems - sparc64 fix To use hard_smp_processor_id in UP kernels just including linux/smp.h does not suffice anymore. Now hard_smp_processor_id is architecture specific code and consequently asm/smp.h should be included explicitly. Signed-off-by: Fernando Luis Vazquez Cao <[EMAIL PROTECTED]> --- diff -urNp linux-2.6.21-rc6-mm1-orig/arch/sparc64/kernel/traps.c linux-2.6.21-rc6-mm1/arch/sparc64/kernel/traps.c --- linux-2.6.21-rc6-mm1-orig/arch/sparc64/kernel/traps.c 2007-04-11 10:48:09.000000000 +0900 +++ linux-2.6.21-rc6-mm1/arch/sparc64/kernel/traps.c 2007-04-11 10:57:06.000000000 +0900 @@ -19,6 +19,7 @@ #include <linux/init.h> #include <linux/kdebug.h> +#include <asm/smp.h> #include <asm/delay.h> #include <asm/system.h> #include <asm/ptrace.h> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/