After I wrote a simple kernel module, upon modload, I got the following errors (from dmesg output):
Aug 19 15:46:44 sunnyman genunix: [ID 286029 kern.notice] relocation error: R_AMD64_32: Aug 19 15:46:44 sunnyman genunix: [ID 720415 kern.notice] file /export/home/root/solaris/kmod/mod: Aug 19 15:46:44 sunnyman genunix: [ID 370954 kern.notice] symbol : Aug 19 15:46:44 sunnyman genunix: [ID 780480 kern.notice] value 0xfffffffff7960fb8 does not fit Aug 19 15:46:44 sunnyman genunix: [ID 286029 kern.notice] relocation error: R_AMD64_32: Aug 19 15:46:44 sunnyman genunix: [ID 720415 kern.notice] file /export/home/root/solaris/kmod/mod: Aug 19 15:46:44 sunnyman genunix: [ID 370954 kern.notice] symbol .XAAjaAZI36iKE2L.modlinkage: Aug 19 15:46:44 sunnyman genunix: [ID 780480 kern.notice] value 0xffffffffc043e8f8 does not fit Aug 19 15:46:44 sunnyman genunix: [ID 286029 kern.notice] relocation error: R_AMD64_32: Aug 19 15:46:44 sunnyman genunix: [ID 720415 kern.notice] file /export/home/root/solaris/kmod/mod: Aug 19 15:46:44 sunnyman genunix: [ID 370954 kern.notice] symbol .XAAjaAZI36iKE2L.modlinkage: Aug 19 15:46:44 sunnyman genunix: [ID 780480 kern.notice] value 0xffffffffc043e8f8 does not fit Aug 19 15:46:44 sunnyman genunix: [ID 286029 kern.notice] relocation error: R_AMD64_32: Aug 19 15:46:44 sunnyman genunix: [ID 720415 kern.notice] file /export/home/root/solaris/kmod/mod: Aug 19 15:46:44 sunnyman genunix: [ID 370954 kern.notice] symbol .XAAjaAZI36iKE2L.modlinkage: Aug 19 15:46:44 sunnyman genunix: [ID 780480 kern.notice] value 0xffffffffc043e8f8 does not fit Aug 19 15:46:44 sunnyman genunix: [ID 399259 kern.notice] do_relocations: /export/home/root/solaris/kmod/mod do_relocate failed Aug 19 15:46:44 sunnyman genunix: [ID 603676 kern.notice] mod error doing relocations Can anyone tell me why? My source are as follows: extern struct mod_ops mod_miscops; static struct modlmisc modlmisc = { &mod_miscops, "it's me" }; static struct modlinkage modlinkage = { MODREV_1, {&modlmisc,NULL} }; int _init(void) { int i; i = mod_install(&modlinkage); cmn_err(CE_NOTE,"this is message.....\n"); return i; } int _info(struct modinfo *modinfop) { return (mod_info (&modlinkage, modinfop)); } int _fini(void) { int i; i = mod_remove(&modlinkage); return i; } And during compilation I encountered the warnings: cc -g -m64 -D_KERNEL_ -c mod.c "mod.c", line 25: warning: implicit function declaration: mod_install "mod.c", line 26: warning: implicit function declaration: cmn_err "mod.c", line 31: warning: implicit function declaration: mod_info "mod.c", line 36: warning: implicit function declaration: mod_remove ld -o mod -r mod.o Any clue? Thanks. -- This message posted from opensolaris.org _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code