
On Mon, Aug 06, 2012 at 11:15:25PM +0400, Ilya Yanok wrote:
Hi Tom,
On Mon, Aug 6, 2012 at 9:10 PM, Tom Rini trini@ti.com wrote:
OK, installed and it's still larger with this change than without and it's not garbage collecting and dropping commands if I un-guard the nandecc command for example. Tested with omap3_beagle.
Did some testing as well.
[snip]
My interpretation: first two builds are equal, that's to be expected as in mainline U-Boot all command definitions are carefully guarded so remove undef patch has no effect at all. You said in your testing patched version produced bigger image... Probably you patched it by hand without commiting and got "-dirty" difference? (I did so initially ;) )
That would be it, yes :)
Next, when we unguard the command we definitely get bigger image... But the code is not here:
$ arm-linux-gnueabi-nm ../out/undef+nandecc/spl/u-boot-spl |grep do_switch_ecc $
By comparing of two images I've found that the difference comes from ro-strings (two help strings in U_BOOT_CMD, string in printf, "sw" & "hw"). It looks like the linker doesn't collect ro-strings referenced from collected functions... Probably that's a bug but I'm not sure...
Yes. What I meant was that not all of the stuff that is guarded today is garbage collected so the resulting image is larger than it must be. And yes, this is a toolchain issue of sorts (not being aggressive enough in collecting unreferenced data).
Regards, Ilya.
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot