I compile dummy.c into the kernel; make bzImage stops with:
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -march=i686 -malign-functions=4 -c -o dummy.o dummy.c
dummy.c: In function `dummy_init_module':
dummy.c:103: invalid type argument of `->'
make[3]: *** [dummy.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.0-test12-pre5/drivers/net'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.0-test12-pre5/drivers/net'
make[1]: *** [_subdir_net] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.0-test12-pre5/drivers'
make: *** [_dir_drivers] Error 2
Mirko Kloppstech
[[email protected]]
> dummy.c: In function `dummy_init_module':
> dummy.c:103: invalid type argument of `->'
Known bug. They say the fix is in Linus's patch queue.
--- include/linux/module.h~ Tue Dec 5 00:53:23 2000
+++ include/linux/module.h Tue Dec 5 17:24:47 2000
@@ -345,7 +345,7 @@
#endif /* MODULE */
#ifdef CONFIG_MODULES
-#define SET_MODULE_OWNER(some_struct) do { some_struct->owner = THIS_MODULE; } while (0)
+#define SET_MODULE_OWNER(some_struct) do { (some_struct)->owner = THIS_MODULE; } while (0)
#else
#define SET_MODULE_OWNER(some_struct) do { } while (0)
#endif