
In message 4058536D.7020400@il.marvell.com you wrote:
The code I disassemble below is the u-boot image.
Yes, that much was clear. My question was: is this the image on the disk of your development host, or in flash on your target system before relocation, or in RAM on your target system after relocation?
As I understand the code must be PIC, other wise when we will relocate
No. The code must be relocatable, but not PIC.
to the DRAM in the next function call we will jump back to the Flash, cause the compiler might use
It will not, because we relocate it.
Please note that to relocate code means more than just copying it to a different address.
absolute jump and not a relative branch/jump.
This is why we relocate the code.
Can you please send me a short description how did you built your cross compiler.
See http://www.denx.de/twiki/bin/view/DULG/ELDKRebuildingComponents#Section_3.7.....
Best regards,
Wolfgang Denk