On Fri, Dec 06, 2013 at 12:19:45PM +0400, Dmitry Vyukov wrote:
> > And the reason why check-g++ tsan.exp fails even with this patch is
> > that apparently tsan doesn't try to demangle the symbol names, so we get
> > e.g.:
>
> Demangling must be done by the symbolizer.
> +samsonov for this
So why does asan_report.cc have then:
static const char *MaybeDemangleGlobalName(const char *name) {
// We can spoil names of globals with C linkage, so use an heuristic
// approach to check if the name should be demangled.
return (name[0] == '_' && name[1] == 'Z')
? Symbolizer::Get()->Demangle(name)
: name;
}
and uses it where it wants to demangle? From what I can see, even when
you are using llvm-symbolizer, sanitizer_common doesn't pass -demangle
option to it.
Jakub