the examples in /usr/share/lkm are just a bit out of date (this is on
4.6-RELEASE)

$ pwd
/usr/share/lkm/syscall
$ sudo make
===> module
cc -O2 -pipe  -D_KERNEL -I/sys  -c newsyscall.c
newsyscall.c: In function `newsyscall':
newsyscall.c:109: error: syntax error before '}' token
*** Error code 1

Stop in /usr/share/lkm/syscall/module (line 92 of /usr/share/mk/sys.mk).
*** Error code 1

Stop in /usr/share/lkm/syscall (line 48 of /usr/share/mk/bsd.subdir.mk).

But after applying the following change:

$ sudo make
===> module
cc -O2 -pipe  -D_KERNEL -I/sys  -c newsyscall.c
cc -O2 -pipe  -D_KERNEL -I/sys  -c mycall.c
ld -r -o combined.o newsyscall.o mycall.o
===> test
cc -O2 -pipe    -c testsyscall.c
cc   -o testsyscall testsyscall.o


here's the patch:
--- misc/module/miscmod.c.old   Fri Nov 13 05:05:37 2009
+++ misc/module/miscmod.c       Fri Nov 13 05:07:06 2009
@@ -179,7 +179,7 @@
 int                    cmd;
 int                    ver;
 {
-       DISPATCH(lkmtp,cmd,ver,miscmod_handle,miscmod_handle,lkm_nofunc)
+       DISPATCH(lkmtp,cmd,ver,miscmod_handle,miscmod_handle,lkm_nofunc);
 }
--- syscall/module/newsyscall.c.old     Fri Nov 13 05:05:15 2009
+++ syscall/module/newsyscall.c Fri Nov 13 04:28:49 2009
@@ -105,7 +105,7 @@
 int                    cmd;
 int                    ver;
 {
-       DISPATCH(lkmtp,cmd,ver,newsyscall_load,lkm_nofunc,lkm_nofunc)
+       DISPATCH(lkmtp,cmd,ver,newsyscall_load,lkm_nofunc,lkm_nofunc);
 }

Reply via email to