Annotation of gcc/dwarf.h, revision 1.1.1.1

1.1       root        1: /* Dwarf definitions.
                      2: 
                      3:    This file is derived from the DWARF specification, Draft #5 by the UNIX
                      4:    International Programming Languages Special Interest Group dated 10/21/91.
                      5: */
                      6: 
                      7: /* Tag names and codes: Figure 9.  */
                      8: 
                      9: #define TAG_padding                    0x0000
                     10: #define TAG_array_type                 0x0001
                     11: #define TAG_class_type                 0x0002
                     12: #define TAG_entry_point                        0x0003
                     13: #define TAG_enumeration_type           0x0004
                     14: #define TAG_formal_parameter           0x0005
                     15: #define TAG_global_subroutine          0x0006
                     16: #define TAG_global_variable            0x0007
                     17: #define TAG_imported_declaration       0x0008
                     18: 
                     19: #define TAG_label                      0x000a
                     20: #define TAG_lexical_block              0x000b
                     21: #define TAG_local_variable             0x000c
                     22: #define TAG_member                     0x000d
                     23: 
                     24: #define TAG_pointer_type               0x000f
                     25: #define TAG_reference_type             0x0010
                     26: #define TAG_compile_unit               0x0011
                     27: #define TAG_source_file                        0x0011
                     28: #define TAG_string_type                        0x0012
                     29: #define TAG_structure_type             0x0013
                     30: #define TAG_subroutine                 0x0014
                     31: #define TAG_subroutine_type            0x0015
                     32: #define TAG_typedef                    0x0016
                     33: #define TAG_union_type                 0x0017
                     34: #define TAG_unspecified_parameters     0x0018
                     35: #define TAG_variant                    0x0019
                     36: #define TAG_common_block               0x001a
                     37: #define TAG_common_inclusion           0x001b
                     38: #define TAG_format                     0x001c
                     39: #define TAG_inheritance                        0x001d
                     40: #define TAG_inlined_subroutine         0x001e
                     41: #define TAG_module                     0x001f
                     42: #define TAG_ptr_to_member_type         0x0020
                     43: #define TAG_set_type                   0x0021
                     44: #define TAG_subrange_type              0x0022
                     45: #define TAG_with_stmt                  0x0023
                     46: 
                     47: #define TAG_lo_user                    0x8000
                     48: #define TAG_hi_user                    0xffff
                     49: 
                     50: /* Form names and codes: Figure 10.  */
                     51: 
                     52: #define FORM_ADDR      0x1
                     53: #define FORM_REF       0x2
                     54: #define FORM_BLOCK2    0x3
                     55: #define FORM_BLOCK4    0x4
                     56: #define FORM_DATA2     0x5
                     57: #define FORM_DATA4     0x6
                     58: #define FORM_DATA8     0x7
                     59: #define FORM_STRING    0x8
                     60: 
                     61: /* Attribute names and codes: Figure 11.  */
                     62: 
                     63: #define AT_sibling             /* reference */ (0x0010|FORM_REF)
                     64: #define AT_location            /* block2 */    (0x0020|FORM_BLOCK2)
                     65: #define AT_name                        /* string */    (0x0030|FORM_STRING)
                     66: #define AT_fund_type           /* halfword */  (0x0050|FORM_DATA2)
                     67: #define AT_mod_fund_type       /* block2 */    (0x0060|FORM_BLOCK2)
                     68: #define AT_user_def_type       /* reference */ (0x0070|FORM_REF)
                     69: #define AT_mod_u_d_type                /* block2 */    (0x0080|FORM_BLOCK2)
                     70: #define AT_ordering            /* halfword */  (0x0090|FORM_DATA2)
                     71: #define AT_subscr_data         /* block2 */    (0x00a0|FORM_BLOCK2)
                     72: #define AT_byte_size           /* word */      (0x00b0|FORM_DATA4)
                     73: #define AT_bit_offset          /* halfword */  (0x00c0|FORM_DATA2)
                     74: #define AT_bit_size            /* word */      (0x00d0|FORM_DATA4)
                     75: 
                     76: #define AT_element_list                /* block4 */    (0x00f0|FORM_BLOCK4)
                     77: #define AT_stmt_list           /* word */      (0x0100|FORM_DATA4)
                     78: #define AT_low_pc              /* address */   (0x0110|FORM_ADDR)
                     79: #define AT_high_pc             /* address */   (0x0120|FORM_ADDR)
                     80: #define AT_language            /* word */      (0x0130|FORM_DATA4)
                     81: #define AT_member              /* reference */ (0x0140|FORM_REF)
                     82: #define AT_discr               /* reference */ (0x0150|FORM_REF)
                     83: #define AT_discr_value         /* block2 */    (0x0160|FORM_BLOCK2)
                     84: #define AT_visibility          /* halfword */  (0x0170|FORM_DATA2)
                     85: #define AT_import              /* reference */ (0x0180|FORM_REF)
                     86: #define AT_string_length       /* block2 */    (0x0190|FORM_BLOCK2)
                     87: #define AT_common_reference    /* reference */ (0x01a0|FORM_REF)
                     88: #define AT_comp_dir            /* string */    (0x01b0|FORM_STRING)
                     89: 
                     90: #define AT_const_value_string  /* string */    (0x01c0|FORM_STRING)
                     91: #define AT_const_value_data2   /* halfword */  (0x01c0|FORM_DATA2)
                     92: #define AT_const_value_data4   /* word */      (0x01c0|FORM_DATA4)
                     93: #define AT_const_value_data8   /* doubleword */(0x01c0|FORM_DATA8)
                     94: #define AT_const_value_block2  /* block2 */    (0x01c0|FORM_BLOCK2)
                     95: #define AT_const_value_block4  /* block4 */    (0x01c0|FORM_BLOCK4)
                     96: 
                     97: #define AT_containing_type     /* reference */ (0x01d0|FORM_REF)
                     98: 
                     99: #define AT_default_value_addr  /* address */   (0x01e0|FORM_ADDR)
                    100: #define AT_default_value_data2 /* halfword */  (0x01e0|FORM_DATA2)
                    101: #define AT_default_value_data4 /* word */      (0x01e0|FORM_DATA4)
                    102: #define AT_default_value_data8 /* doubleword */(0x01e0|FORM_DATA8)
                    103: #define AT_default_value_string        /* string */    (0x01e0|FORM_STRING)
                    104: 
                    105: #define AT_friends             /* block2 */    (0x01f0|FORM_BLOCK2)
                    106: #define AT_inline              /* string */    (0x0200|FORM_STRING)
                    107: #define AT_is_optional         /* string */    (0x0210|FORM_STRING)
                    108: 
                    109: #define AT_lower_bound_ref     /* reference */ (0x0220|FORM_REF)
                    110: #define AT_lower_bound_data2   /* halfword */  (0x0220|FORM_DATA2)
                    111: #define AT_lower_bound_data4   /* word */      (0x0220|FORM_DATA4)
                    112: #define AT_lower_bound_data8   /* doubleword */(0x0220|FORM_DATA8)
                    113: 
                    114: #define AT_main_program                /* string */    (0x0230|FORM_STRING)
                    115: #define AT_private             /* string */    (0x0240|FORM_STRING)
                    116: #define AT_producer            /* string */    (0x0250|FORM_STRING)
                    117: #define AT_protected           /* string */    (0x0260|FORM_STRING)
                    118: #define AT_prototyped          /* string */    (0x0270|FORM_STRING)
                    119: #define AT_public              /* string */    (0x0280|FORM_STRING)
                    120: #define AT_pure_virtual                /* string */    (0x0290|FORM_STRING)
                    121: #define AT_return_addr_loc     /* block2 */    (0x02a0|FORM_BLOCK2)
                    122: #define AT_specification       /* reference */ (0x02b0|FORM_REF)
                    123: #define AT_start_scope         /* word */      (0x02c0|FORM_DATA4)
                    124: #define AT_static_link_loc     /* block2 */    (0x02d0|FORM_BLOCK2)
                    125: #define AT_stride_size         /* word */      (0x02e0|FORM_DATA4)
                    126: 
                    127: #define AT_upper_bound_ref     /* reference */ (0x02f0|FORM_REF)
                    128: #define AT_upper_bound_data2   /* halfword */  (0x02f0|FORM_DATA2)
                    129: #define AT_upper_bound_data4   /* word */      (0x02f0|FORM_DATA4)
                    130: #define AT_upper_bound_data8   /* doubleword */(0x02f0|FORM_DATA8)
                    131: 
                    132: #define AT_virtual             /* string */    (0x0300|FORM_STRING)
                    133: #define AT_frame_base          /* block2 */    (0x0310|FORM_BLOCK2)
                    134: 
                    135: /* GNU attribute extensions.  */
                    136: 
                    137: #define AT_sf_names            /* word */      (0x8000|FORM_DATA4)
                    138: #define AT_src_info            /* word */      (0x8010|FORM_DATA4)
                    139: #define AT_mac_info            /* word */      (0x8020|FORM_DATA4)
                    140: 
                    141: #define AT_lo_user             /* - */         0x8000
                    142: #define AT_hi_user             /* - */         0xffff
                    143: 
                    144: /* Location atom names and codes: Figure 13.  */
                    145: 
                    146: #define OP_REG         0x01
                    147: #define OP_BASEREG     0x02
                    148: #define OP_ADDR                0x03
                    149: #define OP_CONST       0x04
                    150: #define OP_DEREF2      0x05
                    151: #define OP_DEREF4      0x06
                    152: #define OP_ADD         0x07
                    153:    
                    154: #define OP_LO_USER     0x80
                    155: #define OP_HI_USER     0xff
                    156: 
                    157: /* Fundamental type names and codes: figure 14.  */
                    158: 
                    159: #define FT_char                        0x0001
                    160: #define FT_signed_char         0x0002
                    161: #define FT_unsigned_char       0x0003
                    162: #define FT_short               0x0004
                    163: #define FT_signed_short                0x0005
                    164: #define FT_unsigned_short      0x0006
                    165: #define FT_integer             0x0007
                    166: #define FT_signed_integer      0x0008
                    167: #define FT_unsigned_integer    0x0009
                    168: #define FT_long                        0x000a
                    169: #define FT_signed_long         0x000b
                    170: #define FT_unsigned_long       0x000c
                    171: #define FT_pointer             0x000d
                    172: #define FT_float               0x000e
                    173: #define FT_dbl_prec_float      0x000f
                    174: #define FT_ext_prec_float      0x0010  /* not accepted by "classic" svr4 SDB */
                    175: #define FT_complex             0x0011  /* not accepted by "classic" svr4 SDB */
                    176: #define FT_dbl_prec_complex    0x0012  /* not accepted by "classic" svr4 SDB */
                    177: 
                    178: #define FT_void                        0x0014
                    179: #define FT_boolean             0x0015  /* not accepted by "classic" svr4 SDB */
                    180: #define FT_ext_prec_complex    0x0016  /* not accepted by "classic" svr4 SDB */
                    181:   
                    182: /* GNU-specific fundamental type codes - not accepted by "classic" svr4 SDB */
                    183: 
                    184: #define FT_long_long           0x8000
                    185: #define FT_signed_long_long    0x8001
                    186: #define FT_unsigned_long_long  0x8002
                    187:   
                    188: #define FT_lo_user             0x8000
                    189: #define FT_hi_user             0xffff
                    190: 
                    191: /* Type modifier names and codes: Figure 15.  */
                    192: 
                    193: #define MOD_pointer_to         0x01
                    194: #define MOD_reference_to       0x02
                    195: #define MOD_const              0x03
                    196: #define MOD_volatile           0x04
                    197:      
                    198: #define MOD_lo_user            0x80
                    199: #define MOD_hi_user            0xff
                    200:      
                    201: /* Visibility names and codes: Figure 16.  */
                    202:      
                    203: #define VIS_local              0x00
                    204: #define VIS_exported           0x01
                    205:      
                    206: #define VIS_lo_user            0x80
                    207: #define VIS_hi_user            0xff
                    208: 
                    209: /* Array ordering names and codes: Figure 18.  */
                    210: 
                    211: #define ORD_row_major  0
                    212: #define ORD_col_major  1
                    213: 
                    214: /* Array subscript format names and codes: Figure 19.  */
                    215: 
                    216: #define FMT_FT_C_C     0x0
                    217: #define FMT_FT_C_X     0x1
                    218: #define FMT_FT_X_C     0x2
                    219: #define FMT_FT_X_X     0x3
                    220: #define FMT_UT_C_C     0x4
                    221: #define FMT_UT_C_X     0x5
                    222: #define FMT_UT_X_C     0x6
                    223: #define FMT_UT_X_X     0x7
                    224: #define FMT_ET         0x8
                    225: 
                    226: /* Derived from above for ease of use.  */
                    227: 
                    228: #define FMT_CODE(_FUNDAMENTAL_TYPE_P, _UB_CONST_P, _LB_CONST_P) \
                    229:  (((_FUNDAMENTAL_TYPE_P) ? 0 : 4)      \
                    230:   | ((_UB_CONST_P) ? 0 : 2)            \
                    231:   | ((_LB_CONST_P) ? 0 : 1))
                    232: 
                    233: /* Source language names and codes: Figure 17.  */
                    234: 
                    235: #define LANG_C89               0x0001
                    236: #define LANG_C                 0x0002
                    237: #define LANG_ADA83             0x0003
                    238: #define LANG_C_PLUS_PLUS       0x0004
                    239: #define LANG_COBOL74           0x0005
                    240: #define LANG_COBOL85           0x0006
                    241: #define LANG_FORTRAN77         0x0007
                    242: #define LANG_FORTRAN90         0x0008
                    243: #define LANG_PASCAL83          0x0009
                    244: #define LANG_MODULA2           0x000a
                    245: 
                    246: #define LANG_LO_USER           0x8000
                    247: #define LANG_HI_USER           0xffff
                    248: 
                    249: /* Names and codes for GNU "macinfo" extension.  */
                    250: 
                    251: #define MACINFO_start          's'
                    252: #define MACINFO_resume         'r'
                    253: #define MACINFO_define         'd'
                    254: #define MACINFO_undef          'u'

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.