
Le 06/10/2010 08:01, Reinhard Meyer a écrit :
To me it looks now like we have dangling use of
CONFIG_SKIP_RELOCATE_UBOOT and CONFIG_SYS_ARM_WITHOUT_RELOC all over the source, but it appears to me that they can't really work anymore (I have not tested that).
Indeed, CONFIG_SYS_ARM_WITHOUT_RELOC should disappear eventually -- it's still there only to give board maintainers a way to build with and without relocation e.g. for testing purposes, and it was announced that it would disappear when relocation makes it into an official release.
As for CONFIG_SKIP_RELOCATE_UBOOT, it was useful in getting a smaller u-boot that would not relocated because it was already at the right place to execute; perfect (along with CONFIG_SKIP_LOWLEVEL_INIT) for building a RAM-based, run-where-it-is u-boot.
Now with relocation, we may not need it any more; but you're right that it cannot stay if it does not work.
Although I am not happy to have that removed right now (for code size concerns), I would suggest to remove all relocation preventing code which should make the code much more readable.
What do you mean by 'relocation-*preventing* code'?
If really required, a new introduction of a define, mainly changing the linker options not to emit relocation information and skipping a few lines of relocation business _could_ be introduced.
That would be a cleaner thing, yes.
Right now I don't think that should go into the ELF relocation patch, though; I'll make sure CONFIG_SKIP_RELOCATE_UBOOT either works or goes away, but unless instructed otherwise, I won't introduce a system-wide "don't relocate" feature.
Best Regards, Reinhard
Amicalement,