mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
DWARF: Generate the address lookup table from the DIE tree if .debug_aranges is not available.
Ported from LLDB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139732 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -83,6 +83,19 @@ bool DWARFDebugAranges::extract(DataExtractor debug_aranges_data) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DWARFDebugAranges::generate(DWARFContext *ctx) {
|
||||
clear();
|
||||
if (ctx) {
|
||||
const uint32_t num_compile_units = ctx->getNumCompileUnits();
|
||||
for (uint32_t cu_idx = 0; cu_idx < num_compile_units; ++cu_idx) {
|
||||
DWARFCompileUnit *cu = ctx->getCompileUnitAtIndex(cu_idx);
|
||||
if (cu)
|
||||
cu->buildAddressRangeTable(this, true);
|
||||
}
|
||||
}
|
||||
return !isEmpty();
|
||||
}
|
||||
|
||||
void DWARFDebugAranges::dump(raw_ostream &OS) const {
|
||||
const uint32_t num_ranges = getNumRanges();
|
||||
for (uint32_t i = 0; i < num_ranges; ++i) {
|
||||
|
Reference in New Issue
Block a user