aboutsummaryrefslogtreecommitdiff
path: root/binutils/dwarf.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-05-17 07:19:35 +0000
committerAlan Modra <amodra@gmail.com>2012-05-17 07:19:35 +0000
commita2ff7a4bb45f6c1be62554c82ff9d688f056b876 (patch)
treeb0ec0f70cd4bf68ed08d3bc674297a9bd9e4af40 /binutils/dwarf.c
parentd9fa356624ec5831478874839149195696d53f34 (diff)
downloadgdb-a2ff7a4bb45f6c1be62554c82ff9d688f056b876.zip
gdb-a2ff7a4bb45f6c1be62554c82ff9d688f056b876.tar.gz
gdb-a2ff7a4bb45f6c1be62554c82ff9d688f056b876.tar.bz2
* dwarf.c (display_debug_ranges): Don't report more than one use
of the same range set as an overlap.
Diffstat (limited to 'binutils/dwarf.c')
-rw-r--r--binutils/dwarf.c12
1 files changed, 9 insertions, 3 deletions
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)
{