]>
Commit | Line | Data |
---|---|---|
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 | ||
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 | ||
46 | struct 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 | ||
60 | struct 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 | ||
76 | struct 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 | ||
95 | struct vms_dst_rtnend | |
96 | { | |
97 | unsigned char unused; | |
98 | unsigned char size[4]; | |
99 | }; | |
100 | ||
101 | /* Prologue. */ | |
102 | #define DST__K_PROLOG 162 | |
103 | ||
104 | struct vms_dst_prolog | |
105 | { | |
106 | unsigned char bkpt_addr[4]; | |
107 | }; | |
108 | ||
109 | /* Epilog. */ | |
110 | #define DST__K_EPILOG 127 | |
111 | ||
112 | struct 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 | ||
124 | struct 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 | ||
134 | struct 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 | ||
153 | struct 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 */ |