From d4bfc77bca2a75b638db352482460c48b082cbcc Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 10 Oct 2006 10:45:45 +0000 Subject: [PATCH] * dwarf.c (display_debug_loc): Don't dereference loc_offsets when there are no location lists. (display_debug_ranges): Similar for range_lists. --- binutils/ChangeLog | 6 ++++++ binutils/dwarf.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 0509d7a654..0b454bd6c7 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2006-10-10 Andreas Schwab + + * dwarf.c (display_debug_loc): Don't dereference loc_offsets when + there are no location lists. + (display_debug_ranges): Similar for range_lists. + 2006-10-04 H.J. Lu * readelf.c (debug_apply_rela_addends): Don't ignore relocation diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 8a98aecb8f..117d2a573e 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -2315,7 +2315,8 @@ display_debug_loc (struct dwarf_section *section, void *file) error (_("No location lists in .debug_info section!\n")); /* DWARF sections under Mach-O have non-zero addresses. */ - if (debug_information [first].loc_offsets [0] != section->address) + if (debug_information [first].num_loc_offsets > 0 + && debug_information [first].loc_offsets [0] != section->address) warn (_("Location lists in %s section start at 0x%lx\n"), section->name, debug_information [first].loc_offsets [0]); @@ -2686,7 +2687,8 @@ display_debug_ranges (struct dwarf_section *section, error (_("No range lists in .debug_info section!\n")); /* DWARF sections under Mach-O have non-zero addresses. */ - if (debug_information [first].range_lists [0] != section->address) + if (debug_information [first].num_range_lists > 0 + && debug_information [first].range_lists [0] != section->address) warn (_("Range lists in %s section start at 0x%lx\n"), section->name, debug_information [first].range_lists [0]);