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

Maneesh Soni maneesh at in.ibm.com
Tue Sep 11 01:53:27 EDT 2007


On Mon, Sep 10, 2007 at 02:20:40PM +0200, Adrian Bunk wrote:
> 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 at 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?
> 

CRASH_DUMP_ or VMCORE_ should be a better prefix as the dump filtering
functionality not directly related to kexec.

Thanks
Maneesh


-- 
Maneesh Soni
Linux Technology Center,
IBM India Systems and Technology Lab, 
Bangalore, India



More information about the kexec mailing list