[Lldb-commits] [lldb] 283658c - [lldb/DWARF] Remove dead code in DWARFDebugInfoEntry
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Mon May 4 06:37:39 PDT 2020
Author: Pavel Labath
Date: 2020-05-04T15:37:22+02:00
New Revision: 283658c978bbac433b41c3d0ca2a3290bd7da0a4
URL: https://github.com/llvm/llvm-project/commit/283658c978bbac433b41c3d0ca2a3290bd7da0a4
DIFF: https://github.com/llvm/llvm-project/commit/283658c978bbac433b41c3d0ca2a3290bd7da0a4.diff
LOG: [lldb/DWARF] Remove dead code in DWARFDebugInfoEntry
The dumping code is not used by anyone, and is a source of
inconsistencies with the llvm dwarf parser, as dumping is implemented at
a different level (DWARFDie) there.
Added:
Modified:
lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
Removed:
################################################################################
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
index 3b5224cae7b2..7b96c15bf3f9 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
@@ -395,145 +395,6 @@ bool DWARFDebugInfoEntry::GetDIENamesAndRanges(
return !ranges.IsEmpty();
}
-// Dump
-//
-// Dumps a debug information entry and all of it's attributes to the specified
-// stream.
-void DWARFDebugInfoEntry::Dump(const DWARFUnit *cu, Stream &s,
- uint32_t recurse_depth) const {
- const DWARFDataExtractor &data = cu->GetData();
- lldb::offset_t offset = m_offset;
-
- if (data.ValidOffset(offset)) {
- dw_uleb128_t abbrCode = data.GetULEB128(&offset);
-
- s.Printf("\n0x%8.8x: ", m_offset);
- s.Indent();
- if (abbrCode != m_abbr_idx) {
- s.Printf("error: DWARF has been modified\n");
- } else if (abbrCode) {
- const auto *abbrevDecl = GetAbbreviationDeclarationPtr(cu);
- if (abbrevDecl) {
- s.PutCString(DW_TAG_value_to_name(abbrevDecl->Tag()));
- s.Printf(" [%u] %c\n", abbrCode, abbrevDecl->HasChildren() ? '*' : ' ');
-
- // Dump all data in the .debug_info/.debug_types for the attributes
- const uint32_t numAttributes = abbrevDecl->NumAttributes();
- for (uint32_t i = 0; i < numAttributes; ++i) {
- DWARFFormValue form_value(cu);
- dw_attr_t attr;
- abbrevDecl->GetAttrAndFormValueByIndex(i, attr, form_value);
-
- DumpAttribute(cu, data, &offset, s, attr, form_value);
- }
-
- const DWARFDebugInfoEntry *child = GetFirstChild();
- if (recurse_depth > 0 && child) {
- s.IndentMore();
-
- while (child) {
- child->Dump(cu, s, recurse_depth - 1);
- child = child->GetSibling();
- }
- s.IndentLess();
- }
- } else
- s.Printf("Abbreviation code note found in 'debug_abbrev' class for "
- "code: %u\n",
- abbrCode);
- } else {
- s.Printf("NULL\n");
- }
- }
-}
-
-// DumpAttribute
-//
-// Dumps a debug information entry attribute along with it's form. Any special
-// display of attributes is done (disassemble location lists, show enumeration
-// values for attributes, etc).
-void DWARFDebugInfoEntry::DumpAttribute(
- const DWARFUnit *cu, const DWARFDataExtractor &data,
- lldb::offset_t *offset_ptr, Stream &s, dw_attr_t attr,
- DWARFFormValue &form_value) {
- bool show_form = s.GetFlags().Test(DWARFDebugInfo::eDumpFlag_ShowForm);
-
- s.Printf(" ");
- s.Indent(DW_AT_value_to_name(attr));
-
- if (show_form) {
- s.Printf("[%s", DW_FORM_value_to_name(form_value.Form()));
- }
-
- if (!form_value.ExtractValue(data, offset_ptr))
- return;
-
- if (show_form) {
- if (form_value.Form() == DW_FORM_indirect) {
- s.Printf(" [%s]", DW_FORM_value_to_name(form_value.Form()));
- }
-
- s.PutCString("] ");
- }
-
- s.PutCString("( ");
-
- // Check to see if we have any special attribute formatters
- switch (attr) {
- case DW_AT_stmt_list:
- s.Printf("0x%8.8" PRIx64, form_value.Unsigned());
- break;
-
- case DW_AT_language:
- s.PutCString(DW_LANG_value_to_name(form_value.Unsigned()));
- break;
-
- case DW_AT_encoding:
- s.PutCString(DW_ATE_value_to_name(form_value.Unsigned()));
- break;
-
- case DW_AT_frame_base:
- case DW_AT_location:
- case DW_AT_data_member_location: {
- const uint8_t *blockData = form_value.BlockData();
- if (blockData) {
- // Location description is inlined in data in the form value
- DWARFDataExtractor locationData(data,
- (*offset_ptr) - form_value.Unsigned(),
- form_value.Unsigned());
- DWARFExpression::PrintDWARFExpression(
- s, locationData, DWARFUnit::GetAddressByteSize(cu), 4, false);
- } else {
- // We have a location list offset as the value that is the offset into
- // the .debug_loc section that describes the value over it's lifetime
- uint64_t debug_loc_offset = form_value.Unsigned();
- DWARFExpression::PrintDWARFLocationList(s, cu, cu->GetLocationData(),
- debug_loc_offset);
- }
- } break;
-
- case DW_AT_abstract_origin:
- case DW_AT_specification: {
- DWARFDIE abstract_die = form_value.Reference();
- form_value.Dump(s);
- // *ostrm_ptr << HEX32 << abstract_die.GetOffset() << " ( ";
- abstract_die.GetName(s);
- } break;
-
- case DW_AT_type: {
- DWARFDIE type_die = form_value.Reference();
- s.PutCString(" ( ");
- type_die.AppendTypeName(s);
- s.PutCString(" )");
- } break;
-
- default:
- break;
- }
-
- s.PutCString(" )\n");
-}
-
// Get all attribute values for a given DIE, including following any
// specification or abstract origin attributes and including those in the
// results. Any duplicate attributes will have the first instance take
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
index ca2dbd8a6bc0..3fb9c9135e85 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
@@ -99,15 +99,6 @@ class DWARFDebugInfoEntry {
const char *GetQualifiedName(DWARFUnit *cu, const DWARFAttributes &attributes,
std::string &storage) const;
- void Dump(const DWARFUnit *cu, lldb_private::Stream &s,
- uint32_t recurse_depth) const;
-
- static void
- DumpAttribute(const DWARFUnit *cu,
- const lldb_private::DWARFDataExtractor &data,
- lldb::offset_t *offset_ptr, lldb_private::Stream &s,
- dw_attr_t attr, DWARFFormValue &form_value);
-
bool GetDIENamesAndRanges(
DWARFUnit *cu, const char *&name, const char *&mangled,
DWARFRangeList &rangeList, int &decl_file, int &decl_line,
More information about the lldb-commits
mailing list