[Lldb-commits] [lldb] r363373 - DWARFIndex: s/ReportInvalidDIEOffset/ReportInvalidDIERef
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Fri Jun 14 05:01:19 PDT 2019
Author: labath
Date: Fri Jun 14 05:01:18 2019
New Revision: 363373
URL: http://llvm.org/viewvc/llvm-project?rev=363373&view=rev
Log:
DWARFIndex: s/ReportInvalidDIEOffset/ReportInvalidDIERef
In a dwo/debug_types world, the die offset is not enough to uniquely
idendify a debug info entry. Pass the the entire DIERef object instead.
This is technically NFC, because only AppleIndex implemented this
method (and there, the die offset *is* enough for unique
identification). However, this makes the code simpler, and simplifies
some of the follow-up patches.
Modified:
lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
lldb/trunk/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp?rev=363373&r1=363372&r2=363373&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp Fri Jun 14 05:01:18 2019
@@ -155,12 +155,12 @@ void AppleDWARFIndex::GetFunctions(const
DWARFMappedHash::ExtractDIEArray(hash_data, offsets);
}
-void AppleDWARFIndex::ReportInvalidDIEOffset(dw_offset_t offset,
- llvm::StringRef name) {
+void AppleDWARFIndex::ReportInvalidDIERef(const DIERef &ref,
+ llvm::StringRef name) {
m_module.ReportErrorIfModifyDetected(
"the DWARF debug information has been modified (accelerator table had "
"bad die 0x%8.8x for '%s')\n",
- offset, name.str().c_str());
+ ref.die_offset, name.str().c_str());
}
void AppleDWARFIndex::Dump(Stream &s) {
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h?rev=363373&r1=363372&r2=363373&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h Fri Jun 14 05:01:18 2019
@@ -48,8 +48,7 @@ public:
std::vector<DWARFDIE> &dies) override;
void GetFunctions(const RegularExpression ®ex, DIEArray &offsets) override;
- void ReportInvalidDIEOffset(dw_offset_t offset,
- llvm::StringRef name) override;
+ void ReportInvalidDIERef(const DIERef &ref, llvm::StringRef name) override;
void Dump(Stream &s) override;
private:
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp?rev=363373&r1=363372&r2=363373&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp Fri Jun 14 05:01:18 2019
@@ -24,7 +24,7 @@ void DWARFIndex::ProcessFunctionDIE(llvm
std::vector<DWARFDIE> &dies) {
DWARFDIE die = info.GetDIE(ref);
if (!die) {
- ReportInvalidDIEOffset(ref.die_offset, name);
+ ReportInvalidDIERef(ref, name);
return;
}
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.h?rev=363373&r1=363372&r2=363373&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.h (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFIndex.h Fri Jun 14 05:01:18 2019
@@ -47,8 +47,7 @@ public:
virtual void GetFunctions(const RegularExpression ®ex,
DIEArray &offsets) = 0;
- virtual void ReportInvalidDIEOffset(dw_offset_t offset,
- llvm::StringRef name) = 0;
+ virtual void ReportInvalidDIERef(const DIERef &ref, llvm::StringRef name) = 0;
virtual void Dump(Stream &s) = 0;
protected:
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h?rev=363373&r1=363372&r2=363373&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h Fri Jun 14 05:01:18 2019
@@ -41,8 +41,7 @@ public:
void GetFunctions(const RegularExpression ®ex,
DIEArray &offsets) override;
- void ReportInvalidDIEOffset(dw_offset_t offset,
- llvm::StringRef name) override {}
+ void ReportInvalidDIERef(const DIERef &ref, llvm::StringRef name) override {}
void Dump(Stream &s) override;
private:
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h?rev=363373&r1=363372&r2=363373&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h Fri Jun 14 05:01:18 2019
@@ -39,8 +39,7 @@ public:
std::vector<DWARFDIE> &dies) override;
void GetFunctions(const RegularExpression ®ex, DIEArray &offsets) override;
- void ReportInvalidDIEOffset(dw_offset_t offset,
- llvm::StringRef name) override {}
+ void ReportInvalidDIERef(const DIERef &ref, llvm::StringRef name) override {}
void Dump(Stream &s) override;
private:
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp?rev=363373&r1=363372&r2=363373&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Fri Jun 14 05:01:18 2019
@@ -2064,8 +2064,7 @@ uint32_t SymbolFileDWARF::FindGlobalVari
} break;
}
} else {
- m_index->ReportInvalidDIEOffset(die_ref.die_offset,
- name.GetStringRef());
+ m_index->ReportInvalidDIERef(die_ref, name.GetStringRef());
}
}
}
@@ -2128,7 +2127,7 @@ uint32_t SymbolFileDWARF::FindGlobalVari
if (variables.GetSize() - original_size >= max_matches)
break;
} else
- m_index->ReportInvalidDIEOffset(die_ref.die_offset, regex.GetText());
+ m_index->ReportInvalidDIERef(die_ref, regex.GetText());
}
}
@@ -2312,7 +2311,7 @@ uint32_t SymbolFileDWARF::FindFunctions(
for (DIERef ref : offsets) {
DWARFDIE die = info->GetDIE(ref);
if (!die) {
- m_index->ReportInvalidDIEOffset(ref.die_offset, regex.GetText());
+ m_index->ReportInvalidDIERef(ref, regex.GetText());
continue;
}
if (resolved_dies.insert(die.GetDIE()).second)
@@ -2415,8 +2414,7 @@ uint32_t SymbolFileDWARF::FindTypes(
break;
}
} else {
- m_index->ReportInvalidDIEOffset(die_ref.die_offset,
- name.GetStringRef());
+ m_index->ReportInvalidDIERef(die_ref, name.GetStringRef());
}
}
const uint32_t num_matches = types.GetSize() - initial_types_size;
@@ -2494,8 +2492,7 @@ size_t SymbolFileDWARF::FindTypes(const
++num_matches;
}
} else {
- m_index->ReportInvalidDIEOffset(die_ref.die_offset,
- name.GetStringRef());
+ m_index->ReportInvalidDIERef(die_ref, name.GetStringRef());
}
}
return num_matches;
@@ -2540,8 +2537,7 @@ SymbolFileDWARF::FindNamespace(ConstStri
break;
}
} else {
- m_index->ReportInvalidDIEOffset(die_ref.die_offset,
- name.GetStringRef());
+ m_index->ReportInvalidDIERef(die_ref, name.GetStringRef());
}
}
}
@@ -2751,8 +2747,7 @@ TypeSP SymbolFileDWARF::FindCompleteObjC
}
}
} else {
- m_index->ReportInvalidDIEOffset(die_ref.die_offset,
- type_name.GetStringRef());
+ m_index->ReportInvalidDIERef(die_ref, type_name.GetStringRef());
}
}
}
@@ -2959,8 +2954,7 @@ TypeSP SymbolFileDWARF::FindDefinitionTy
}
}
} else {
- m_index->ReportInvalidDIEOffset(die_ref.die_offset,
- type_name.GetStringRef());
+ m_index->ReportInvalidDIERef(die_ref, type_name.GetStringRef());
}
}
}
@@ -3127,7 +3121,7 @@ size_t SymbolFileDWARF::ParseVariablesFo
++vars_added;
}
} else
- m_index->ReportInvalidDIEOffset(die_ref.die_offset, "");
+ m_index->ReportInvalidDIERef(die_ref, "");
}
}
}
More information about the lldb-commits
mailing list