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

Adrian Bunk
2007-09-10T12:20:41Z

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@kernel.org> 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