On Sat, Jan 05, 2008 at 05:05:46PM +0000, Thiemo Seufer wrote: > > I am working on MIPS34KC with APRP kernel and I use uclibc > > gccc-3.4.4 to build applications to run on VPE1. The present > > implementation of VPE loader is limited to a few relocation types which > > are used when mips_sde compiler is used. However, the relocatable binary > > churn out from my uclibc-gcc-3.4.4 has more other relocation types than > > the ones defined in arch/mips/kernel/vpe.c, especially those with GOT > > relocation types. I have taken a look at the System V ABI Third Edition > > but if anybody has any code reference and pointers to how each > > relocation types should be implemented in C-code, it would be very > > helpful. > > The most likely place to look at would be the binutils source code. That > said, you can probably get away without enhancing the VPE loader by using > a) fully linked (non-relocatable) executables, or > b) non-PIC code, like SDE does > > Regardless of your choice, you will have to make sure the uclibc toolchain > doesn't use any libraries which need Linux facilities, as the bare-metal > environment on VPE1 doesn't provide them. For that reason I believe you > are better of with SDE or a similiar mips*-elf configured toolchain. I'm tempted to replace the existing vpe loader with something like the 2.4 version of insmod which does all the relocation handling in userspace and a device file which make the vpe memory available to userspace for the loader to write to. Or something like spufs. Ralf