Hi Adrian, Maneesh, Maneesh Soni wrote: > 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). I understand your motivation. It is better to change these names as you said. >> 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. I think that VMCOREINFO_ is a better prefix, because these macros are for writing the information to the vmcoreinfo data. Thanks Ken'ichi Ohmichi