[llvm-symbolizer] Add legacy aliases -demangle=true and -demangle=false.
authorBenjamin Kramer <benny.kra@googlemail.com>
Wed, 5 Aug 2020 10:03:30 +0000 (12:03 +0200)
committerBenjamin Kramer <benny.kra@googlemail.com>
Wed, 5 Aug 2020 10:07:46 +0000 (12:07 +0200)
This is used in the wild, don't break compatibility for no good reason.
https://github.com/google/pprof/blob/master/internal/binutils/addr2liner_llvm.go

llvm/test/tools/llvm-symbolizer/demangle.s
llvm/tools/llvm-symbolizer/Opts.td

index 14156bf..f4327bd 100644 (file)
@@ -31,5 +31,11 @@ _Z1cv:
 # RUN: llvm-addr2line -fCe %t.o 0 \
 # RUN:    | FileCheck %s --check-prefix=DEMANGLED_FUNCTION_NAME
 
+# pprof passes -demangle=false
+# RUN: llvm-symbolizer -demangle=false --obj %t.o 0 \
+# RUN:    | FileCheck %s --check-prefix=MANGLED_FUNCTION_NAME
+# RUN: llvm-symbolizer -demangle=true --obj %t.o 0 \
+# RUN:    | FileCheck %s --check-prefix=DEMANGLED_FUNCTION_NAME
+
 # MANGLED_FUNCTION_NAME: _Z1cv
 # DEMANGLED_FUNCTION_NAME: c()
index 66b3892..8be5509 100644 (file)
@@ -62,3 +62,6 @@ def : Flag<["-"], "s">, Alias<basenames>, HelpText<"Alias for --basenames">;
 // Compatibility aliases for old asan_symbolize.py and sanitizer binaries (before 2020-08).
 def : Flag<["--"], "inlining=true">, Alias<inlines>, HelpText<"Alias for --inlines">;
 def : Flag<["--"], "inlining=false">, Alias<no_inlines>, HelpText<"Alias for --no-inlines">;
+// Compatibility aliases for pprof's symbolizer.
+def : Flag<["-"], "demangle=true">, Alias<demangle>, HelpText<"Alias for --demangle">;
+def : Flag<["-"], "demangle=false">, Alias<no_demangle>, HelpText<"Alias for --no-demangle">;