zhuzhenhua wrote:
i want to write a mini bootloader for my board, so i need jump to c code from asm code but when i compile and ld, i get "relocation truncated to fit: R_MIPS_CALL16" messages for every function call.. i have try the mips_4KCle-gcc(worked for u-boot), mips_fp_le-gcc(worked for mvita linux), and also a mipsel-linux-gcc(worked for my linux 2.6 kernel), but they all failed, even i add -G0 to gcc. and i only compile success by using mips-elf-gcc under cygwin. does it be caused by binutils version? or gcc compile CFLAGS? thanks for any hints
This is probably because the mips-linux configuration of gcc is generating position-independent code by default, whereas the mips-elf version doesn't.
Try adding the options "-mno-abicalls -fno-pic" to your mips-liinux-gcc options.
HTH Nigel