Messages in this thread | | | Date | Mon, 28 Apr 1997 01:43:31 +0100 | From | David Williams <> | Subject | IBCS module fails to compile on 2.1.35 |
| |
I am trying to compile the latest IBCS module under a 2.1.35 kernel.
I get the following errors:-
set -e; for i in iBCSemul x286emul Tools; do \ test ! -d $i || \ { make -C $i; }; done make[1]: Entering directory `/djw/gz/ibcs/iBCSemul' cc -D__KERNEL__=1 -DMODULE -D__NO_VERSION__ -I../include -Wall -Wstrict- prototypes -O3 -fomit-frame-pointer -m486 -DSOCKSYS_MAJOR=30 -DEMU_SCO -DEMU_ISC -DEMU_SVR4 -DEMU_BSD -DEMU_WYSE -DEMU_WYSEMP -DEMU_X286 - DEMU_SPX -DEMU_XTI -DEMU_TLI_OPTMGMT -DEMU_BINFMT_AOUT -DEMU_BINFMT_COFF -DEMU_BINFMT_XOUT -DEMU_BINFMT_OLDSCRIPT -DIBCS_TRACE -DVERBOSE_ERRORS - DCOFF_TRACE -DELF_TRACE -DXOUT_DEBUG -c emulate.c make[1]: Leaving directory `/djw/gz/ibcs/iBCSemul' In file included from emulate.c:57: ../include/ibcs/ibcs.h:43: warning: function declaration isn't a prototype emulate.c: In function `iABI_emulate': emulate.c:193: warning: implicit declaration of function `get_fs_long' emulate.c: At top level: emulate.c:475: `mod_use_count_' undeclared here (not in a function) emulate.c:475: initializer element for `ibcs_exec_domain.module' is not constant emulate.c:484: `mod_use_count_' undeclared here (not in a function) emulate.c:484: initializer element for `xnx_exec_domain.module' is not constant emulate.c:495: `mod_use_count_' undeclared here (not in a function) emulate.c:495: initializer element for `isc_exec_domain.module' is not constant emulate.c:507: `mod_use_count_' undeclared here (not in a function) emulate.c:507: initializer element for `bsd_exec_domain.module' is not constant emulate.c: In function `init_module': emulate.c:517: warning: implicit declaration of function `register_symtab' make[1]: *** [emulate.o] Error 1 make: *** [all] Error 2
IF I add int mod_use_count_; near the top of the emulate.c file then I get:-
In file included from emulate.c:57: ../include/ibcs/ibcs.h:43: warning: function declaration isn't a prototype emulate.c: In function `iABI_emulate': emulate.c:193: warning: implicit declaration of function `get_fs_long' emulate.c: At top level: emulate.c:476: warning: initialization from incompatible pointer type emulate.c:485: warning: initialization from incompatible pointer type emulate.c:496: warning: initialization from incompatible pointer type emulate.c:508: warning: initialization from incompatible pointer type emulate.c: In function `init_module': emulate.c:518: warning: implicit declaration of function `register_symtab' In file included from sysi86.c:33: ../include/ibcs/ibcs.h:43: warning: function declaration isn't a prototype sysi86.c: In function `ibcs_sysi86': sysi86.c:120: warning: implicit declaration of function `get_fs_long' sysi86.c:133: warning: implicit declaration of function `verify_area' sysi86.c:133: `VERIFY_WRITE' undeclared (first use this function) sysi86.c:133: (Each undeclared identifier is reported only once sysi86.c:133: for each function it appears in.) sysi86.c:136: warning: implicit declaration of function `put_fs_long' sysi86.c:186: warning: implicit declaration of function `memcpy_tofs' make[1]: *** [sysi86.o] Error 1 make: *** [all] Error 2
It appears that (from mod_use_count_) is not defined in the 2.1.35 kernel source. Since I have to get modutils.2.1.34 and this module compiled ok under 2.0.30 I assume the interface to modules has changed. I'd like to port the IBCS module myself for personal use - I have ?4 years good C experience and should have no trouble if I can just understand what has changed in the kernel since 2.0.30 regarding modules.
What do I need to do to fix the above errors??
-- David Williams
| |