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-head
mailing list