ok I've found why it does this :
make -f Makefile.24 gcc -c -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
-fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS -mpreferred-stack-boundary=2 -march=i586 bios_core.c -o bios_core.o gcc -c -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
-fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS -mpreferred-stack-boundary=2 -march=i586 flashchips.c -o
flashchips.o
gcc -c -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
-fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS -mpreferred-stack-boundary=2 -march=i586 pcisets.c -o pcisets.o pcisets.c:234: warning: `gporeg_save' defined but not used gcc -c -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
-fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS -mpreferred-stack-boundary=2 -march=i586 filesystem.c -o
filesystem.o
filesystem.c:292: `THIS_MODULE' undeclared here (not in a function) filesystem.c:292: initializer element is not constant filesystem.c:292: (near initialization for `bios_fops.owner') make: *** [filesystem.o] Error 1
It's because the $KERNEL is /usr/src/linux then gcc's -I is $KERNEL/include. It lacks module.h, because on my distro (RH9) module.h is in $KERNEL/include/linux/. It needs a Makefile.24 little update :)
error was mentioning THIS_MODULE,module.h is the file that's containing #define THIS_MODULE (&__this_module)
At the end it can be insmod anyway because of unresolved syms, it done for 2.6 kernel, well i knew what i was risking.
Where could i find the 02/06/10 or the 02/04/12 version of devbios still based upon kernel 2.4 building ?
Le lun 26/04/2004 à 12:07, Stefan Reinauer a écrit :
- Mathieu Deschamps mdeschamps@mangrove-systems.com [040423 18:07]:
But I still don't understand these part of your code:
ifeq ($(KERNEL)/.config,$(wildcard $(KERNEL)/.config)) include $(KERNEL)/.config endif # see if we need module versions ifdef CONFIG_MODVERSIONS CFLAGS += -DMODVERSIONS endif
This is needed for those using module versioning.
In the 0.3.2 version in never hear about the need to include the kernel .config.
Yes. 0.3.2 is broken wrt module versioning
When i say to managed to make it works that true, but it's tainted and this is an ugly "bricologe"
taintet?
It's a module state, fo example when you force loading of a module hasn't been compiled for the machine you are trying to insmoding. It seems it's also some kind of internal authenficate signature.
Stefan