summaryrefslogtreecommitdiff
path: root/tools/llvm-readobj/COFFDumper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-readobj/COFFDumper.cpp')
-rw-r--r--tools/llvm-readobj/COFFDumper.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp
index 7b9595f84c..91f2a57dcc 100644
--- a/tools/llvm-readobj/COFFDumper.cpp
+++ b/tools/llvm-readobj/COFFDumper.cpp
@@ -849,11 +849,12 @@ void COFFDumper::printUnwindInfo() {
case COFF::IMAGE_FILE_MACHINE_AMD64: {
Win64EH::Dumper Dumper(W);
Win64EH::Dumper::SymbolResolver Resolver =
- [this](const object::coff_section *Section, uint64_t Offset,
- SymbolRef &Symbol) -> error_code {
- return this->resolveSymbol(Section, Offset, Symbol);
+ [](const object::coff_section *Section, uint64_t Offset,
+ SymbolRef &Symbol, void *user_data) -> error_code {
+ COFFDumper *Dumper = reinterpret_cast<COFFDumper*>(user_data);
+ return Dumper->resolveSymbol(Section, Offset, Symbol);
};
- Win64EH::Dumper::Context Ctx(*Obj, Resolver);
+ Win64EH::Dumper::Context Ctx(*Obj, Resolver, this);
Dumper.printData(Ctx);
break;
}