2005-12-29 15:48:26

by Dieter Stüken

[permalink] [raw]
Subject: X86_64 compile error (crash.c)

I found this on 2.6.15-rc7 but it was on linux-2.6.14 already:

CC arch/x86_64/kernel/crash.o
In file included from include/asm/kexec.h:5,
from include/linux/kexec.h:9,
from arch/x86_64/kernel/crash.c:15:
include/asm/proto.h:66: error: syntax error before "cpu_initialized"
include/asm/proto.h:66: warning: type defaults to `int' in declaration of `cpu_initialized'
include/asm/proto.h:66: warning: data definition has no type or storage class
gmake[1]: *** [arch/x86_64/kernel/crash.o] error 1


#include <linux/cpumask.h> might be included in "asm-x86_64/proto.h"

however, it happens only with a very unusual configuration:

CONFIG_X86_64=y
CONFIG_KEXEC=y
CONFIG_COMPAT=n

else linux/cpumask.h gets included somewhere else...

Dieter.
--
Dieter St?ken, con terra GmbH, M?nster
[email protected]
http://www.conterra.de/
(0)251-7474-501


2005-12-29 16:18:50

by Andi Kleen

[permalink] [raw]
Subject: Re: X86_64 compile error (crash.c)

Dieter St?ken <[email protected]> writes:
>
> #include <linux/cpumask.h> might be included in "asm-x86_64/proto.h"
>
> however, it happens only with a very unusual configuration:
>
> CONFIG_X86_64=y
> CONFIG_KEXEC=y
> CONFIG_COMPAT=n
>
> else linux/cpumask.h gets included somewhere else...

Thanks for the report. I think the right fix is to move the declaration
of cpu_initialized into smp.h. I did this in my tree for 2.6.16.

-Andi