diff options
author | Alan Modra <amodra@gmail.com> | 2012-05-17 07:19:35 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-05-17 07:19:35 +0000 |
commit | a2ff7a4bb45f6c1be62554c82ff9d688f056b876 (patch) | |
tree | b0ec0f70cd4bf68ed08d3bc674297a9bd9e4af40 | |
parent | d9fa356624ec5831478874839149195696d53f34 (diff) | |
download | fsf-binutils-gdb-a2ff7a4bb45f6c1be62554c82ff9d688f056b876.zip fsf-binutils-gdb-a2ff7a4bb45f6c1be62554c82ff9d688f056b876.tar.gz fsf-binutils-gdb-a2ff7a4bb45f6c1be62554c82ff9d688f056b876.tar.bz2 |
* dwarf.c (display_debug_ranges): Don't report more than one use
of the same range set as an overlap.
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/dwarf.c | 12 |
2 files changed, 14 insertions, 3 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 64786da..1469e21 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2012-05-17 Alan Modra <amodra@gmail.com> + + * dwarf.c (display_debug_ranges): Don't report more than one use + of the same range set as an overlap. + 2012-05-16 Daniel Richard G. <skunk@iskunk.org> PR binutils/13558 diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 2aca694..54c94bc 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -4419,6 +4419,7 @@ display_debug_ranges (struct dwarf_section *section, void *file ATTRIBUTE_UNUSED) { unsigned char *start = section->start; + unsigned char *last_start = start; unsigned long bytes; unsigned char *section_begin = start; unsigned int num_range_list, i; @@ -4502,11 +4503,16 @@ display_debug_ranges (struct dwarf_section *section, (unsigned long) (start - section_begin), (unsigned long) (next - section_begin), section->name); else if (start > next) - warn (_("There is an overlap [0x%lx - 0x%lx] in %s section.\n"), - (unsigned long) (start - section_begin), - (unsigned long) (next - section_begin), section->name); + { + if (next == last_start) + continue; + warn (_("There is an overlap [0x%lx - 0x%lx] in %s section.\n"), + (unsigned long) (start - section_begin), + (unsigned long) (next - section_begin), section->name); + } } start = next; + last_start = next; while (1) { |