On Fri, Oct 9, 2009 at 9:27 AM, J. William Campbell <jwilliamcampb...@comcast.net> wrote: > Graeme Russ wrote: >> >> On Fri, Oct 9, 2009 at 2:58 AM, J. William Campbell >> <jwilliamcampb...@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 :( >> > > Hi Graeme, > You are unfortunately correct. However, I wonder if we can get > essentially the same result by executing the final ld step with the > --emit-relocs switch included. This may also include some "extra" sections > that we would want to strip out, but if it works, it could give all > ELF-based systems a way to a relocatable u-boot. >
I don't think --emit-relocs is necessary with -pic. I haven't gone through all the permutations to see if there is a smaller option, but gcc -fpic and ld -pie creates enough information to perform relocation on the x86 platform Regards, Graeme > Best Regards, > Bill Campbell > ** >> >> >>> >>> 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 >> >> >> > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot