diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 82eaa824556..9dc0441fe2b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -7,6 +7,8 @@ macros for accessing ranges in struct block. (make_blockranges): New declaration. block.c (make_blockranges): New function. + * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES + for block. 2018-08-23 Xavier Roirand diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 81a0087c26d..8834d08a1c6 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -14846,6 +14846,7 @@ dwarf2_record_block_ranges (struct die_info *die, struct block *block, unsigned long offset = (DW_UNSND (attr) + (need_ranges_base ? cu->ranges_base : 0)); + std::vector blockvec; dwarf2_ranges_process (offset, cu, [&] (CORE_ADDR start, CORE_ADDR end) { @@ -14854,7 +14855,10 @@ dwarf2_record_block_ranges (struct die_info *die, struct block *block, start = gdbarch_adjust_dwarf2_addr (gdbarch, start); end = gdbarch_adjust_dwarf2_addr (gdbarch, end); cu->builder->record_block_range (block, start, end - 1); + blockvec.emplace_back (start, end); }); + + BLOCK_RANGES(block) = make_blockranges (objfile, blockvec); } }