Re: patching kdb to the Centos Kernel : more errors
"jidong xiao" <[email protected]> Mon, 25 Aug 2008 17:18:07 +0800
| Newsgroups | gmane.linux.kernel.debugging |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Aug 25, 2008 at 10:07 AM, Satish Eerpini <[email protected]> wrote: > i have fixed up errors concerning the previous ones i have mentioned > , ... but new errors have appeared , : > > CHK include/linux/version.h > CHK include/linux/utsrelease.h > CHK include/linux/compile.h > GEN .version > CHK include/linux/compile.h > UPD include/linux/compile.h > CC init/version.o > LD init/built-in.o > LD .tmp_vmlinux1 > kdb/built-in.o: In function `kdb_inittab': > /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i386/kdb/kdbmain.c:3816: > undefined reference to `__kdb_initcall_start' > /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i386/kdb/kdbmain.c:3822: > undefined reference to `__kdb_initcall_end' > make: *** [.tmp_vmlinux1] Error 1 > > i have checked the code which corressponds to the above errors , it is > something liket this : > > /* Any kdb commands that are not in the base code but are required > * earlier than normal initcall processing. > */ > call = & __kdb_initcall_start; > while (call < & __kdb_initcall_end) { > (*call)(); > call++; > }; > > , but i don't understand why it is showing an undefined reference > error , __kdb_initcall_start and __kdb_initcall_end are defined in > include/linux/kdbprivate.h as follows : > > #ifdef MODULE > #define kdb_module_init(fn) module_init(fn) > #define kdb_module_exit(fn) module_exit(fn) > #else /* !MODULE */ > extern initcall_t __kdb_initcall_start, __kdb_initcall_end; > #define kdb_module_init(fn) \ > static initcall_t __kdb_initcall_##fn __attribute_used__ > __attribute__ ((__section__ (".kdb_initcall.init"))) = fn; > #define kdb_module_exit(fn) \ > static exitcall_t __kdb_exitcall_##fn __attribute_used__ > __attribute__ ((__section__ (".kdb_exitcall.exit"))) = fn; > #endif /* MODULE */ > > then what does the error signify ? > First of all, as you are using Cent OS kernel, perhaps there is some difference between your source code and mine, maybe kdbprivate.h is not included correctly. Second of all, I think you can remove the lines. /* Any kdb commands that are not in the base code but are required * earlier than normal initcall processing. */ call = & __kdb_initcall_start; while (call < & __kdb_initcall_end) { (*call)(); call++; }; They are not existing in the latest kdb patches. Regards Jason > > Thanks > Satish > > > -- > http://satish.playdrupal.com > --------------------------- > Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. > --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.