Author: gonzo
Date: Tue Nov  2 01:24:49 2010
New Revision: 214651
URL: http://svn.freebsd.org/changeset/base/214651

Log:
  Fix reading of .debug_line  on MIPS64, big-endian:
      read_initial_length detects pointer size by checking first
      4 bytes of .debug_line and stores it in struct comp_unit_head *
      passed to it as second argument. By passing NULL to a
      read_initial_length we ignore actual pointer size (8 bytes) and
      use default (4 bytes) which results in wrong offsets of header fields.

Modified:
  head/contrib/gdb/gdb/dwarf2read.c

Modified: head/contrib/gdb/gdb/dwarf2read.c
==============================================================================
--- head/contrib/gdb/gdb/dwarf2read.c   Mon Nov  1 22:11:18 2010        
(r214650)
+++ head/contrib/gdb/gdb/dwarf2read.c   Tue Nov  2 01:24:49 2010        
(r214651)
@@ -5178,7 +5178,7 @@ dwarf_decode_line_header (unsigned int o
   line_ptr = dwarf_line_buffer + offset;
 
   /* read in the header */
-  lh->total_length = read_initial_length (abfd, line_ptr, NULL, &bytes_read);
+  lh->total_length = read_initial_length (abfd, line_ptr, &cu->header, 
&bytes_read);
   line_ptr += bytes_read;
   if (line_ptr + lh->total_length > dwarf_line_buffer + dwarf_line_size)
     {
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to