[U-Boot] Relocation size penalty calculation

Graeme Russ graeme.russ at gmail.com
Thu Oct 8 22:58:05 CEST 2009


On Fri, Oct 9, 2009 at 2:58 AM, J. William Campbell
<jwilliamcampbell at comcast.net> wrote:
> Graeme Russ wrote:
>>
>> Out of curiosity, I wanted to see just how much of a size penalty I am
>> incurring by using gcc -fpic / ld -pic on my x86 u-boot build. Here are
>> the results (fixed width font will help - its space, not tab, formatted):
>>
>> Section             non-reloc     reloc
>> ---------------------------------------
>> .text                000118c4  000137fc <- 0x1f38 bytes (~8kB) bigger
>> .rodata              00005bad  000059d0
>> .interp              n/a       00000013
>> .dynstr              n/a       00000648
>> .hash                n/a       00000428
>> .eh_frame            00003268  000034fc
>> .data                00000a6c  000001dc
>> .data.rel            n/a       00000098
>> .data.rel.ro.local   n/a       00000178
>> .data.rel.local      n/a       000007e4
>> .got                 00000000  000001f0
>> .got.plt             n/a       0000000c
>> .rel.got             n/a       000003e0
>> .rel.dyn             n/a       00001228
>> .dynsym              n/a       00000850
>> .dynamic             n/a       00000080
>> .u_boot_cmd          000003c0  000003c0
>> .bss                 00001a34  00001a34
>> .realmode            00000166  00000166
>> .bios                0000053e  0000053e
>> =======================================
>> Total                0001d5dd  00022287 <- 0x4caa bytes (~19kB) bigger
>>
>> Its more than a 16% increase in size!!!
>>
>> .text accounts for a little under half of the total bloat, and of that,
>> the crude dynamic loader accounts for only 341 bytes
>>
>
> Hi Graeme,
>      I would be interested in a third option (column), the x86 build with
> just -mrelocateable but NOT -fpic. It will not be definitive because there
> will be extra code that references the GOT and missing code to do some of
> the relocation, but it would still be interesting.

x86 does not have -mrelocatable. This is a PPC only option :(


>
> Best Regards,
> Bill Campbell
>>
>> Have any metrics been done for PPC?
>>
>> Regards,
>>
>> Graeme

Once the reloc branch has been merged, how many arches are left which do
not support relocation?

Regards,

Graeme


More information about the U-Boot mailing list