]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - include/vms/dst.h
2010-03-30 Doug Kwan <dougkwan@google.com>
[thirdparty/binutils-gdb.git] / include / vms / dst.h
CommitLineData
444a144f
TG
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
28struct 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
46struct vms_dst_modbeg
47{
48 unsigned char flags;
49 unsigned char unused;
50 unsigned char language[4];
51 unsigned char major[2];
52 unsigned char minor[2];
53 /* Module name ASCIC. */
54 /* Ident name ASCIC. */
55};
56
57/* Routine begin. */
58#define DST__K_RTNBEG 190
59
60struct vms_dst_rtnbeg
61{
62 unsigned char flags;
63
64 /* Address of the code. */
65 unsigned char address[4];
66
67 /* Procedure descriptor address. */
68 unsigned char pd_address[4];
69
70 /* Name: ASCIC */
71};
72
73/* Line number. */
74#define DST__K_LINE_NUM 185
75
76struct vms_dst_pcline
77{
78 unsigned char pcline_command;
79 unsigned char field[4];
80};
81
82#define DST__K_DELTA_PC_W 1
83#define DST__K_INCR_LINUM 2
84#define DST__K_INCR_LINUM_W 3
85#define DST__K_SET_LINUM 9
86#define DST__K_SET_LINUM_B 19
87#define DST__K_SET_LINUM_L 20
88#define DST__K_TERM 14
89#define DST__K_SET_ABS_PC 16
90#define DST__K_DELTA_PC_L 17
91
92/* Routine end. */
93#define DST__K_RTNEND 191
94
95struct vms_dst_rtnend
96{
97 unsigned char unused;
98 unsigned char size[4];
99};
100
101/* Prologue. */
102#define DST__K_PROLOG 162
103
104struct vms_dst_prolog
105{
106 unsigned char bkpt_addr[4];
107};
108
109/* Epilog. */
110#define DST__K_EPILOG 127
111
112struct vms_dst_epilog
113{
114 unsigned char flags;
115 unsigned char count[4];
116};
117
118/* Module end. */
119#define DST__K_MODEND 189
120
121/* Block begin. */
122#define DST__K_BLKBEG 176
123
124struct vms_dst_blkbeg
125{
126 unsigned char unused;
127 unsigned char address[4];
128 /* Name ASCIC. */
129};
130
131/* Block end. */
132#define DST__K_BLKEND 177
133
134struct vms_dst_blkend
135{
136 unsigned char unused;
137 unsigned char size[4];
138};
139
140/* Source correlation. */
141#define DST__K_SOURCE 155
142
143#define DST__K_SRC_DECLFILE 1
144#define DST__K_SRC_SETFILE 2
145#define DST__K_SRC_SETREC_L 3
146#define DST__K_SRC_SETREC_W 4
147#define DST__K_SRC_SETLNUM_L 5
148#define DST__K_SRC_SETLNUM_W 6
149#define DST__K_SRC_DEFLINES_W 10
150#define DST__K_SRC_DEFLINES_B 11
151#define DST__K_SRC_FORMFEED 16
152
153struct vms_dst_src_decl_src
154{
155 unsigned char length;
156 unsigned char flags;
157 unsigned char fileid[2];
158 unsigned char rms_cdt[8];
159 unsigned char rms_ebk[4];
160 unsigned char rms_ffb[2];
161 unsigned char rms_rfo;
162 /* Filename ASCIC. */
163};
164
165#endif /* _VMS_DST_H */