
On Sat, 2009-10-03 at 14:13 +0200, Wolfgang Denk wrote:
Dear Joakim Tjernlund,
In message OF3474ED49.C18DA041-ONC1257644.0033ADEB-C1257644.0034147E@transmode.se you wrote:
It seems discussion stopped here. Is it correct forme to assume that there is no patch available yet that is considered ripe to be added (to the "reloc" branch) ?
That is correct. Some boards(85xx) seem to have bss_start at 0 sometimes and that won't play nice with this patch. Peter was looking into this but seems like he isn't finished yet.
Also, I have been looking at moving this relocation to C-code and it isn't quite ready yet. What is left is to modify all ppc boards to use this new C-code
So how should we proceed? My plan was to merge the "reloc" branch by the end of next week. Is this still realistic?
That plan is realistic. The executive summary is: The current "reloc" branch works, and is an improvement on U-Boot's previous "semi-reolcation", so we should merge it for this release.
There are a few change which would further improve relocation that Jocke and I want to get merged. Whether these improvements occur in this release or the next is not a big deal to me. 1. Fix relocation of NULL pointers. eg the following code would print the relocation fixup offset instead of the expected NULL. void weak_fun(void) __attribute__((weak)); printf("weak_fun:%p\n", weak_fun); This was already an issue, so we're not breaking anything in the "reloc" branch
2. Move relocation fixup code to C-code
3. Possibly get true relocation working so that U-Boot could be located anywhere and still execute.
Jocke has 1 and 2 mostly figured out, I just need some time to play with the linker scripts a bit more to ensure nothing breaks. (Sorry Jocke, its been a busy week).
Peter