On Thu, 2012-08-16 at 15:17 +0200, Geert Uytterhoeven wrote:
> In v3.6-rc1 UML, I see spurious "^A" (ASCII 1, SOH) characters in some kernel
> messages:
> 
> Calibrating delay loop... 4640.76 BogoMIPS (lpj=23203840)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 256
> ^AChecking that host ptys support output SIGIO...Yes
> ^AChecking that host ptys support SIGIO on close...No, enabling workaround
> ^AUsing 2.6 host AIO
> NET: Registered protocol family 16
> bio: create slab <bio-0> at 0
> Switching to clocksource itimer
> 
> This happens for all output using the "printk(UM_KERN_XXX ...)" idiom.

Were these emitted with "KERN_<LEVEL>" string constants
before this change (not <[0-7]>", but the string text
KERN_INFO, KERN_WARNING, etc...)?

> The "UM_KERN_XXX" defines are generated from the KERN_XXX defines in
> arch/um/include/shared/common-offsets.h using:
> 
> DEFINE_STR(UM_KERN_EMERG, KERN_EMERG);
[]
> I.e. only the SOH character is retained in the actual define, the remainder 
> ends
> up in the comment.
> 
> Apparently the combo of DEFINE_STR() in
> arch/x86/um/shared/sysdep/kernel-offsets.h
> and sed-y in Kbuild doesn't support string constants consisting of
> multiple parts.
> 
> A quick fix is the (whitespace-damaged) patch below, but this would reduce
> readability. And I'm afraid my sed-foo is not good enough to fix it better.
> Any takers?

Perhaps it's better to change the um STR macro instead

$ git grep -w DEFINE_STR
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_EMERG, KERN_EMERG);
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_ALERT, KERN_ALERT);
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_CRIT, KERN_CRIT);
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_ERR, KERN_ERR);
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_WARNING, 
KERN_WARNING);
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_NOTICE, KERN_NOTICE);
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_INFO, KERN_INFO);
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_DEBUG, KERN_DEBUG);
arch/um/include/shared/common-offsets.h:DEFINE_STR(UM_KERN_CONT, KERN_CONT);
arch/x86/um/shared/sysdep/kernel-offsets.h:#define DEFINE_STR(sym, val) asm 
volatile("\n->" #sym " " STR(val) " " #val: : )

$ git grep -w STR arch/x86/um/shared/
arch/x86/um/shared/sysdep/kernel-offsets.h:#define STR(x) #x
arch/x86/um/shared/sysdep/kernel-offsets.h:#define DEFINE_STR(sym, val) asm 
volatile("\n->" #sym " " STR(val) " " #val: : )



------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to