
Dear Joakim Tjernlund,
In message OFA0E17029.E568D101-ONC1257634.002EFBFD-C1257634.002F97F1@transmode.se you wrote:
One day we can fit the whole relocation table into built-in CPU memory, hopefully that will make it possible to make u-boot a true PIC exe
Why is the former the prerequisite for the latter?
Some time ago I looked into making u-boot PIC and I came to the conclusion that one must be able to modify the GOT table before we have relocated to RAM. Perhaps there is another way but didn't see it at the time, maybe there is some "hidden" option to gcc that I missed.
But why has the GOT table to fit "into built-in CPU memory"? When we are about to relocate U-Boot to RAM, we already have RAM working. So we should also be able to copy the GOT table to RAM and modify it there as needed before we use it?
The main problem are all those string literals, these are in the fixup table and one wants to use printf and friends before relocation to RAM.
Maybe a similar approach is usable here?
Best regards,
Wolfgang Denk