> -----Original Message----- > From: [email protected] [mailto:coreboot- > [email protected]] On Behalf Of Patrick Georgi > Sent: Monday, April 27, 2009 11:49 AM > To: [email protected] > Subject: [coreboot] [PATCH]More consistent behaviour for printk_* > > Hi, > > the attached patch make printk_* behaviour more consistent. Without it, > side > effects in the arguments (eg. a pci config read, or variable increment) > "vanish" with the message, and the behaviour changes. > > Example: > printk_info("foo %d\n", i++); > > Without this patch, this becomes (for suitable loglevels) > do {} while (0) > > With this patch, this will be: > do_printk(EMERG, "", i++); > > Some of these effects might be unwanted, but at least they are consistent > now. > For example, via c7 CAR failed for loglevel > 7 for various reasons (patch > upcoming). While it fails all the time now (this patch is no "magic fix"), > upcoming development is less likely to produce such "hidden surprises". > > To reduce the memory footprint slightly, the formatted strings are > discarded. > A simpler patch would be to just kill the whole "#if #undef #define > #endif"-
I like simple. > section, but then a lot of strings that never surface would be compiled in > (and I doubt the compiler is clever enough to figure that out) We discussed this recently for v3. Do you have a good idea of how much space this actually saves? > Signed-off-by: Patrick Georgi <[email protected]> Acked-by: Myles Watson <[email protected]> Thanks, Myles -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

