Fix a regression by: Code cleanup: Split dwarf2_ranges_read to a callback
authorJan Kratochvil <jan.kratochvil@redhat.com>
Tue, 21 Feb 2017 23:13:03 +0000 (00:13 +0100)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Tue, 21 Feb 2017 23:13:03 +0000 (00:13 +0100)
On some Fedora 23 systems an internal error has been printed.

gdb/ChangeLog
2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>

* dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.

gdb/ChangeLog
gdb/dwarf2read.c

index 1e0e50e06367e36dce93440682a088fed9ca926b..3ac5170c9877026242b7b4c63af43e002ea37195 100644 (file)
@@ -1,3 +1,7 @@
+2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
+
 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
 
        * common/enum-flags.h (enum_flags::enum_flags): Initialize
index 8a6e1f3dced9021be64244b1c99c65b70005a7b0..9654fa535ef5dd6a74f782066c9de4c1318ab9f3 100644 (file)
@@ -12577,6 +12577,8 @@ dwarf2_record_block_ranges (struct die_info *die, struct block *block,
       dwarf2_ranges_process (offset, cu,
        [&] (CORE_ADDR start, CORE_ADDR end)
        {
+         start += baseaddr;
+         end += baseaddr;
          start = gdbarch_adjust_dwarf2_addr (gdbarch, start);
          end = gdbarch_adjust_dwarf2_addr (gdbarch, end);
          record_block_range (block, start, end - 1);