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)
{
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"