From a2ff7a4bb45f6c1be62554c82ff9d688f056b876 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 17 May 2012 07:19:35 +0000 Subject: [PATCH] * dwarf.c (display_debug_ranges): Don't report more than one use of the same range set as an overlap. --- binutils/ChangeLog | 5 +++++ 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 + + * 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. 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) { -- 2.7.4