Re: [BUG] perf tools: Demangle kernel and kernel module symbols too

From: Avi Kivity
Date: Sun Sep 14 2014 - 13:08:41 EST



On 09/14/2014 12:41 PM, Peter Zijlstra wrote:
On Sat, Sep 13, 2014 at 06:34:37AM +0300, Avi Kivity wrote:

It's not a simple matter of updating the test: the demangler interprets name
beginning with __vt as C++ mangles names, which of course they aren't.
Oh, that'll give cute 'problems' in a mixed C/C++ project that just
happens to have __vt names in. Now of course I'm aware that C/C++
'reserve' the __ prefix, which I suppose that makes it less likely in
practise.

If you have clashes there, perf demangling is the least of your worries.

The only way I see to proceed is to make the demangling optional, default
off.
Seems like a good way out, we could think about adding a language
heuristic that tries and guess the target language and auto enables when
it guesses C++, but that needs to have overrides as well.

It should be easy to look for common C++ mangled name
prefixes and use that as a guess, but I expect that users
who profile C++ guest kernels (or kernel modules) are
capable of adding the switch themselves.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/