diff options
Diffstat (limited to 'llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
| -rw-r--r-- | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp index 0134f1c6a1e..15b2b9dddd4 100644 --- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -134,6 +134,11 @@ static cl::opt<int> ClPrintSourceContextLines( static cl::opt<bool> ClVerbose("verbose", cl::init(false), cl::desc("Print verbose line info")); +// -adjust-vma +static cl::opt<unsigned long long> + ClAdjustVMA("adjust-vma", cl::init(0), cl::value_desc("offset"), + cl::desc("Add specified offset to object file addresses")); + static cl::list<std::string> ClInputAddresses(cl::Positional, cl::desc("<input addresses>..."), cl::ZeroOrMore); @@ -201,6 +206,7 @@ static void symbolizeInput(StringRef InputString, LLVMSymbolizer &Symbolizer, StringRef Delimiter = ClPrettyPrint ? ": " : "\n"; outs() << Delimiter; } + ModuleOffset -= ClAdjustVMA; if (IsData) { auto ResOrErr = Symbolizer.symbolizeData(ModuleName, ModuleOffset); Printer << (error(ResOrErr) ? DIGlobal() : ResOrErr.get()); |

