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.

Reply via email to