Can't load yaffs.o (unresolved symbol __get_mtd_device)

Charles Manning manningc2 at actrix.gen.nz
Wed Aug 6 15:43:33 EDT 2003


On Tuesday 05 August 2003 19:28, llandre wrote:
> > > I'm using recent YAFFS sources downloaded via CVS on Aug, 1st with the
> > > kernel linuxppc_devel_2.4.21-pre5.
> > > I succesfully built the yaffs module but I can't load it with the
> > > insmod command.
> > >
> > > Here what I get when trying to load:
> > >
> > > bash-2.05# /sbin/insmod -v yaffs.o
> > > Using yaffs.o
> > > Symbol version prefix ''
> > > yaffs.o: unresolved symbol __get_mtd_device
> > > bash-2.05#
> > >
> > > In the kernel's symbol list (System.map) I see the get_mtd_device
> > > symbol. Why does the dynamic linker add two underscores '__'?
> > > How to solve the problem?
> >
> >I think you are using an inconsistent version of mtd.
> >
> >The mtd I have here (definitely not the latest!) exports the symbol
> >__get_mtd_device from mtdcore.c
>
> Charles,
>
> could you kindly send me the mtd you work with or tell me where I can
> download it?
>

I would suggest you resolve the real problem.

What is happening is that:


Old code that exports __get_mtd_device
```````````````````````````````````````````````````````````````
yaffs calles get_mtd_device()
get_mtd_device()  is a wrapper for __get_mtd_device
__get_mtd_device is exported by mtd


New code that exports get_mtd_device
```````````````````````````````````````````````````````````````
yaffs calles get_mtd_device()
get_mtd_device is exported by mtd

Thus it seems the  mtd header files you are including are inconsistent with 
the mtd you have in the kernel. Likely the cure is just fixing up your 
include paths.

Just 'bypassing' the problem is likely to create further (hidden) problems.

Hope that helps
-- CHarles



More information about the linux-mtd mailing list