Messages in this thread Patch in this message | | | Date | Mon, 8 Mar 1999 14:12:57 +0100 (MET) | From | Jacek Kopecky <> | Subject | ipx as a module and CONFIG_MODVERSIONS=y bug/omition in 2.2.2 |
| |
Hi. I'm not a member of this list but I seem to have found a little bug in kernel 2.2.2. The problem is: I compiled ipx recently as a module (I didn't use it before) and I have (for a reason I don't know) CONFIG_MODVERSIONS on. The ipx module compiled well but reported unresolved symbols on depmod. The symbols are make_EII_client, destroy_EII_client, make_8023_client, destroy_8023_client. I looked into the sources and found that linux/net/802/Makefile and linux/net/ethernet/Makefile don't include files p8023.c and pe2.c as OX_OBJS so they don't get into linux/include/linux/modversions.h and linux/include/linux/modules/*.ver, and the abovementioned files .c don't include <linux/module.h> that would enable them to export symbols as versioned. I corrected these problems in the patch that is attached. Please write me if you find the solution to be wrong in any way so that I would get to know the kernel a little more. 8-) As I said before I don't subscribe to linux-net. Thanks in advance for any reply
Jacek Kopecky
E-mail: jacek.kopecky@upol.cz (ISO Latin 2 compatible) WWW: http://www.inf.upol.cz/~kopeckyj diff -u linux-2.2.2/net/802/Makefile linux/net/802/Makefile --- linux-2.2.2/net/802/Makefile Fri Jul 10 22:51:41 1998 +++ linux/net/802/Makefile Wed Feb 24 17:23:07 1999 @@ -8,7 +8,7 @@ # Note 2! The CFLAGS definition is now in the main makefile... O_TARGET := 802.o -O_OBJS = p8023.o +OX_OBJS = p8023.o ifeq ($(CONFIG_SYSCTL),y) O_OBJS += sysctl_net_802.o diff -u linux-2.2.2/net/802/p8023.c linux/net/802/p8023.c --- linux-2.2.2/net/802/p8023.c Thu Jan 2 14:13:27 1997 +++ linux/net/802/p8023.c Wed Feb 24 17:06:06 1999 @@ -13,6 +13,7 @@ * has done anything like the old IPX. */ +#include <linux/module.h> #include <linux/netdevice.h> #include <linux/skbuff.h> #include <net/datalink.h> diff -u linux-2.2.2/net/ethernet/Makefile linux/net/ethernet/Makefile --- linux-2.2.2/net/ethernet/Makefile Tue Apr 28 20:10:11 1998 +++ linux/net/ethernet/Makefile Wed Feb 24 17:25:10 1999 @@ -24,7 +24,8 @@ endif ifdef CONFIG_NET -O_OBJS := $(OBJS) $(OBJ2) +O_OBJS := $(OBJS) +OX_OBJS := $(OBJ2) endif include $(TOPDIR)/Rules.make diff -u linux-2.2.2/net/ethernet/pe2.c linux/net/ethernet/pe2.c --- linux-2.2.2/net/ethernet/pe2.c Sat May 2 23:22:29 1998 +++ linux/net/ethernet/pe2.c Wed Feb 24 17:05:37 1999 @@ -1,3 +1,4 @@ +#include <linux/module.h> #include <linux/netdevice.h> #include <linux/skbuff.h> #include <net/datalink.h> | |