[U-Boot] ARM relocation, question to Heiko

Albert ARIBAUD albert.aribaud at free.fr
Mon Oct 4 11:27:12 CEST 2010


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.


More information about the U-Boot mailing list