[U-Boot] ARM relocation, question to Heiko

Albert ARIBAUD
2010-10-04T09:27:12Z

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,
--
Albert.