diff options
| author | 2019-01-27 16:42:12 +0000 | |
|---|---|---|
| committer | 2019-01-27 16:42:12 +0000 | |
| commit | b773203fb58f3ef282fb69c832d8710cab5bc82d (patch) | |
| tree | e75913f147570fbd75169647b144df85b88a038c /gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | |
| parent | tweak errno in previous (diff) | |
| download | wireguard-openbsd-b773203fb58f3ef282fb69c832d8710cab5bc82d.tar.xz wireguard-openbsd-b773203fb58f3ef282fb69c832d8710cab5bc82d.zip | |
Import LLVM 7.0.1 release including clang, lld and lldb.
Diffstat (limited to 'gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
| -rw-r--r-- | gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp index b51ec513f23..6d40a540350 100644 --- a/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/gnu/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -22,10 +22,8 @@ #include "llvm/Support/CommandLine.h" #include "llvm/Support/Debug.h" #include "llvm/Support/FileSystem.h" -#include "llvm/Support/ManagedStatic.h" +#include "llvm/Support/InitLLVM.h" #include "llvm/Support/Path.h" -#include "llvm/Support/PrettyStackTrace.h" -#include "llvm/Support/Signals.h" #include "llvm/Support/raw_ostream.h" #include <cstdio> #include <cstring> @@ -103,24 +101,19 @@ static bool error(Expected<T> &ResOrErr) { static bool parseCommand(StringRef InputString, bool &IsData, std::string &ModuleName, uint64_t &ModuleOffset) { - const char *kDataCmd = "DATA "; - const char *kCodeCmd = "CODE "; const char kDelimiters[] = " \n\r"; - IsData = false; ModuleName = ""; - const char *pos = InputString.data(); - if (strncmp(pos, kDataCmd, strlen(kDataCmd)) == 0) { - IsData = true; - pos += strlen(kDataCmd); - } else if (strncmp(pos, kCodeCmd, strlen(kCodeCmd)) == 0) { + if (InputString.consume_front("CODE ")) { IsData = false; - pos += strlen(kCodeCmd); + } else if (InputString.consume_front("DATA ")) { + IsData = true; } else { // If no cmd, assume it's CODE. IsData = false; } + const char *pos = InputString.data(); // Skip delimiters and parse input filename (if needed). - if (ClBinaryName == "") { + if (ClBinaryName.empty()) { pos += strspn(pos, kDelimiters); if (*pos == '"' || *pos == '\'') { char quote = *pos; @@ -145,10 +138,7 @@ static bool parseCommand(StringRef InputString, bool &IsData, } int main(int argc, char **argv) { - // Print stack trace if we signal out. - sys::PrintStackTraceOnErrorSignal(argv[0]); - PrettyStackTraceProgram X(argc, argv); - llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. + InitLLVM X(argc, argv); llvm::sys::InitializeCOMRAII COM(llvm::sys::COMThreadingMode::MultiThreaded); @@ -188,7 +178,7 @@ int main(int argc, char **argv) { if (ClPrintAddress) { outs() << "0x"; outs().write_hex(ModuleOffset); - StringRef Delimiter = (ClPrettyPrint == true) ? ": " : "\n"; + StringRef Delimiter = ClPrettyPrint ? ": " : "\n"; outs() << Delimiter; } if (IsData) { |
