[BACK]Return to dst.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / binutils.old / dist / include / vms

Annotation of src/external/gpl3/binutils.old/dist/include/vms/dst.h, Revision 1.1.1.1

1.1       christos    1: /* Alpha VMS external format of Debug Symbol Table.
                      2:
                      3:    Copyright 2010 Free Software Foundation, Inc.
                      4:    Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
                      5:
                      6:    This file is part of BFD, the Binary File Descriptor library.
                      7:
                      8:    This program is free software; you can redistribute it and/or modify
                      9:    it under the terms of the GNU General Public License as published by
                     10:    the Free Software Foundation; either version 3 of the License, or
                     11:    (at your option) any later version.
                     12:
                     13:    This program is distributed in the hope that it will be useful,
                     14:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                     15:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     16:    GNU General Public License for more details.
                     17:
                     18:    You should have received a copy of the GNU General Public License
                     19:    along with this program; if not, write to the Free Software
                     20:    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
                     21:    MA 02110-1301, USA.  */
                     22:
                     23: #ifndef _VMS_DST_H
                     24: #define _VMS_DST_H
                     25:
                     26: /* Also available in vms freeware v5.0 debug/alpha_dstrecrds.sdl.  */
                     27:
                     28: struct vms_dst_header
                     29: {
                     30:   /* Length.  */
                     31:   unsigned char length[2];
                     32:
                     33:   /* Type.  */
                     34:   unsigned char type[2];
                     35: };
                     36:
                     37: /* Beginning of module.  */
                     38: #define DST__K_MODBEG 188
                     39:
                     40: /* Some well known languages.  */
                     41: #define DST__K_MACRO   0
                     42: #define DST__K_BLISS   2
                     43: #define DST__K_C       7
                     44: #define DST__K_ADA     9
                     45: #define DST__K_CXX     15
                     46:
                     47: struct vms_dst_modbeg
                     48: {
                     49:   unsigned char flags;
                     50:   unsigned char unused;
                     51:   unsigned char language[4];
                     52:   unsigned char major[2];
                     53:   unsigned char minor[2];
                     54:   /* Module name ASCIC.  */
                     55:   /* Ident name ASCIC.  */
                     56: };
                     57:
                     58: /* Routine begin.  */
                     59: #define DST__K_RTNBEG 190
                     60:
                     61: struct vms_dst_rtnbeg
                     62: {
                     63:   unsigned char flags;
                     64:
                     65:   /* Address of the code.  */
                     66:   unsigned char address[4];
                     67:
                     68:   /* Procedure descriptor address.  */
                     69:   unsigned char pd_address[4];
                     70:
                     71:   /* Name: ASCIC  */
                     72: };
                     73:
                     74: /* Line number.  */
                     75: #define DST__K_LINE_NUM 185
                     76:
                     77: struct vms_dst_pcline
                     78: {
                     79:   unsigned char pcline_command;
                     80:   unsigned char field[4];
                     81: };
                     82:
                     83: #define DST__K_DELTA_PC_W      1
                     84: #define DST__K_INCR_LINUM      2
                     85: #define DST__K_INCR_LINUM_W    3
                     86: #define DST__K_SET_LINUM_INCR  4
                     87: #define DST__K_SET_LINUM_INCR_W        5
                     88: #define DST__K_RESET_LINUM_INCR        6
                     89: #define DST__K_BEG_STMT_MODE   7
                     90: #define DST__K_END_STMT_MODE   8
                     91: #define DST__K_SET_LINUM       9
                     92: #define DST__K_SET_PC          10
                     93: #define DST__K_SET_PC_W                11
                     94: #define DST__K_SET_PC_L                12
                     95: #define DST__K_SET_STMTNUM     13
                     96: #define DST__K_TERM            14
                     97: #define DST__K_TERM_W          15
                     98: #define DST__K_SET_ABS_PC      16
                     99: #define DST__K_DELTA_PC_L      17
                    100: #define DST__K_INCR_LINUM_L    18
                    101: #define DST__K_SET_LINUM_B     19
                    102: #define DST__K_SET_LINUM_L     20
                    103: #define DST__K_TERM_L          21
                    104:
                    105: /* Routine end.  */
                    106: #define DST__K_RTNEND 191
                    107:
                    108: struct vms_dst_rtnend
                    109: {
                    110:   unsigned char unused;
                    111:   unsigned char size[4];
                    112: };
                    113:
                    114: /* Prologue.  */
                    115: #define DST__K_PROLOG 162
                    116:
                    117: struct vms_dst_prolog
                    118: {
                    119:   unsigned char bkpt_addr[4];
                    120: };
                    121:
                    122: /* Epilog.  */
                    123: #define DST__K_EPILOG 127
                    124:
                    125: struct vms_dst_epilog
                    126: {
                    127:   unsigned char flags;
                    128:   unsigned char count[4];
                    129: };
                    130:
                    131: /* Module end.  */
                    132: #define DST__K_MODEND 189
                    133:
                    134: /* Block begin.  */
                    135: #define DST__K_BLKBEG 176
                    136:
                    137: struct vms_dst_blkbeg
                    138: {
                    139:   unsigned char unused;
                    140:   unsigned char address[4];
                    141:   /* Name ASCIC.  */
                    142: };
                    143:
                    144: /* Block end.  */
                    145: #define DST__K_BLKEND 177
                    146:
                    147: struct vms_dst_blkend
                    148: {
                    149:   unsigned char unused;
                    150:   unsigned char size[4];
                    151: };
                    152:
                    153: /* Source correlation.  */
                    154: #define DST__K_SOURCE 155
                    155:
                    156: #define DST__K_SRC_DECLFILE    1
                    157: #define DST__K_SRC_SETFILE     2
                    158: #define DST__K_SRC_SETREC_L    3
                    159: #define DST__K_SRC_SETREC_W    4
                    160: #define DST__K_SRC_SETLNUM_L   5
                    161: #define DST__K_SRC_SETLNUM_W   6
                    162: #define DST__K_SRC_INCRLNUM_B  7
                    163: #define DST__K_SRC_DEFLINES_W 10
                    164: #define DST__K_SRC_DEFLINES_B 11
                    165: #define DST__K_SRC_FORMFEED   16
                    166:
                    167: struct vms_dst_src_decl_src
                    168: {
                    169:   unsigned char length;
                    170:   unsigned char flags;
                    171:   unsigned char fileid[2];
                    172:   unsigned char rms_cdt[8];
                    173:   unsigned char rms_ebk[4];
                    174:   unsigned char rms_ffb[2];
                    175:   unsigned char rms_rfo;
                    176:   /* Filename ASCIC.  */
                    177: };
                    178:
                    179: /* Record begin.  */
                    180: #define DST__K_RECBEG 171
                    181:
                    182: struct vms_dst_recbeg
                    183: {
                    184:   unsigned char vflags;
                    185:   unsigned char value[4];
                    186:   /* Filename ASCIC.  */
                    187: };
                    188:
                    189: /* Record end.  */
                    190: #define DST__K_RECEND 172
                    191:
                    192: /* Enumeration begin.  */
                    193: #define DST__K_ENUMBEG 165
                    194:
                    195: /* Enumeration element.  */
                    196: #define DST__K_ENUMELT 164
                    197:
                    198: /* Enumeration end.  */
                    199: #define DST__K_ENUMEND 166
                    200:
                    201: /* Separate type specification.  */
                    202: #define DST__K_SEPTYP 163
                    203:
                    204: /* Type specification.  */
                    205: #define DST__K_TYPSPEC 175
                    206:
                    207: #define DST__K_TS_ATOM          1      /* Atomic.  */
                    208: #define DST__K_TS_DSC           2      /* VMS Standard descriptor.  */
                    209: #define DST__K_TS_IND           3      /* Indirect.  */
                    210: #define DST__K_TS_TPTR          4      /* Typed pointer.  */
                    211: #define DST__K_TS_PTR           5      /* Pointer.  */
                    212: #define DST__K_TS_PIC           6      /* Pictured.  */
                    213: #define DST__K_TS_ARRAY         7
                    214: #define DST__K_TS_SET           8
                    215: #define DST__K_TS_SUBRANGE      9      /* Subrange.  */
                    216: #define DST__K_TS_ADA_DSC      10      /* Ada descriptor.  */
                    217: #define DST__K_TS_FILE         11
                    218: #define DST__K_TS_AREA         12      /* Area (PL/I).  */
                    219: #define DST__K_TS_OFFSET       13      /* Offset (PL/I).  */
                    220: #define DST__K_TS_NOV_LENG     14      /* Novel Length.  */
                    221: #define DST__K_TS_IND_TSPEC    15      /* Internal to debugger.  */
                    222: #define DST__K_TS_SELF_REL_LABEL 16    /* Self-relative label (PL/I).  */
                    223: #define DST__K_TS_RFA          17      /* (Basic).  */
                    224: #define DST__K_TS_TASK         18      /* (Ada).  */
                    225: #define DST__K_TS_ADA_ARRAY    19
                    226: #define DST__K_TS_XMOD_IND     20      /* Cross-module indirect type spec.  */
                    227: #define DST__K_TS_CONSTRAINED  21      /* (Ada).  */
                    228: #define DST__K_TS_MAYBE_CONSTR 22      /* Might-be-constrained (Ada).  */
                    229: #define DST__K_TS_DYN_LOV_LENG 23
                    230: #define DST__K_TS_TPTR_D       24      /* Typed pointer to descriptor.  */
                    231: #define DST__K_TS_SCAN_TREE    25
                    232: #define DST__K_TS_SCAN_TREEPTR 26
                    233: #define DST__K_TS_INCOMPLETE   27
                    234: #define DST__K_TS_BLISS_BLOCK  28
                    235: #define DST__K_TS_TPTR_64      29
                    236: #define DST__K_TS_PTR_64       30
                    237: #define DST__K_TS_REF          31      /* C++ referenced type.  */
                    238: #define DST__K_TS_REF_64       32
                    239:
                    240: /* Value Specification.  */
                    241: #define DST__K_VFLAGS_NOVAL    128 /* No value.  */
                    242: #define DST__K_VFLAGS_NOTACTIVE        248 /* Not active at current PC.  */
                    243: #define DST__K_VFLAGS_UNALLOC  249 /* Not allocated.  */
                    244: #define DST__K_VFLAGS_DSC      250 /* Descriptor format.  */
                    245: #define DST__K_VFLAGS_TVS      251 /* Trailing value spec.  */
                    246: #define DST__K_VS_FOLLOWS      253 /* Value specification follow.  */
                    247: #define DST__K_VFLAGS_BITOFFS  255 /* Value is a bit offset.  */
                    248:
                    249: /* Vflags fields.  */
                    250: #define DST__K_VALKIND_MASK 0x03
                    251: #define DST__K_INDIR        0x04
                    252: #define DST__K_DISP         0x08
                    253: #define DST__K_REGNUM_MASK  0xf0
                    254: #define DST__K_REGNUM_SHIFT  4
                    255:
                    256: #define DST__K_VALKIND_LITERAL 0
                    257: #define DST__K_VALKIND_ADDR    1
                    258: #define DST__K_VALKIND_DESC    2
                    259: #define DST__K_VALKIND_REG     3
                    260:
                    261: /* Label.  */
                    262: #define DST__K_LABEL 187
                    263:
                    264: struct vms_dst_label
                    265: {
                    266:   unsigned char unused;
                    267:
                    268:   unsigned char value[4];
                    269:   unsigned char name[1];
                    270: };
                    271:
                    272: /* Discontiguous range.  */
                    273: #define DST__K_DIS_RANGE 118
                    274: #endif /* _VMS_DST_H */

CVSweb <webmaster@jp.NetBSD.org>