Messages in this thread |  | | | Date | Sat, 05 Mar 2005 10:14:10 -0800 | | From | "Randy.Dunlap" <> | | Subject | Re: |
| |
Raffaele Ianniello wrote: > 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
I don't know what the ***Warning's are, but the first 2 problems to solve are:
a. use a proper 2.6 Makefile: see Documentation/kbuild/* and http://lwn.net/Articles/driver-porting/ or see an example at http://www.xenotime.net/linux/modprms/Makefile IOW, you need to use the 2.6 build system. b. The code is being generated with some floating point operations in it. Linux kernel does not (generally) allow/support FP operations in kernel code, so you'll need to use some other method for those calculations. (unless this problem goes away because of using the correct 2.6 build system tools)
-- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |