dwarf2.h (enum dwarf_call_frame_info): Add other DWARF 3 codes.

* dwarf2.h (enum dwarf_call_frame_info): Add other DWARF 3 codes.
        Sync with src version.

From-SVN: r49302
This commit is contained in:
Jason Merrill 2002-01-28 18:23:26 -05:00 committed by Jason Merrill
parent b08dd119e6
commit 5a852b3eb0
2 changed files with 72 additions and 61 deletions

View File

@ -1,3 +1,8 @@
2002-01-28 Jason Merrill <jason@redhat.com>
* dwarf2.h (enum dwarf_call_frame_info): Add other DWARF 3 codes.
Sync with src version.
2002-01-28 Paul Koning <pkoning@equallogic.com>
* builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace

View File

@ -1,9 +1,14 @@
/* Declarations and definitions of codes relating to the DWARF2 symbolic
debugging information format.
Copyright (C) 1992, 1993, 1995, 1996, 1997, 2000
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002
Free Software Foundation, Inc.
Contributed by Gary Funck (gary@intrepid.com). Derived from the
DWARF 1 implementation written by Ron Guilmette (rfg@monkeys.com).
Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
Office (AJPO), Florida State Unviversity and Silicon Graphics Inc.
provided support for this effort -- June 21, 1995.
Derived from the DWARF 1 implementation written by Ron Guilmette
(rfg@netcom.com), November 1990.
This file is part of GCC.
@ -26,13 +31,14 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
Revision 2.0.0 (July 27, 1993) developed by the UNIX International
Programming Languages Special Interest Group (UI/PLSIG) and distributed
by UNIX International. Copies of this specification are available from
UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054. */
UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054.
This file also now contains definitions from the DWARF 3 specification. */
/* This file is shared between GCC and GDB, and should not contain
prototypes. */
/* Tag names and codes. */
enum dwarf_tag
{
DW_TAG_padding = 0x00,
@ -83,7 +89,7 @@ enum dwarf_tag
DW_TAG_variant_part = 0x33,
DW_TAG_variable = 0x34,
DW_TAG_volatile_type = 0x35,
/* DWARF 2.1 */
/* DWARF 3. */
DW_TAG_dwarf_procedure = 0x36,
DW_TAG_restrict_type = 0x37,
DW_TAG_interface_type = 0x38,
@ -92,12 +98,12 @@ enum dwarf_tag
DW_TAG_unspecified_type = 0x3b,
DW_TAG_partial_unit = 0x3c,
DW_TAG_imported_unit = 0x3d,
/* SGI/MIPS Extensions */
/* SGI/MIPS Extensions. */
DW_TAG_MIPS_loop = 0x4081,
/* GNU extensions */
DW_TAG_format_label = 0x4101, /* for FORTRAN 77 and Fortran 90 */
DW_TAG_function_template = 0x4102, /* for C++ */
DW_TAG_class_template = 0x4103, /* for C++ */
/* GNU extensions. */
DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */
DW_TAG_function_template = 0x4102, /* For C++. */
DW_TAG_class_template = 0x4103, /* For C++. */
DW_TAG_GNU_BINCL = 0x4104,
DW_TAG_GNU_EINCL = 0x4105
};
@ -105,7 +111,7 @@ enum dwarf_tag
#define DW_TAG_lo_user 0x4080
#define DW_TAG_hi_user 0xffff
/* flag that tells whether entry has a child or not */
/* Flag that tells whether entry has a child or not. */
#define DW_children_no 0
#define DW_children_yes 1
@ -201,20 +207,20 @@ enum dwarf_attribute
DW_AT_variable_parameter = 0x4b,
DW_AT_virtuality = 0x4c,
DW_AT_vtable_elem_location = 0x4d,
/* DWARF 2.1 */
DW_AT_allocated = 0x4e,
DW_AT_associated = 0x4f,
DW_AT_data_location = 0x50,
DW_AT_stride = 0x51,
DW_AT_entry_pc = 0x52,
DW_AT_use_UTF8 = 0x53,
DW_AT_extension = 0x54,
DW_AT_ranges = 0x55,
DW_AT_trampoline = 0x56,
DW_AT_call_column = 0x57,
DW_AT_call_file = 0x58,
DW_AT_call_line = 0x59,
/* SGI/MIPS Extensions */
/* DWARF 3 values. */
DW_AT_allocated = 0x4e,
DW_AT_associated = 0x4f,
DW_AT_data_location = 0x50,
DW_AT_stride = 0x51,
DW_AT_entry_pc = 0x52,
DW_AT_use_UTF8 = 0x53,
DW_AT_extension = 0x54,
DW_AT_ranges = 0x55,
DW_AT_trampoline = 0x56,
DW_AT_call_column = 0x57,
DW_AT_call_file = 0x58,
DW_AT_call_line = 0x59,
/* SGI/MIPS Extensions. */
DW_AT_MIPS_fde = 0x2001,
DW_AT_MIPS_loop_begin = 0x2002,
DW_AT_MIPS_tail_loop_begin = 0x2003,
@ -227,21 +233,20 @@ enum dwarf_attribute
DW_AT_MIPS_clone_origin = 0x200a,
DW_AT_MIPS_has_inlines = 0x200b,
/* GNU extensions. */
DW_AT_sf_names = 0x2101,
DW_AT_src_info = 0x2102,
DW_AT_mac_info = 0x2103,
DW_AT_sf_names = 0x2101,
DW_AT_src_info = 0x2102,
DW_AT_mac_info = 0x2103,
DW_AT_src_coords = 0x2104,
DW_AT_body_begin = 0x2105,
DW_AT_body_end = 0x2106,
/* VMS Extensions */
DW_AT_body_end = 0x2106,
/* VMS Extensions. */
DW_AT_VMS_rtnbeg_pd_address = 0x2201
};
#define DW_AT_lo_user 0x2000 /* implementation-defined range start */
#define DW_AT_hi_user 0x3ff0 /* implementation-defined range end */
#define DW_AT_lo_user 0x2000 /* Implementation-defined range start. */
#define DW_AT_hi_user 0x3ff0 /* Implementation-defined range end. */
/* Location atom names and codes. */
enum dwarf_location_atom
{
DW_OP_addr = 0x03,
@ -389,18 +394,17 @@ enum dwarf_location_atom
DW_OP_deref_size = 0x94,
DW_OP_xderef_size = 0x95,
DW_OP_nop = 0x96,
/* DWARF 2.1 */
/* DWARF 3 extensions. */
DW_OP_push_object_address = 0x97,
DW_OP_call2 = 0x98,
DW_OP_call4 = 0x99,
DW_OP_calli = 0x9a
};
#define DW_OP_lo_user 0x80 /* implementation-defined range start */
#define DW_OP_hi_user 0xff /* implementation-defined range end */
#define DW_OP_lo_user 0x80 /* Implementation-defined range start. */
#define DW_OP_hi_user 0xff /* Implementation-defined range end. */
/* Type encodings. */
enum dwarf_type
{
DW_ATE_void = 0x0,
@ -412,7 +416,7 @@ enum dwarf_type
DW_ATE_signed_char = 0x6,
DW_ATE_unsigned = 0x7,
DW_ATE_unsigned_char = 0x8,
/* DWARF 2.1 */
/* DWARF 3. */
DW_ATE_imaginary_float = 0x9
};
@ -426,7 +430,7 @@ enum dwarf_array_dim_ordering
DW_ORD_col_major = 1
};
/* access attribute */
/* Access attribute. */
enum dwarf_access_attribute
{
DW_ACCESS_public = 1,
@ -434,7 +438,7 @@ enum dwarf_access_attribute
DW_ACCESS_private = 3
};
/* visibility */
/* Visibility. */
enum dwarf_visibility_attribute
{
DW_VIS_local = 1,
@ -442,7 +446,7 @@ enum dwarf_visibility_attribute
DW_VIS_qualified = 3
};
/* virtuality */
/* Virtuality. */
enum dwarf_virtuality_attribute
{
DW_VIRTUALITY_none = 0,
@ -450,7 +454,7 @@ enum dwarf_virtuality_attribute
DW_VIRTUALITY_pure_virtual = 2
};
/* case sensitivity */
/* Case sensitivity. */
enum dwarf_id_case
{
DW_ID_case_sensitive = 0,
@ -459,7 +463,7 @@ enum dwarf_id_case
DW_ID_case_insensitive = 3
};
/* calling convention */
/* Calling convention. */
enum dwarf_calling_convention
{
DW_CC_normal = 0x1,
@ -470,7 +474,7 @@ enum dwarf_calling_convention
#define DW_CC_lo_user 0x40
#define DW_CC_hi_user 0xff
/* inline attribute */
/* Inline attribute. */
enum dwarf_inline_attribute
{
DW_INL_not_inlined = 0,
@ -479,14 +483,14 @@ enum dwarf_inline_attribute
DW_INL_declared_inlined = 3
};
/* discriminant lists */
/* Discriminant lists. */
enum dwarf_discrim_list
{
DW_DSC_label = 0,
DW_DSC_range = 1
};
/* line number opcodes */
/* Line number opcodes. */
enum dwarf_line_number_ops
{
DW_LNS_extended_op = 0,
@ -498,10 +502,14 @@ enum dwarf_line_number_ops
DW_LNS_negate_stmt = 6,
DW_LNS_set_basic_block = 7,
DW_LNS_const_add_pc = 8,
DW_LNS_fixed_advance_pc = 9
DW_LNS_fixed_advance_pc = 9,
/* DWARF 3. */
DW_LNS_set_prologue_end = 10,
DW_LNS_set_epilogue_begin = 11,
DW_LNS_set_isa = 12
};
/* line number extended opcodes */
/* Line number extended opcodes. */
enum dwarf_line_number_x_ops
{
DW_LNE_end_sequence = 1,
@ -509,7 +517,7 @@ enum dwarf_line_number_x_ops
DW_LNE_define_file = 3
};
/* call frame information */
/* Call frame information. */
enum dwarf_call_frame_info
{
DW_CFA_advance_loc = 0x40,
@ -530,17 +538,18 @@ enum dwarf_call_frame_info
DW_CFA_def_cfa = 0x0c,
DW_CFA_def_cfa_register = 0x0d,
DW_CFA_def_cfa_offset = 0x0e,
/* DWARF 3. */
DW_CFA_def_cfa_expression = 0x0f,
DW_CFA_expression = 0x10,
/* Dwarf 2.1 */
DW_CFA_offset_extended_sf = 0x11,
DW_CFA_def_cfa_sf = 0x12,
DW_CFA_def_cfa_offset_sf = 0x13,
/* SGI/MIPS specific */
/* SGI/MIPS specific. */
DW_CFA_MIPS_advance_loc8 = 0x1d,
/* GNU extensions */
/* GNU extensions. */
DW_CFA_GNU_window_save = 0x2d,
DW_CFA_GNU_args_size = 0x2e,
DW_CFA_GNU_negative_offset_extended = 0x2f
@ -559,7 +568,6 @@ enum dwarf_call_frame_info
#define DW_ADDR_none 0
/* Source language names and codes. */
enum dwarf_source_language
{
DW_LANG_C89 = 0x0001,
@ -573,20 +581,19 @@ enum dwarf_source_language
DW_LANG_Pascal83 = 0x0009,
DW_LANG_Modula2 = 0x000a,
DW_LANG_Java = 0x000b,
/* DWARF 2.1 */
/* DWARF 3. */
DW_LANG_C99 = 0x000c,
DW_LANG_Ada95 = 0x000d,
DW_LANG_Fortran95 = 0x000e,
/* MIPS */
/* MIPS. */
DW_LANG_Mips_Assembler = 0x8001
};
#define DW_LANG_lo_user 0x8000 /* implementation-defined range start */
#define DW_LANG_hi_user 0xffff /* implementation-defined range start */
#define DW_LANG_lo_user 0x8000 /* Implementation-defined range start. */
#define DW_LANG_hi_user 0xffff /* Implementation-defined range start. */
/* Names and codes for macro information. */
enum dwarf_macinfo_record_type
{
DW_MACINFO_define = 1,
@ -595,7 +602,6 @@ enum dwarf_macinfo_record_type
DW_MACINFO_end_file = 4,
DW_MACINFO_vendor_ext = 255
};
/* @@@ For use with GNU frame unwind information. */