* dwarf.c (display_debug_loc): Don't dereference loc_offsets when
authorAndreas Schwab <schwab@linux-m68k.org>
Tue, 10 Oct 2006 10:45:45 +0000 (10:45 +0000)
committerAndreas Schwab <schwab@linux-m68k.org>
Tue, 10 Oct 2006 10:45:45 +0000 (10:45 +0000)
there are no location lists.
(display_debug_ranges): Similar for range_lists.

binutils/ChangeLog
binutils/dwarf.c

index 0509d7a654a8b515398faf5375ea66996611f2a8..0b454bd6c7b42f6db61398d75adbcaf1c78f4ea5 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-10  Andreas Schwab  <schwab@suse.de>
+
+       * 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  <hongjiu.lu@intel.com>
 
        * readelf.c (debug_apply_rela_addends): Don't ignore relocation
index 8a98aecb8f3da6d1876cf9d522726225fa916f79..117d2a573e5e806c3b7a21adf1b1f36efc814374 100644 (file)
@@ -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]);