I have a problem compiling a module that I am porting form 2.4 to 2.6 linux kernel.
Compiling with this Makefile:
DEBUG = y
KERNELDIR = /usr/src/linix.2.6.9
SUBDIR = $(KERNELDIR)/drivers/snoop
INCLUDEDIR = $(KERNELDIR)/include
obj-m := snoop.o
modules: $(MAKE) -C $(KERNELDIR) SUBDIR=$(SUBDIR) modules
clean:
rm -f *.o
rm -f *.ko
apperars some lines like:
***Warning: "snoop_ip_forward" [drivers/snoop/snoop] is COMMON symbol
***Warning: "snoop_ip_forward_finish" [drivers/snoop/snoop] is COMMON symbol
and I have insert in ip_forward.c some lines:
extern int (* snoop_ip_forward_finish) (struct sk_buff *);
and this is in function ip_forward():
if(snoop_ip_forward && (*snoop_ip_forward)(skb) == -6)
goto drop;
then when I try to install the module it repyes with:
insmod: error inserting 'snoop.ko': -1 Invalid module format
and in /var/log/message appears some lines line:
kernel: snoop: Unknown symbol __floatsidf
kernel: snoop: Unknown symbol __fixunsdfsi
kernel: snoop: Unknown symbol __adddf3
kernel: snoop: Unknown symbol __muldf3
I will be very pleased if you can help me in some way.
thank you for your time