svn commit: r214651 - head/contrib/gdb/gdb

Oleksandr Tymoshenko gonzo at FreeBSD.org
Tue Nov 2 01:24:50 UTC 2010


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)
     {


More information about the svn-src-all mailing list