Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 27 Aug 2003 15:38:26 +0200 | From | LGW <> | Subject | porting driver to 2.6, still unknown relocs... :( |
| |
Hi again.
As I described before, I try to port an audio driver from 2.4.x to 2.6.x.
It compiles, but on load I get "module snd_echoaudio: Unknown relocation: 0" from dmesg.
I looked into arch/*/kernel/module.c, and this error appears if the loaded module contains a relocation other than R_386_32 or R_386_PC32 (for intel).
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?
These are the commands used to build the modules (taken from the .*.cmd files):
// for the main module file: gcc -Wp,-MD,sound/pci/echoaudio/.echoaudio.o.d -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include -DMODULE -I/usr/include -Isound/pci/echoaudio/DSP -Isound/pci/echoaudio/ASIC -DGINA_20 -DECHO_LINUX -DECHOGALS_FAMILY -DKBUILD_BASENAME=echoaudio -DKBUILD_MODNAME=snd_echoaudio -c -o sound/pci/echoaudio/echoaudio.o sound/pci/echoaudio/echoaudio.c
// 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
I have no idea why those commands should lead to a file with broken relocations. Please help me...
thanks, Lars
- 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/
| ![\](/images/icornerr.gif) |