Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
 
31
 
32
 
33
/*
34
			    VERSION INFORMATION
35
			    ===================
36
 
37
--------------------------------------------------------------------------
38
$Header: /u/g/release/CVSROOT/Source/src/installers/sparc/solaris/config.h,v 1.3 1998/03/16 11:25:38 release Exp $
39
--------------------------------------------------------------------------
40
$Log: config.h,v $
41
 * Revision 1.3  1998/03/16  11:25:38  release
42
 * Modifications prior to version 4.1.2.
43
 *
44
 * Revision 1.2  1998/03/11  11:04:04  pwe
45
 * DWARF optimisation info
46
 *
47
 * Revision 1.1.1.1  1998/01/17  15:55:53  release
48
 * First version to be checked into rolling release.
49
 *
50
 * Revision 1.5  1997/12/05  10:39:13  pwe
51
 * system identification
52
 *
53
 * Revision 1.4  1997/10/10  18:33:26  pwe
54
 * prep ANDF-DE revision
55
 *
56
 * Revision 1.3  1997/04/17  12:00:19  pwe
57
 * dwarf2 support
58
 *
59
 * Revision 1.2  1997/04/01  17:17:37  pwe
60
 * diagnose pl_tests
61
 *
62
 * Revision 1.1  1997/03/24  17:09:53  pwe
63
 * reorganise solaris/sunos split
64
 *
65
 * Revision 1.13  1996/08/23  12:07:53  pwe
66
 * treat complex parameter as struct
67
 *
68
 * Revision 1.12  1996/08/15  15:34:48  pwe
69
 * mod for PWE ownership
70
 *
71
 * Revision 1.11  1996/04/16  10:53:36  john
72
 * Changed comment
73
 *
74
 * Revision 1.10  1996/01/25  16:09:58  john
75
 * Removed shape check
76
 *
77
 * Revision 1.9  1995/12/15  10:11:55  john
78
 * Added promote_pars
79
 *
80
 * Revision 1.8  1995/09/20  12:29:53  john
81
 * Change to common flag
82
 *
83
 * Revision 1.7  1995/09/13  11:00:40  john
84
 * added HAS_MAGIC flag
85
 *
86
 * Revision 1.6  1995/09/13  08:17:49  john
87
 * *** empty log message ***
88
 *
89
 * Revision 1.5  1995/07/20  15:39:40  john
90
 * added definition of diagnose_registers
91
 *
92
 * Revision 1.4  1995/07/14  16:30:06  john
93
 * Added new flag
94
 *
95
 * Revision 1.3  1995/06/27  08:47:05  john
96
 * Added has_rotate definition
97
 *
98
 * Revision 1.2  1995/05/26  12:57:09  john
99
 * New option: has_bitfield_ops
100
 *
101
 * Revision 1.1.1.1  1995/03/13  10:18:30  john
102
 * Entered into CVS
103
 *
104
 * Revision 1.7  1995/01/10  09:34:46  john
105
 * Added definition of value_of_null
106
 *
107
 * Revision 1.6  1995/01/10  09:34:03  john
108
 * Added configuration macros for case transform code.
109
 *
110
 * Revision 1.5  1994/10/26  13:49:55  djch
111
 * now use good_pointer_factor for bettere speed
112
 *
113
 * Revision 1.4  1994/07/04  09:24:54  djch
114
 * Jun94 tape version
115
 *
116
 * Revision 1.3  1994/07/04  08:35:10  djch
117
 * added target_system name. added div0_implemented and
118
 * remove_unused_index_counters
119
 *
120
 * Revision 1.2  1994/05/24  12:03:52  djch
121
 * Added parameters for the new foralls.c - initial values form pdh
122
 *
123
 * Revision 1.1  1994/05/03  14:50:09  djch
124
 * Initial revision
125
 *
126
 * Revision 1.5  94/02/21  16:10:35  16:10:35  ra (Robert Andrews)
127
 * Move compiler stuff into compiler.h.
128
 * 
129
 * Revision 1.4  93/09/27  14:40:48  14:40:48  ra (Robert Andrews)
130
 * Make use_long_double and target_dbl_maxexp depend on the value of
131
 * SYSV_ABI.  Introduce use_link_stuff to control output of System V
132
 * .ident and .weak directives.
133
 * 
134
 * Revision 1.3  93/08/18  11:09:18  11:09:18  ra (Robert Andrews)
135
 * Changed method of specifying UNIX_SV and SOLARIS versions (just define
136
 * these macros).
137
 * 
138
 * Revision 1.2  93/07/08  18:18:57  18:18:57  ra (Robert Andrews)
139
 * Added keep_PIC_vars, necessary for position independent code.
140
 * 
141
 * Revision 1.1  93/06/24  14:58:06  14:58:06  ra (Robert Andrews)
142
 * Initial revision
143
 * 
144
--------------------------------------------------------------------------
145
*/
146
 
147
 
148
#ifndef CONFIG_INCLUDED
149
#define CONFIG_INCLUDED
150
 
151
/*
152
    HISTORY
153
 
154
    The TDF->SPARC translator was based on the TDF->MIPS translator
155
    written by Ian Currie <currie@uk.mod.hermes> of DRA, Malvern, UK
156
    by Richard Wendland <richard@uk.co.praxis> of Praxis Systems plc,
157
    Bath, UK.  It has subsequently been maintained and developed by
158
    David Brownbridge <drb@uk.co.praxis> at Praxis and Robert Andrews
159
    <rca@uk.mod.hermes> at DRA.
160
*/
161
 
162
 
163
/* API SPECIFICATION */
164
#include "ossg_api.h"
165
#include "ossg.h"
166
 
167
#ifndef FS_LITTLE_ENDIAN
168
#define FS_LITTLE_ENDIAN	0
169
#endif
170
 
171
#define null			NULL
172
 
173
 
174
/* Settings for Solaris 2 */
175
#define SYSV_ABI		1
176
#define SYSV_AS			1
177
#define DWARF			0
178
#define target_system		"Solaris 2.4"
179
#define ADDUNDERSCORE		0
180
 
181
#define NEEDS_DEBUG_ALIGN	1
182
 
183
 
184
/* MACHINE IDENTIFIERS */
185
#define is68000			0
186
#define is80x86			0
187
#define ismips			0
188
#define ispower			0
189
#define issco			0
190
#define isAlpha                 0
191
#define issparc			1
192
#define isvax			0
193
 
194
 
195
/* CONFIGURATION OPTIONS */
196
 
197
#define GENCOMPAT		1
198
#define NEWDIAGS		1
199
#define NEWDWARF		1
200
 
201
#define has_asm			1
202
 
203
 
204
#define check_shape		1  /* interaction with parameter alignments is 
205
				      now allowed for in install_fns */
206
#define dont_unpad_apply	1
207
#define has_byte_ops		0
208
#define has_byte_regs		0
209
#define has_neg_shift		0
210
#define has_setcc		0
211
#define has64bits		0
212
#define keep_PIC_vars		1
213
#define little_end		0
214
#define no_bitfield_ops		0
215
#define only_inline_static	0
216
#define only_lengthen_ops	0
217
#define regable_union		1
218
#define remove_zero_offsets	0
219
#define replace_compound	0
220
#define shift_is_byte		0
221
#define special_fns		0
222
#define substitute_params	0
223
#define substitute_complex	1
224
#define use_link_stuff		SYSV_AS
225
#define div0_implemented 	1
226
 
227
/* foralls config */
228
#define remove_unused_counters 0
229
#define remove_unused_index_counters 1
230
 
231
#define good_index_factor(f) 0
232
#define good_pointer_factor(f) 1
233
 
234
#if SYSV_ABI
235
#define target_dbl_maxexp	16384
236
#define use_long_double		1
237
#else
238
#define target_dbl_maxexp	308
239
#define use_long_double		0
240
#endif
241
 
242
#define do_case_transforms 0
243
#define jump_table_density 10
244
#define non_default_entries 4
245
#define non_default_destinations 2
246
 
247
#define value_of_null 0
248
 
249
#define has_bitfield_ops 0
250
 
251
#define has_rotate 0
252
 
253
/* This shouldn't really be solaris specific.  It depends on whether or not
254
   the processor correctly implements the sdivcc and udivcc instructions. 
255
   These are part of the SPARC v8 architecture but their implementation
256
   (via software) on some implementations does not meet the specification
257
   with respect to overflow detection.
258
   */
259
#define DIV_SETS_CC 1	
260
 
261
#define diagnose_registers 1
262
 
263
#define HAS_MAGIC 1
264
 
265
#define promote_pars 1
266
 
267
	/* condition for shape to be treated as a struct */
268
#define sparccpd(s) (name(s) == cpdhd || name(s) == nofhd || \
269
			name(s) == shcomplexhd || shape_size(s)>64 || \
270
			name(s) == u64hd || name(s) == s64hd)
271
 
272
#endif /* CONFIG_INCLUDED */
273
 
274
 
275