Fix asansymbolizer's demangle problem. PROBLEM: It's passing --demangle=True to the llvm symbolizer but some recent change made it so that is invalid. FIX: pass --demangle or --no-demangle instead. https://crrev.com/c/2436306 attempted to just update tools/valgrind/asan/third_party/asan_symbolize.py but that requires a lot of fixes to tools/valgrind/asan/asan_symbolize.py to work. So this is a temporary fix. Also I had to run git cl format and it changed some stuff. Bug: 1132789 Change-Id: I0358bfb49b1bd1370e607cf70d43a2f6a7ea11af Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2437085 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Fergal Daly <fergal@chromium.org> Auto-Submit: Fergal Daly <fergal@chromium.org> Cr-Commit-Position: refs/heads/master@{#814031} GitOrigin-RevId: b40b3733028eb4f5c19e86bcd1e8b07c0beefd99
diff --git a/asan/third_party/asan_symbolize.py b/asan/third_party/asan_symbolize.py index c4ed545..f662a8b 100755 --- a/asan/third_party/asan_symbolize.py +++ b/asan/third_party/asan_symbolize.py
@@ -79,12 +79,15 @@ self.pipe = self.open_llvm_symbolizer() def open_llvm_symbolizer(self): - cmd = [self.symbolizer_path, - '--use-symbol-table=true', - '--demangle=%s' % demangle, - '--functions=linkage', - '--inlining=true', - '--default-arch=%s' % self.default_arch] + cmd = [ + self.symbolizer_path, + '--use-symbol-table=true', + # TODO(https://crbug.com/1132789) remove this temporary fix. + '--%sdemangle' % ("" if demangle else "no-"), + '--functions=linkage', + '--inlining=true', + '--default-arch=%s' % self.default_arch + ] if self.system == 'Darwin': for hint in self.dsym_hints: cmd.append('--dsym-hint=%s' % hint) @@ -399,7 +402,7 @@ use_new_symbolizer = bool(dsym_hints_for_binary - self.dsym_hints) self.dsym_hints |= dsym_hints_for_binary if self.last_llvm_symbolizer and not use_new_symbolizer: - self.llvm_symbolizers[binary] = self.last_llvm_symbolizer + self.llvm_symbolizers[binary] = self.last_llvm_symbolizer else: self.last_llvm_symbolizer = LLVMSymbolizerFactory( self.system, arch, self.dsym_hints)