[U-Boot] Relocation size penalty calculation

Graeme Russ graeme.russ at gmail.com
Thu Oct 8 13:54:40 CEST 2009


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

Have any metrics been done for PPC?

Regards,

Graeme


More information about the U-Boot mailing list