OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [vmsdbg.h] - Blame information for rev 454

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 280 jeremybenn
/* Definitions for the data structures and codes used in VMS debugging.
2
   Copyright (C) 2001, 2007 Free Software Foundation, Inc.
3
 
4
This file is part of GCC.
5
 
6
GCC is free software; you can redistribute it and/or modify it under
7
the terms of the GNU General Public License as published by the Free
8
Software Foundation; either version 3, or (at your option) any later
9
version.
10
 
11
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12
WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14
for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GCC; see the file COPYING3.  If not see
18
<http://www.gnu.org/licenses/>.  */
19
 
20
#ifndef GCC_VMSDBG_H
21
#define GCC_VMSDBG_H 1
22
 
23
/*  We define types and constants used in VMS Debug output.  Note that the
24
    structs only approximate the output that is written.  We write the output
25
    explicitly, field by field.  This output would only agree with the
26
    structs in this file if no padding were done.  The sizes after each
27
    struct are the size actually written, which is usually smaller than the
28
    size of the struct.  */
29
 
30
/* Header type codes.  */
31
typedef enum _DST_TYPE {DST_K_SOURCE = 155, DST_K_PROLOG = 162,
32
                        DST_K_BLKBEG = 176, DST_K_BLKEND = 177,
33
                        DST_K_LINE_NUM = 185, DST_K_MODBEG = 188,
34
                        DST_K_MODEND = 189, DST_K_RTNBEG = 190,
35
                        DST_K_RTNEND = 191} DST_DTYPE;
36
 
37
/* Header.  */
38
 
39
typedef struct _DST_HEADER
40
{
41
  union
42
    {
43
      unsigned short int dst_w_length;
44
      unsigned short int dst_x_length;
45
    } dst__header_length;
46
  union
47
    {
48
      ENUM_BITFIELD (_DST_TYPE) dst_w_type : 16;
49
      ENUM_BITFIELD (_DST_TYPE) dst_x_type : 16;
50
    } dst__header_type;
51
} DST_HEADER;
52
#define DST_K_DST_HEADER_SIZE sizeof 4
53
 
54
/* Language type codes.  */
55
typedef enum _DST_LANGUAGE {DST_K_FORTRAN = 1, DST_K_C = 7, DST_K_ADA = 9,
56
                            DST_K_UNKNOWN = 10, DST_K_CXX = 15} DST_LANGUAGE;
57
 
58
/* Module header (a module is the result of a single compilation).  */
59
 
60
typedef struct _DST_MODULE_BEGIN
61
{
62
  DST_HEADER dst_a_modbeg_header;
63
  struct
64
    {
65
      unsigned dst_v_modbeg_hide : 1;
66
      unsigned dst_v_modbeg_version : 1;
67
      unsigned dst_v_modbeg_unused : 6;
68
    } dst_b_modbeg_flags;
69
  unsigned char dst_b_modbeg_unused;
70
  DST_LANGUAGE dst_l_modbeg_language;
71
  unsigned short int dst_w_version_major;
72
  unsigned short int dst_w_version_minor;
73
  unsigned char dst_b_modbeg_name;
74
} DST_MODULE_BEGIN;
75
#define DST_K_MODBEG_SIZE 15
76
 
77
/* Module trailer.  */
78
 
79
typedef struct _DST_MB_TRLR
80
{
81
  unsigned char dst_b_compiler;
82
} DST_MB_TRLR;
83
 
84
#define DST_K_MB_TRLR_SIZE 1
85
 
86
#define DST_K_VERSION_MAJOR 1
87
#define DST_K_VERSION_MINOR 13
88
 
89
typedef struct _DST_MODULE_END
90
{
91
  DST_HEADER dst_a_modend_header;
92
} DST_MODULE_END;
93
#define DST_K_MODEND_SIZE sizeof 4
94
 
95
/* Routine header.  */
96
 
97
typedef struct _DST_ROUTINE_BEGIN
98
{
99
  DST_HEADER dst_a_rtnbeg_header;
100
  struct
101
    {
102
      unsigned dst_v_rtnbeg_unused : 4;
103
      unsigned dst_v_rtnbeg_unalloc : 1;
104
      unsigned dst_v_rtnbeg_prototype : 1;
105
      unsigned dst_v_rtnbeg_inlined : 1;
106
      unsigned dst_v_rtnbeg_no_call : 1;
107
    } dst_b_rtnbeg_flags;
108
  int *dst_l_rtnbeg_address;
109
  int *dst_l_rtnbeg_pd_address;
110
  unsigned char dst_b_rtnbeg_name;
111
} DST_ROUTINE_BEGIN;
112
#define DST_K_RTNBEG_SIZE 14
113
 
114
/* Routine trailer */
115
 
116
typedef struct _DST_ROUTINE_END
117
{
118
  DST_HEADER dst_a_rtnend_header;
119
  char dst_b_rtnend_unused;
120
  unsigned int dst_l_rtnend_size;
121
} DST_ROUTINE_END;
122
#define DST_K_RTNEND_SIZE 9
123
 
124
/* Block header.  */
125
 
126
typedef struct _DST_BLOCK_BEGIN
127
{
128
  DST_HEADER dst_a_blkbeg_header;
129
  unsigned char dst_b_blkbeg_unused;
130
  int *dst_l_blkbeg_address;
131
  unsigned char dst_b_blkbeg_name;
132
} DST_BLOCK_BEGIN;
133
#define DST_K_BLKBEG_SIZE 10
134
 
135
/* Block trailer.  */
136
 
137
typedef struct _DST_BLOCK_END
138
{
139
  DST_HEADER dst_a_blkend_header;
140
  unsigned char dst_b_blkend_unused;
141
  unsigned int dst_l_blkend_size;
142
} DST_BLOCK_END;
143
#define DST_K_BLKEND_SIZE 9
144
 
145
/* Line number header.  */
146
 
147
typedef struct _DST_LINE_NUM_HEADER
148
{
149
  DST_HEADER dst_a_line_num_header;
150
} DST_LINE_NUM_HEADER;
151
#define DST_K_LINE_NUM_HEADER_SIZE 4
152
 
153
/* PC to Line number correlation.  */
154
 
155
typedef struct _DST_PCLINE_COMMANDS
156
{
157
  char dst_b_pcline_command;
158
  union
159
    {
160
      unsigned int dst_l_pcline_unslong;
161
      unsigned short int dst_w_pcline_unsword;
162
      unsigned char dst_b_pcline_unsbyte;
163
    } dst_a_pcline_access_fields;
164
} DST_PCLINE_COMMANDS;
165
 
166
/* PC and Line number correlation codes.  */
167
 
168
#define DST_K_PCLINE_COMMANDS_SIZE 5
169
#define DST_K_PCLINE_COMMANDS_SIZE_MIN 2
170
#define DST_K_PCLINE_COMMANDS_SIZE_MAX 5
171
#define DST_K_DELTA_PC_LOW -128
172
#define DST_K_DELTA_PC_HIGH 0
173
#define DST_K_DELTA_PC_W 1
174
#define DST_K_INCR_LINUM 2
175
#define DST_K_INCR_LINUM_W 3
176
#define DST_K_SET_LINUM 9
177
#define DST_K_SET_ABS_PC 16
178
#define DST_K_DELTA_PC_L 17
179
#define DST_K_INCR_LINUM_L 18
180
#define DST_K_SET_LINUM_B 19
181
#define DST_K_SET_LINUM_L 20
182
 
183
/* Source file correlation header.  */
184
 
185
typedef struct _DST_SOURCE_CORR
186
{
187
  DST_HEADER dst_a_source_corr_header;
188
} DST_SOURCE_CORR;
189
#define DST_K_SOURCE_CORR_HEADER_SIZE 4
190
 
191
/* Source file correlation codes.  */
192
 
193
#define DST_K_SRC_DECLFILE 1
194
#define DST_K_SRC_SETFILE 2
195
#define DST_K_SRC_SETREC_L 3
196
#define DST_K_SRC_SETREC_W 4
197
#define DST_K_SRC_SETLNUM_L 5
198
#define DST_K_SRC_SETLNUM_W 6
199
#define DST_K_SRC_INCRLNUM_B 7
200
#define DST_K_SRC_DEFLINES_W 10
201
#define DST_K_SRC_DEFLINES_B 11
202
#define DST_K_SRC_FORMFEED 16
203
#define DST_K_SRC_MIN_CMD 1
204
#define DST_K_SRC_MAX_CMD 16
205
 
206
/* Source file header.  */
207
 
208
typedef struct _DST_SRC_COMMAND
209
{
210
  unsigned char dst_b_src_command;
211
  union
212
    {
213
      struct
214
        {
215
          unsigned char dst_b_src_df_length;
216
          unsigned char dst_b_src_df_flags;
217
          unsigned short int dst_w_src_df_fileid;
218
#ifdef HAVE_LONG_LONG
219
          long long dst_q_src_df_rms_cdt;
220
#else
221
#ifdef HAVE___INT64
222
          __int64 dst_q_src_df_rms_cdt;
223
#endif
224
#endif
225
          unsigned int dst_l_src_df_rms_ebk;
226
          unsigned short int dst_w_src_df_rms_ffb;
227
          unsigned char dst_b_src_df_rms_rfo;
228
          unsigned char dst_b_src_df_filename;
229
        } dst_a_src_decl_src;
230
      unsigned int dst_l_src_unslong;
231
      unsigned short int dst_w_src_unsword;
232
      unsigned char dst_b_src_unsbyte;
233
    } dst_a_src_cmd_fields;
234
} DST_SRC_COMMAND;
235
#define DST_K_SRC_COMMAND_SIZE 21
236
 
237
/* Source file trailer.  */
238
 
239
typedef struct _DST_SRC_CMDTRLR
240
{
241
  unsigned char dst_b_src_df_libmodname;
242
} DST_SRC_CMDTRLR;
243
#define DST_K_SRC_CMDTRLR_SIZE 1
244
 
245
/* Prolog header.  */
246
 
247
typedef struct _DST_PROLOG
248
{
249
  DST_HEADER dst_a_prolog_header;
250
  unsigned int dst_l_prolog_bkpt_addr;
251
} DST_PROLOG;
252
#define DST_K_PROLOG_SIZE 8
253
 
254
#endif /* GCC_VMSDBG_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.