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