[Lldb-commits] [PATCH] D107153: [nfc] [osx] [lldb] Simplify code using GetDebugMapSymfile()

Jan Kratochvil via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Jul 30 04:57:23 PDT 2021


jankratochvil created this revision.
jankratochvil added reviewers: clayborg, Eric, dblaikie.
jankratochvil added a project: LLDB.
Herald added a subscriber: JDevlieghere.
jankratochvil requested review of this revision.

In D100299 <https://reviews.llvm.org/D100299> I was not sure what can happen if `dwarf_cu.GetOffset() != 0 && GetDebugMapSymfile()` as there is:

  if (dwarf_cu.GetOffset() == 0 && GetDebugMapSymfile()) {

@clayborg added in 2006-03-30 <https://github.com/llvm/llvm-project/commit/2f869fe9d27c3364ba778701c84c4ad964770a1b#diff-edef3a65d5d569bbb75a4158d35b827aa5d42ee03ccd3b0c1d4f354afa12210cR885> the part `dwarf_cu.GetOffset() == 0 && ` at this line <https://github.com/llvm/llvm-project/blob/2f869fe9d27c3364ba778701c84c4ad964770a1b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp#L885>.
Is this patch simplification OK?


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D107153

Files:
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp


Index: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -705,7 +705,13 @@
     // We already parsed this compile unit, had out a shared pointer to it
     cu_sp = comp_unit->shared_from_this();
   } else {
-    if (dwarf_cu.GetOffset() == 0 && GetDebugMapSymfile()) {
+    if (GetDebugMapSymfile()) {
+      if (dwarf_cu.GetOffset() != 0) {
+        Log *log = LogChannelDWARF::GetLogIfAll(DWARF_LOG_DEBUG_INFO);
+        LLDB_LOG(log, "DebugMap cannot address DWARF file CU offset 0x%x",
+                 dwarf_cu.GetOffset());
+        return {};
+      }
       // Let the debug map create the compile unit
       cu_sp = m_debug_map_symfile->GetCompileUnit(this);
       dwarf_cu.SetUserData(cu_sp.get());
@@ -732,8 +738,6 @@
 
           // If there is no DWO, there is no reason to initialize
           // lazily; we will do eager initialization in that case.
-          if (GetDebugMapSymfile())
-            return false;
           const DWARFBaseDIE cu_die = dwarf_cu.GetUnitDIEOnly();
           if (!cu_die)
             return false;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107153.363034.patch
Type: text/x-patch
Size: 1250 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210730/26fe8419/attachment.bin>


More information about the lldb-commits mailing list