
Dear Tom Rini,
On 09/18/12 11:33, Marek Vasut wrote:
Dear Scott Wood,
[snip]
I think I got some wires crossed and was thinking about printf/puts. We want those to be optimized away at compile time (not pointed to a stub at link time) on an SPL that has no output support, but once that's done the low level serial functions shouldn't be referenced anymore, right?
But if you point them to stubs, that's OK. The compiler will GC these useless stubs anyway. But wait, we're getting to LTO here, right?
So the safest bet really is macro in serial.h ?
Due to the gcc bug I've mentioned before, yes. Dummy functions will, I bet, keep the string constants around. do {} while(0) will drop them out entirely.
Damn, not much gain on m28evk (with C functionss/with macros), using gcc 4.7.1:
Configuring for m28evk board... text data bss dec hex filename 418994 7780 288632 715406 aea8e ./u-boot 11773 788 12 12573 311d ./spl/u-boot-spl
Configuring for m28evk board... text data bss dec hex filename 418998 7780 288628 715406 aea8e ./u-boot 11765 788 12 12565 3115 ./spl/u-boot-spl
Best regards, Marek Vasut