* dwarf.h (debug_info): Add offset_info and dwarf_version fields.

* dwarf.c (decode_location_expression): Add offset_size and
	dwarf_version arguments.  Prefix DIE offset with 0x for
	DW_OP_call{2,4,_ref}.  Fix up DW_OP_call_ref operand size,
	complain if in frame info section.  Handle
	DW_OP_GNU_implicit_pointer.
	(read_and_display_attr_value, display_debug_loc,
	display_debug_frames): Adjust decode_location_expression callers.
	(process_debug_info): Save offset_size and dwarf_version values
	into debug_information array.

	* dwarf2.h (DW_OP_GNU_implicit_pointer): New.
This commit is contained in:
Jakub Jelinek
2010-09-09 10:18:12 +00:00
parent 7326c758fd
commit b7807392f0
5 changed files with 82 additions and 10 deletions

View File

@ -1,5 +1,5 @@
/* dwarf.h - DWARF support header file
Copyright 2005, 2007, 2008, 2009
Copyright 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@ -84,6 +84,8 @@ extern struct dwarf_section_display debug_displays [];
typedef struct
{
unsigned int pointer_size;
unsigned int offset_size;
int dwarf_version;
unsigned long cu_offset;
unsigned long base_address;
/* This is an array of offsets to the location list table. */