[Lldb-commits] [PATCH] D113821: [LLDB][NativePDB] Fix image lookup by address
Zequan Wu via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Nov 15 11:55:49 PST 2021
zequanwu updated this revision to Diff 387348.
zequanwu marked an inline comment as done.
zequanwu added a comment.
Use `/base:0x400000` in test case.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113821/new/
https://reviews.llvm.org/D113821
Files:
lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
lldb/test/Shell/SymbolFile/NativePDB/lookup-by-address.cpp
Index: lldb/test/Shell/SymbolFile/NativePDB/lookup-by-address.cpp
===================================================================
--- /dev/null
+++ lldb/test/Shell/SymbolFile/NativePDB/lookup-by-address.cpp
@@ -0,0 +1,13 @@
+// clang-format off
+// REQUIRES: lld, x86
+
+// RUN: %clang_cl --target=x86_64-windows-msvc -Od -Z7 -GR- -c /Fo%t.obj -- %s
+// RUN: lld-link -debug:full -nodefaultlib -entry:main %t.obj -base:0x400000 -out:%t.exe -pdb:%t.pdb
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -O "target create %t.exe" -o "image lookup -a 0x401000" -o "exit" | FileCheck %s --check-prefix=ADDRESS
+int main(int argc, char **argv) {
+ return 0;
+}
+
+// ADDRESS: image lookup -a 0x401000
+// ADDRESS: Address: lookup-by-address.cpp.tmp.exe[0x{{[0]+}}401000] (lookup-by-address.cpp.tmp.exe..text
+// ADDRESS: Summary: lookup-by-address.cpp.tmp.exe`main at lookup-by-address.cpp:7
Index: lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+++ lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
@@ -945,11 +945,11 @@
llvm::Optional<uint16_t> modi = m_index->GetModuleIndexForVa(file_addr);
if (!modi)
return 0;
- CompilandIndexItem *cci = m_index->compilands().GetCompiland(*modi);
- if (!cci)
+ CompUnitSP cu_sp = GetCompileUnitAtIndex(modi.getValue());
+ if (!cu_sp)
return 0;
- sc.comp_unit = GetOrCreateCompileUnit(*cci).get();
+ sc.comp_unit = cu_sp.get();
resolved_flags |= eSymbolContextCompUnit;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113821.387348.patch
Type: text/x-patch
Size: 1633 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20211115/99367e4a/attachment-0001.bin>
More information about the lldb-commits
mailing list