Subversion Repositories tendra.SVN

Rev

Go to most recent revision | Details | 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/sunos/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:08  pwe
45
 * DWARF optimisation info
46
 *
47
 * Revision 1.1.1.1  1998/01/17  15:55:56  release
48
 * First version to be checked into rolling release.
49
 *
50
 * Revision 1.3  1998/01/11  15:18:01  pwe
51
 * remove NEWDIAGS
52
 *
53
 * Revision 1.2  1997/04/01  17:17:59  pwe
54
 * diagnose pl_tests
55
 *
56
 * Revision 1.1  1997/03/24  17:10:10  pwe
57
 * reorganise solaris/sunos split
58
 *
59
 * Revision 1.13  1996/08/23  12:07:53  pwe
60
 * treat complex parameter as struct
61
 *
62
 * Revision 1.12  1996/08/15  15:34:48  pwe
63
 * mod for PWE ownership
64
 *
65
 * Revision 1.11  1996/04/16  10:53:36  john
66
 * Changed comment
67
 *
68
 * Revision 1.10  1996/01/25  16:09:58  john
69
 * Removed shape check
70
 *
71
 * Revision 1.9  1995/12/15  10:11:55  john
72
 * Added promote_pars
73
 *
74
 * Revision 1.8  1995/09/20  12:29:53  john
75
 * Change to common flag
76
 *
77
 * Revision 1.7  1995/09/13  11:00:40  john
78
 * added HAS_MAGIC flag
79
 *
80
 * Revision 1.6  1995/09/13  08:17:49  john
81
 * *** empty log message ***
82
 *
83
 * Revision 1.5  1995/07/20  15:39:40  john
84
 * added definition of diagnose_registers
85
 *
86
 * Revision 1.4  1995/07/14  16:30:06  john
87
 * Added new flag
88
 *
89
 * Revision 1.3  1995/06/27  08:47:05  john
90
 * Added has_rotate definition
91
 *
92
 * Revision 1.2  1995/05/26  12:57:09  john
93
 * New option: has_bitfield_ops
94
 *
95
 * Revision 1.1.1.1  1995/03/13  10:18:30  john
96
 * Entered into CVS
97
 *
98
 * Revision 1.7  1995/01/10  09:34:46  john
99
 * Added definition of value_of_null
100
 *
101
 * Revision 1.6  1995/01/10  09:34:03  john
102
 * Added configuration macros for case transform code.
103
 *
104
 * Revision 1.5  1994/10/26  13:49:55  djch
105
 * now use good_pointer_factor for bettere speed
106
 *
107
 * Revision 1.4  1994/07/04  09:24:54  djch
108
 * Jun94 tape version
109
 *
110
 * Revision 1.3  1994/07/04  08:35:10  djch
111
 * added target_system name. added div0_implemented and
112
 * remove_unused_index_counters
113
 *
114
 * Revision 1.2  1994/05/24  12:03:52  djch
115
 * Added parameters for the new foralls.c - initial values form pdh
116
 *
117
 * Revision 1.1  1994/05/03  14:50:09  djch
118
 * Initial revision
119
 *
120
 * Revision 1.5  94/02/21  16:10:35  16:10:35  ra (Robert Andrews)
121
 * Move compiler stuff into compiler.h.
122
 * 
123
 * Revision 1.4  93/09/27  14:40:48  14:40:48  ra (Robert Andrews)
124
 * Make use_long_double and target_dbl_maxexp depend on the value of
125
 * SYSV_ABI.  Introduce use_link_stuff to control output of System V
126
 * .ident and .weak directives.
127
 * 
128
 * Revision 1.3  93/08/18  11:09:18  11:09:18  ra (Robert Andrews)
129
 * Changed method of specifying UNIX_SV and SOLARIS versions (just define
130
 * these macros).
131
 * 
132
 * Revision 1.2  93/07/08  18:18:57  18:18:57  ra (Robert Andrews)
133
 * Added keep_PIC_vars, necessary for position independent code.
134
 * 
135
 * Revision 1.1  93/06/24  14:58:06  14:58:06  ra (Robert Andrews)
136
 * Initial revision
137
 * 
138
--------------------------------------------------------------------------
139
*/
140
 
141
 
142
#ifndef CONFIG_INCLUDED
143
#define CONFIG_INCLUDED
144
 
145
/*
146
    HISTORY
147
 
148
    The TDF->SPARC translator was based on the TDF->MIPS translator
149
    written by Ian Currie <currie@uk.mod.hermes> of DRA, Malvern, UK
150
    by Richard Wendland <richard@uk.co.praxis> of Praxis Systems plc,
151
    Bath, UK.  It has subsequently been maintained and developed by
152
    David Brownbridge <drb@uk.co.praxis> at Praxis and Robert Andrews
153
    <rca@uk.mod.hermes> at DRA.
154
*/
155
 
156
 
157
/* API SPECIFICATION */
158
#include "ossg_api.h"
159
#include "ossg.h"
160
 
161
#ifndef FS_LITTLE_ENDIAN
162
#define FS_LITTLE_ENDIAN	0
163
#endif
164
 
165
#define null			NULL
166
 
167
 
168
#ifdef __GNUC__
169
#ifdef __sun__
170
/* SunOS 4.1.3 doesn't have these in stdio.h */
171
extern int fputs PROTO_S((const char *, FILE*));
172
extern int fputc PROTO_S((int , FILE*));
173
extern int fprintf PROTO_W((FILE*,const char*, ...));
174
extern size_t fread PROTO_S((void*, size_t, size_t, FILE*));
175
extern int fflush PROTO_S((FILE *));
176
extern int fclose PROTO_S((FILE *));
177
extern int fgetc PROTO_S((FILE *));
178
extern int remove PROTO_S((const char *));
179
extern void setbuf PROTO_S((FILE *, char *));
180
#endif
181
#endif
182
 
183
 
184
/* Settings for SunOS 4 and Solaris 1 */
185
#define SYSV_ABI		0
186
#define SYSV_AS			0
187
#define DWARF			0
188
#define target_system		"SunOS 4.1.3"
189
#define ADDUNDERSCORE		1
190
 
191
 
192
/* MACHINE IDENTIFIERS */
193
#define is68000			0
194
#define is80x86			0
195
#define ismips			0
196
#define ispower			0
197
#define issco			0
198
#define isAlpha                 0
199
#define issparc			1
200
#define isvax			0
201
 
202
 
203
/* CONFIGURATION OPTIONS */
204
 
205
#define GENCOMPAT		1
206
 
207
 
208
#define check_shape		1  /* interaction with parameter alignments is 
209
				      now allowed for in install_fns */
210
#define dont_unpad_apply	1
211
#define has_byte_ops		0
212
#define has_byte_regs		0
213
#define has_neg_shift		0
214
#define has_setcc		0
215
#define has64bits		0
216
#define keep_PIC_vars		1
217
#define little_end		0
218
#define no_bitfield_ops		0
219
#define only_inline_static	0
220
#define only_lengthen_ops	0
221
#define regable_union		1
222
#define remove_zero_offsets	0
223
#define replace_compound	0
224
#define shift_is_byte		0
225
#define special_fns		0
226
#define substitute_params	0
227
#define substitute_complex	1
228
#define use_link_stuff		SYSV_AS
229
#define div0_implemented 	1
230
 
231
/* foralls config */
232
#define remove_unused_counters 0
233
#define remove_unused_index_counters 1
234
 
235
#define good_index_factor(f) 0
236
#define good_pointer_factor(f) 1
237
 
238
#if SYSV_ABI
239
#define target_dbl_maxexp	16384
240
#define use_long_double		1
241
#else
242
#define target_dbl_maxexp	308
243
#define use_long_double		0
244
#endif
245
 
246
#define do_case_transforms 0
247
#define jump_table_density 10
248
#define non_default_entries 4
249
#define non_default_destinations 2
250
 
251
#define value_of_null 0
252
 
253
#define has_bitfield_ops 0
254
 
255
#define has_rotate 0
256
 
257
/* This shouldn't really be solaris specific.  It depends on whether or not
258
   the processor correctly implements the sdivcc and udivcc instructions. 
259
   These are part of the SPARC v8 architecture but their implementation
260
   (via software) on some implementations does not meet the specification
261
   with respect to overflow detection.
262
   */
263
#define DIV_SETS_CC 0
264
 
265
#define diagnose_registers 1
266
 
267
#define HAS_MAGIC 1
268
 
269
#define promote_pars 1
270
 
271
	/* condition for shape to be treated as a struct */
272
#define sparccpd(s) (name(s) == cpdhd || name(s) == nofhd || \
273
			name(s) == shcomplexhd || shape_size(s)>64 || \
274
			name(s) == u64hd || name(s) == s64hd)
275
 
276
#endif /* CONFIG_INCLUDED */
277
 
278
 
279