Fix the build failure when perf jit is enabled
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
The build is broken with:
{anonymous}::PerfJITEventListener::notifyObjectLoaded(llvm::JITEventListener::ObjectKey, const llvm::object::ObjectFile&, const llvm::RuntimeDyld::LoadedObjectInfo&)': /build/llvm-toolchain-snapshot-9~svn355786/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp:274:55: error: no matching function for call to 'llvm::DIContext::getLineInfoForAddressRange(uint64_t&, uint64_t&, llvm::DILineInfoSpecifier::FileLineInfoKind)' Addr, Size, FileLineInfoKind::AbsoluteFilePath); ^ In file included from /build/llvm-toolchain-snapshot-9~svn355786/include/llvm/DebugInfo/DWARF/DWARFContext.h:18:0, from /build/llvm-toolchain-snapshot-9~svn355786/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp:20: /build/llvm-toolchain-snapshot-9~svn355786/include/llvm/DebugInfo/DIContext.h:209:27: note: candidate: virtual llvm::DILineInfoTable llvm::DIContext::getLineInfoForAddressRange(llvm::object::SectionedAddress, uint64_t, llvm::DILineInfoSpecifier) virtual DILineInfoTable getLineInfoForAddressRange( ^~~~~~~~~~~~~~~~~~~~~~~~~~ /build/llvm-toolchain-snapshot-9~svn355786/include/llvm/DebugInfo/DIContext.h:209:27: note: no known conversion for argument 1 from 'uint64_t {aka long unsigned int}' to 'llvm::object::SectionedAddress'
Comment Actions
Oh I missed perf jit case, excuse me...
Could you set SectionIndex also, please ? The same way how it is done in https://reviews.llvm.org/D58959 :
uint64_t SectionIndex = object::SectionedAddress::UndefSection; if (auto SectOrErr = Sym.getSection()) if (*SectOrErr != Obj.section_end()) SectionIndex = SectOrErr.get()->getIndex(); DILineInfoTable Lines = Context->getLineInfoForAddressRange( {*AddrOrErr, SectionIndex}, Size, FileLineInfoKind::AbsoluteFilePath);
Comment Actions
This looks OK for me(taking into account the comment). Let final approve would be done by David, since He reviewed original patch.
David, Is it OK for you ?
lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp | ||
---|---|---|
270 ↗ | (On Diff #190454) | above two lines are not necessary. |
Comment Actions
Friendly ping, @sylvestre.ledru! I'm also experiencing this build error. It looks like other diffs have been submitted to fix this, such as https://reviews.llvm.org/D59162, but it was abandoned in favor of this patch. It'd be great if you could commit this one.