summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
diff options
context:
space:
mode:
authorPetr Hosek <phosek@google.com>2019-12-18 10:19:47 -0800
committerPetr Hosek <phosek@google.com>2019-12-20 12:47:27 -0800
commitdedad08ee8e69129a1f6ac104e34960b50c94d94 (patch)
tree100fe9ad87882a9bd6047290208908c3d29269a1 /llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
parentddf897fc80499ece298bc33201db6b697d2af50e (diff)
downloadbcm5719-llvm-dedad08ee8e69129a1f6ac104e34960b50c94d94.tar.gz
bcm5719-llvm-dedad08ee8e69129a1f6ac104e34960b50c94d94.zip
[llvm-symbolizer] Support reading options from environment
llvm-symbolizer is used by sanitizers to symbolize errors discovered by sanitizer, but there's no way to pass options to llvm-symbolizer since the tool is invoked directly by the sanitizer runtime. Therefore, we don't have a way to pass options needed to find debug symbols such as -dsym-hint or -debug-file-directory. This change enables reading options from the LLVM_SYMBOLIZER_OPTS in addition to command line which can be used to pass those additional options to llvm-symbolizer invocations made by sanitizer runtime. Differential Revision: https://reviews.llvm.org/D71668
Diffstat (limited to 'llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r--llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
index c9bc0309a65..45c845ac26e 100644
--- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -289,8 +289,10 @@ int main(int argc, char **argv) {
}
llvm::sys::InitializeCOMRAII COM(llvm::sys::COMThreadingMode::MultiThreaded);
- cl::ParseCommandLineOptions(argc, argv, IsAddr2Line ? "llvm-addr2line\n"
- : "llvm-symbolizer\n");
+ cl::ParseCommandLineOptions(
+ argc, argv, IsAddr2Line ? "llvm-addr2line\n" : "llvm-symbolizer\n",
+ /*Errs=*/nullptr,
+ IsAddr2Line ? "LLVM_ADDR2LINE_OPTS" : "LLVM_SYMBOLIZER_OPTS");
// If both --demangle and --no-demangle are specified then pick the last one.
if (ClNoDemangle.getPosition() > ClDemangle.getPosition())
OpenPOWER on IntegriCloud