[U-Boot-Users] Compiling relocatable code and DATA for PPC
Kate Alhola
kate at iti.fi
Thu Mar 25 10:13:53 CET 2004
Wolfgang Denk wrote:
>>All examples that i have found uses static addresses. Also using
>>google i have not found any answers.
>>
>>
>
>You will either have to use PIC (which is not what U-Boot does), or
>use a static link address (which is what U-Boot does for standalone
>applications), or use relocatable code that you can (manually)
>relocate to a target address of your choice (which is what U-Boot
>does for the U-Boot code itself).
>
>
The thing that i like to use is PIC and PID ( position independent data
and code ).
U-boot allows to load my code in any address and i really don't like to
manually
relocate it. I like to have ready compiled code parts in mass media (
flash ) and
i like to to allow load them to any free address.
There is this same problem allways if you use non-mmu processor like MPC555
and you like to load more than just one fixed program into memory.
You should remember that the applications loaded with u-boot are not
allways just "stand-alone" apps or Linux. Based on my knowledge there is
not even Linux for mpc555. I our case i like to load my open source rtos
kernel ( Katix ) and then applications for it.
Becouse u-boot runs in many non-mmu processors i was just thinking
that some u-boot user has had same problem and find already answer.
I have searched all around internet to find answer but not yet find one.
-fpic should
make program code position independent and -msdata=eabi -G20000
should put all static data smaller than 20000 bytes to relative to
r2(const data)
or r13 . For some reason gcc says that -msdata=eabi and -fpic
are incompatible and even -msdata=eabi does not make data references
as register relative.
Kate
More information about the U-Boot
mailing list