* dwarf.c (decode_location_expression): Use dwarf_vmatoa

function to display DW_OP_addr OP.
	(process_debug_info): Use dwarf_vma type for local variables
	length and type_offset.
This commit is contained in:
Nick Clifton 2011-03-25 18:01:58 +00:00
parent 49e7b35019
commit 767221a942
2 changed files with 14 additions and 7 deletions

View file

@ -2,6 +2,10 @@
* dwarf.c (process_debug_info): Use offset_size to determine
the bit-size of the computation unit's offset.
(decode_location_expression): Use dwarf_vmatoa function to display
DW_OP_addr OP.
(process_debug_info): Use dwarf_vma type for local variables
length and type_offset.
2011-03-25 Michael Snyder <msnyder@vmware.com>

View file

@ -674,8 +674,8 @@ decode_location_expression (unsigned char * data,
switch (op)
{
case DW_OP_addr:
printf ("DW_OP_addr: %lx",
(unsigned long) byte_get (data, pointer_size));
printf ("DW_OP_addr: %s",
dwarf_vmatoa ("x", byte_get (data, pointer_size)));
data += pointer_size;
break;
case DW_OP_deref:
@ -1926,7 +1926,7 @@ process_debug_info (struct dwarf_section *section,
&& num_debug_info_entries == 0
&& ! do_types)
{
unsigned long length;
dwarf_vma length;
/* First scan the section to get the number of comp units. */
for (section_begin = start, num_units = 0; section_begin < end;
@ -1944,7 +1944,8 @@ process_debug_info (struct dwarf_section *section,
}
else if (length >= 0xfffffff0 && length < 0xffffffff)
{
warn (_("Reserved length value (%lx) found in section %s\n"), length, section->name);
warn (_("Reserved length value (0x%s) found in section %s\n"),
dwarf_vmatoa ("x", length), section->name);
return 0;
}
else
@ -1955,7 +1956,8 @@ process_debug_info (struct dwarf_section *section,
relocations to an object file. */
if ((signed long) length <= 0)
{
warn (_("Corrupt unit length (%lx) found in section %s\n"), length, section->name);
warn (_("Corrupt unit length (0x%s) found in section %s\n"),
dwarf_vmatoa ("x", length), section->name);
return 0;
}
}
@ -2002,7 +2004,7 @@ process_debug_info (struct dwarf_section *section,
int offset_size;
int initial_length_size;
unsigned char signature[8] = { 0 };
unsigned long type_offset = 0;
dwarf_vma type_offset = 0;
hdrptr = start;
@ -2084,7 +2086,8 @@ process_debug_info (struct dwarf_section *section,
for (i = 0; i < 8; i++)
printf ("%02x", signature[i]);
printf ("\n");
printf (_(" Type Offset: 0x%lx\n"), type_offset);
printf (_(" Type Offset: 0x%s\n"),
dwarf_vmatoa ("x", type_offset));
}
}