Re: EXPORT_SYMBOL doesn't work

Tom Rini (trini@kernel.crashing.org)
Mon, 18 Mar 2002 17:22:16 -0700


On Mon, Mar 18, 2002 at 11:43:20AM -0800, Jason Li wrote:
> Tom Rini wrote:
> >
> > On Mon, Mar 18, 2002 at 11:11:46AM -0800, Jason Li wrote:
> > > Keith Owens wrote:
> > > >
> > > > On Sun, 17 Mar 2002 22:25:16 -0800,
> > > > Jason Li <jli@extremenetworks.com> wrote:
> > > > >int (*fdbIoSwitchHook)(
> > > > > unsigned long arg0,
> > > > > unsigned long arg1,
> > > > > unsigned long arg2)=NULL;
> > > > >EXPORT_SYMBOL(fdbIoSwitchHook);
> > > > >gcc -D__KERNEL__ -I/home/jli/cvs2/exos/linux/include -Wall
> > > > >-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
> > > > >-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
> > > > >-march=i686 -c -o br_ioctl.o br_ioctl.c
> > > > >br_ioctl.c:26: warning: type defaults to `int' in declaration of
> > > > >`EXPORT_SYMBOL'
> > > >
> > > > #include <linux/module.h>
> > > >
> > > > Also add br_ioctl.o to export-objs in Makefile.
> > >
> > > Thanks alot. It works.
> > >
> > > Now another problem with versioning. It seems even after I have the
> > > following in my module c file the symbol generated is not versioned:
> >
> > Backup your .config, run 'distclean' or 'mrproper' and try again.
> >
> > --
> > Tom Rini (TR1265)
> > http://gate.crashing.org/~trini/
>
> Just did a distclean. Now the inluce/linux/modules/netsym.ver has the
> fdbIoSwitchHook version info.
>
> Recompiled the module. Did a nm on the module, and saw the version info
> for the symbol. But when I dod insmod, it still complained about
> unresolved symbol fdbIoSwitchHook.
>
> It seems now the version is different between the kernel and the module.
> Should I wait for the bzImage compilation to complete and install the
> new kernel?

There are annoying depenancies with modversions. Basically the safe way
is that if you change any export (add/remove), you should do a
'distclean', recompile everything and switch to that.

-- 
Tom Rini (TR1265)
http://gate.crashing.org/~trini/
-
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/