
Hi
I'm trying to port the U-Boot to Marvell board with MIPS (rm7000) I see that after relocating to the DRAM the disassembly of the u-boot shows me that we jump back to the flash: start.S: dis: la t9,board_init_r lui t9,0xbfc1 addiu t9,20140 j t9 jr t9
I see that I get the same problem when I jump to printf etc. maybe it is because I don't compile the code as PIC? Is there any special compilation flag I should use? Can someone please send me a disassembly of the U-Boot for any of the MIPS board (purple, incaip or dbaux100).
Is there any special handle for relocating of the MIPS that is different from the PPC, that I should take under consideration???
Thanks Ronen
Ronen Shitrit wrote:
Hi
I'm trying to port the U-Boot to Marvell board with MIPS (rm7000) I am using a cross compiler mips64-elf. I'm trying to compile the purpule_config and I have some compilation problems, when I'm using the cpu/mips/config flag -mabicalls I get a lot of warnings: c1: warning: -G is incompatible with PIC code which is the default ......... and an LD error: mips64-elf-ld: common/main.o: linking PIC files with non-PIC files Bad value: failed to merge target specific data of file common/main.o
When I remove the -mabicalls flag, the compilation pass, and the LD fail again on different error: mips64-elf-ld: target elf32-tradbigmips not found
The LD is looking for elf32-tradbigmips because in the LD script we define the output file to be: elf32-tradbigmips
why do we use this definition and not elf32-bigmips?? and what is the difference between these two?? and why when I install my cross compiler I don't have support for this output format??
so I changed it the output format to elf32-bigmips then I'm getting this LD error: : undefined reference to `_GLOBAL_OFFSET_TABLE_'
I know it is because I don't have this define in the linker script, and I guess the elf32-tradbigmips has this definition. What should I do??
Thanks