[LLDB] - Improved DWARF5 support.
This patch improves the support of DWARF5. Particularly the reporting of source code locations. Differential revision: https://reviews.llvm.org/D51935 llvm-svn: 342153
This commit is contained in:
@@ -19,6 +19,9 @@
|
||||
#include "DWARFDataExtractor.h"
|
||||
#include "DWARFDefines.h"
|
||||
|
||||
#include "llvm/Support/MD5.h"
|
||||
|
||||
class DWARFUnit;
|
||||
class SymbolFileDWARF;
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
@@ -36,6 +39,7 @@ public:
|
||||
dw_sleb128_t dir_idx;
|
||||
dw_sleb128_t mod_time;
|
||||
dw_sleb128_t length;
|
||||
llvm::MD5::MD5Result checksum;
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------
|
||||
@@ -55,6 +59,10 @@ public:
|
||||
// total_length field itself).
|
||||
uint16_t
|
||||
version; // Version identifier for the statement information format.
|
||||
|
||||
uint8_t address_size;
|
||||
uint8_t segment_selector_size;
|
||||
|
||||
uint32_t prologue_length; // The number of bytes following the
|
||||
// prologue_length field to the beginning of the
|
||||
// first byte of the statement program itself.
|
||||
@@ -201,14 +209,15 @@ public:
|
||||
const lldb_private::DWARFDataExtractor &debug_line_data,
|
||||
const lldb_private::FileSpec &cu_comp_dir,
|
||||
dw_offset_t stmt_list,
|
||||
lldb_private::FileSpecList &support_files);
|
||||
lldb_private::FileSpecList &support_files, DWARFUnit *dwarf_cu);
|
||||
static bool
|
||||
ParsePrologue(const lldb_private::DWARFDataExtractor &debug_line_data,
|
||||
lldb::offset_t *offset_ptr, Prologue *prologue);
|
||||
lldb::offset_t *offset_ptr, Prologue *prologue,
|
||||
DWARFUnit *dwarf_cu = nullptr);
|
||||
static bool
|
||||
ParseStatementTable(const lldb_private::DWARFDataExtractor &debug_line_data,
|
||||
lldb::offset_t *offset_ptr, State::Callback callback,
|
||||
void *userData);
|
||||
void *userData, DWARFUnit *dwarf_cu);
|
||||
static dw_offset_t
|
||||
DumpStatementTable(lldb_private::Log *log,
|
||||
const lldb_private::DWARFDataExtractor &debug_line_data,
|
||||
@@ -219,7 +228,8 @@ public:
|
||||
const dw_offset_t line_offset, uint32_t flags);
|
||||
static bool
|
||||
ParseStatementTable(const lldb_private::DWARFDataExtractor &debug_line_data,
|
||||
lldb::offset_t *offset_ptr, LineTable *line_table);
|
||||
lldb::offset_t *offset_ptr, LineTable *line_table,
|
||||
DWARFUnit *dwarf_cu);
|
||||
static void Parse(const lldb_private::DWARFDataExtractor &debug_line_data,
|
||||
DWARFDebugLine::State::Callback callback, void *userData);
|
||||
// static void AppendLineTableData(const DWARFDebugLine::Prologue* prologue,
|
||||
|
||||
Reference in New Issue
Block a user