
Le 04/10/2010 10:57, Heiko Schocher a écrit :
./MAKEALL edminiv2 results:
text data bss dec hex filename
141376 4388 16640 162404 27a64 ./u-boot (for GOT reloc) 150160 3819 16640 170619 29a7b ./u-boot (for ELF reloc)
u-boot.bin size in bytes:
145764 (for GOT reloc) 153976 (for ELF reloc)
Huh...
The .rel.dyn table is 18472 bytes, and should eventually shrink by half, losing about 9 KB. That would bring the u-boot.bin size down to 145 KB, roughly the same size as GOT reloc -- plus we'd save a few code
... puuh ;-)
:)
Think also that if I'm not mistaken, the GOT has to move to RAM while the .rel.dyn and .dynsym tables will not be necessary once relocated (unless you want u-boot to be able to move around in RAM), so RAM footprint would be smaller.
bytes since reloc fixup functions in board_init_r would not be needed any more.
Sounds good. And we can easy test this, by defining CONFIG_RELOC_FIXUP_WORKS for all arm boards ...
I'll check that.
And I am willing to test your efforts on AT91 here, maybe you can send me the changes to .lds and start.S beforehand so I can see what type of relocation info gets produced here.
I'll post an RFC patch within one or two hours.
Thanks! I am wating for it, and try your patches too.
Testing on the board right now.
bye, Heiko
Amicalement,