* 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 f99de2b3d2
commit 59808b22d2
2 changed files with 5 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2010-09-09 Jakub Jelinek <jakub@redhat.com>
* dwarf2.h (DW_OP_GNU_implicit_pointer): New.
2010-07-06 Ken Werner <ken.werner@de.ibm.com> 2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* floatformat.h (floatformat_ieee_half_big): Add declaration. * floatformat.h (floatformat_ieee_half_big): Add declaration.

View File

@ -622,6 +622,7 @@ enum dwarf_location_atom
/* The following is for marking variables that are uninitialized. */ /* The following is for marking variables that are uninitialized. */
DW_OP_GNU_uninit = 0xf0, DW_OP_GNU_uninit = 0xf0,
DW_OP_GNU_encoded_addr = 0xf1, DW_OP_GNU_encoded_addr = 0xf1,
DW_OP_GNU_implicit_pointer = 0xf2,
/* HP extensions. */ /* HP extensions. */
DW_OP_HP_unknown = 0xe0, /* Ouch, the same as GNU_push_tls_address. */ DW_OP_HP_unknown = 0xe0, /* Ouch, the same as GNU_push_tls_address. */
DW_OP_HP_is_value = 0xe1, DW_OP_HP_is_value = 0xe1,