Re: porting driver to 2.6, still unknown relocs... :(

From: LGW
Date: Wed Aug 27 2003 - 10:41:00 EST


Randy.Dunlap wrote:

On Wed, 27 Aug 2003 15:38:26 +0200 LGW <large@xxxxxxxxxxxxxx> wrote:

| Now I wonder, what would be an relocation type 0? The printk should also | print the type in clear text I think, but it just prints 0. 0 also does | not look very much like a valid value at all, or does it?

Maybe g++ generates something different?
Are parts of your driver in c++?

I think the g++ is the problem, but I'm not sure what it is.

The driver is mostly a wrapper around a generic driver released by the manufacturer, and that's written in C++. But it worked like this for the 2.4.x kernel series, so I think it has something todo with the new module loader code. Possibly ld misses something when linking the object specific stuff like constructors?

I don't think there are any other errors in the module (like incompatible MODULE_stuff or missing statements), as it has been copied from a patched alsa-0.9.6, and I diff'd the other drivers, not finding much differences (if any).

Any ld parameters I could try? I already tried -Ur, but that lead to nothing :(

thanks,
Lars

| // for the c++ helper files:
| g++ -fno-rtti -Wall -Wstrict-prototypes -Wno-trigraphs -O2 | -fno-strict-aliasing -pipe -mpreferred-stack-boundary=2 -march=athlon | -Iinclude/asm-i386/mach-default -D__KERNEL__ -Iinclude -Wall | -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -nostdinc | -iwithprefix include -DMODULE -Isound/pci/echoaudio/DSP | -Isound/pci/echoaudio/ASIC -DGINA_20 -DECHO_LINUX -DECHOGALS_FAMILY | -DKBUILD_BASENAME=echoaudio -DKBUILD_MODNAME=snd_echoaudio | -I/usr/include -o $@.o $@.cpp
| | // linking echoaudio.o
| ld -m elf_i386 -r -o sound/pci/echoaudio/snd-echoaudio.o | sound/pci/echoaudio/echoaudio.o sound/pci/echoaudio/OsSupportLinux.o | sound/pci/echoaudio/CDaffyDuck.o sound/pci/echoaudio/CEchoGals_info.o
| sound/pci/echoaudio/CEchoGals_transport.o | sound/pci/echoaudio/CPipeOutCtrl.o sound/pci/echoaudio/CEchoGals_mixer.o | sound/pci/echoaudio/CMidiInQ.o sound/pci/echoaudio/CEchoGals_midi.o | sound/pci/echoaudio/CEchoGals_power.o sound/pci/echoaudio/CEchoGals.o | sound/pci/echoaudio/CLineLevel.o sound/pci/echoaudio/CMonitorCtrlL.o | sound/pci/echoaudio/CChannelMask.o | sound/pci/echoaudio/CGdDspCommObject.o | sound/pci/echoaudio/CDspCommObject.o | sound/pci/echoaudio/CGinaDspCommObject.o sound/pci/echoaudio/CGina.o
| | // linking snd-echoaudio.o
| ld -m elf_i386 -r -o sound/pci/echoaudio/snd-echoaudio.o | sound/pci/echoaudio/echoaudio.o sound/pci/echoaudio/OsSupportLinux.o | sound/pci/echoaudio/CDaffyDuck.o sound/pci/echoaudio/CEchoGals_info.o
| sound/pci/echoaudio/CEchoGals_transport.o | sound/pci/echoaudio/CPipeOutCtrl.o sound/pci/echoaudio/CEchoGals_mixer.o | sound/pci/echoaudio/CMidiInQ.o sound/pci/echoaudio/CEchoGals_midi.o | sound/pci/echoaudio/CEchoGals_power.o sound/pci/echoaudio/CEchoGals.o | sound/pci/echoaudio/CLineLevel.o sound/pci/echoaudio/CMonitorCtrlL.o | sound/pci/echoaudio/CChannelMask.o | sound/pci/echoaudio/CGdDspCommObject.o | sound/pci/echoaudio/CDspCommObject.o | sound/pci/echoaudio/CGinaDspCommObject.o sound/pci/echoaudio/CGina.o
| | // linking snd-echoaudio.ko
| ld -m elf_i386 -r -o sound/pci/echoaudio/snd-echoaudio.ko | sound/pci/echoaudio/snd-echoaudio.o sound/pci/echoaudio/snd-echoaudio.mod.o



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/