Re: [-mm patch] kernel/kexec.c: make code static

From: Adrian Bunk
Date: Mon Sep 10 2007 - 08:20:42 EST


On Mon, Sep 10, 2007 at 11:55:49AM +0900, Ken'ichi Ohmichi wrote:
>
> Hi Adrian,
>
>
> 2007/09/09 22:25:16 +0200, Adrian Bunk <bunk@xxxxxxxxxx> wrote:
> >On Fri, Aug 31, 2007 at 09:58:22PM -0700, Andrew Morton wrote:
> >>...
> >> Changes since 2.6.23-rc3-mm1:
> >>...
> >> +add-vmcoreinfo.patch
> >>...
> >> misc
> >>...
> >
> >This patch makes the following needlessly global code static:
> >- vmcoreinfo_data[]
> >- vmcoreinfo_size
> >- vmcoreinfo_append_str()
>
> The kernel compiling fails with your patch because architecture-specific
> function should access the above data/function:
>
> # make
> [snip]
> arch/ia64/kernel/machine_kexec.c: In function 'arch_crash_save_vmcoreinfo':
> arch/ia64/kernel/machine_kexec.c:134: error: implicit declaration of function 'SYMBOL'
> arch/ia64/kernel/machine_kexec.c:135: error: implicit declaration of function 'LENGTH'
> arch/ia64/kernel/machine_kexec.c:139: error: implicit declaration of function 'SIZE'
> arch/ia64/kernel/machine_kexec.c:139: error: 'node_memblk_s' undeclared (first use in this function)
> arch/ia64/kernel/machine_kexec.c:139: error: (Each undeclared identifier is reported only once
> arch/ia64/kernel/machine_kexec.c:139: error: for each function it appears in.)
> arch/ia64/kernel/machine_kexec.c:140: error: implicit declaration of function 'OFFSET'
> arch/ia64/kernel/machine_kexec.c:140: error: 'start_paddr' undeclared (first use in this function)
> arch/ia64/kernel/machine_kexec.c:141: error: 'size' undeclared (first use in this function)
> arch/ia64/kernel/machine_kexec.c:144: error: implicit declaration of function 'CONFIG'
> arch/ia64/kernel/machine_kexec.c:144: error: 'PGTABLE_3' undeclared (first use in this function)
> make[1]: *** [arch/ia64/kernel/machine_kexec.o] Error 1
> make: *** [arch/ia64/kernel] Error 2
> #

Thanks, I missed this.

That's 80% my fault and 20% the fault of the usage of generic names
SYMBOL/SIZE/OFFSET/LENGTH/CONFIG making it impossible to grep for them
(and namespace conflicts quite possible).

Can we get these #define's properly prefixed (e.g. KEXEC_SYMBOL etc.) so
that other people will not repeat my mistake and namespace conflicts
will be prevented?

> Thanks
> Ken'ichi Ohmichi

TIA
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

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