Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Nov 2010 01:24:50 +0000 (UTC)
From:      Oleksandr Tymoshenko <gonzo@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r214651 - head/contrib/gdb/gdb
Message-ID:  <201011020124.oA21OoXf003612@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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)
     {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011020124.oA21OoXf003612>