Subversion Repositories tendra.SVN

Rev

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

Rev Author Line No. Line
2 7u83 1
/*
6 7u83 2
 * Copyright (c) 2002-2005 The TenDRA Project <http://www.tendra.org/>.
3
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions are met:
7
 *
8
 * 1. Redistributions of source code must retain the above copyright notice,
9
 *    this list of conditions and the following disclaimer.
10
 * 2. Redistributions in binary form must reproduce the above copyright notice,
11
 *    this list of conditions and the following disclaimer in the documentation
12
 *    and/or other materials provided with the distribution.
13
 * 3. Neither the name of The TenDRA Project nor the names of its contributors
14
 *    may be used to endorse or promote products derived from this software
15
 *    without specific, prior written permission.
16
 *
17
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
18
 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
19
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
21
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22
 * EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
 *
29
 * $Id$
30
 */
31
/*
2 7u83 32
    		 Crown Copyright (c) 1997
6 7u83 33
 
2 7u83 34
    This TenDRA(r) Computer Program is subject to Copyright
35
    owned by the United Kingdom Secretary of State for Defence
36
    acting through the Defence Evaluation and Research Agency
37
    (DERA).  It is made available to Recipients with a
38
    royalty-free licence for its use, reproduction, transfer
39
    to other parties and amendment for any purpose not excluding
40
    product development provided that any such use et cetera
41
    shall be deemed to be acceptance of the following conditions:-
6 7u83 42
 
2 7u83 43
        (1) Its Recipients shall ensure that this Notice is
44
        reproduced upon any copies or amended versions of it;
6 7u83 45
 
2 7u83 46
        (2) Any amended version of it shall be clearly marked to
47
        show both the nature of and the organisation responsible
48
        for the relevant amendment or amendments;
6 7u83 49
 
2 7u83 50
        (3) Its onward transfer from a recipient to another
51
        party shall be deemed to be that party's acceptance of
52
        these conditions;
6 7u83 53
 
2 7u83 54
        (4) DERA gives no warranty or assurance as to its
55
        quality or suitability for any purpose and DERA accepts
56
        no liability whatsoever in relation to any use to which
57
        it may be put.
58
*/
59
 
60
 
61
 
62
 
63
/*
64
			    VERSION INFORMATION
65
			    ===================
66
 
67
--------------------------------------------------------------------------
68
$Header: /u/g/release/CVSROOT/Source/src/installers/sparc/sunos/config.h,v 1.3 1998/03/16 11:25:38 release Exp $
69
--------------------------------------------------------------------------
70
$Log: config.h,v $
71
 * Revision 1.3  1998/03/16  11:25:38  release
72
 * Modifications prior to version 4.1.2.
73
 *
74
 * Revision 1.2  1998/03/11  11:04:08  pwe
75
 * DWARF optimisation info
76
 *
77
 * Revision 1.1.1.1  1998/01/17  15:55:56  release
78
 * First version to be checked into rolling release.
79
 *
80
 * Revision 1.3  1998/01/11  15:18:01  pwe
81
 * remove NEWDIAGS
82
 *
83
 * Revision 1.2  1997/04/01  17:17:59  pwe
84
 * diagnose pl_tests
85
 *
86
 * Revision 1.1  1997/03/24  17:10:10  pwe
87
 * reorganise solaris/sunos split
88
 *
89
 * Revision 1.13  1996/08/23  12:07:53  pwe
90
 * treat complex parameter as struct
91
 *
92
 * Revision 1.12  1996/08/15  15:34:48  pwe
93
 * mod for PWE ownership
94
 *
95
 * Revision 1.11  1996/04/16  10:53:36  john
96
 * Changed comment
97
 *
98
 * Revision 1.10  1996/01/25  16:09:58  john
99
 * Removed shape check
100
 *
101
 * Revision 1.9  1995/12/15  10:11:55  john
102
 * Added promote_pars
103
 *
104
 * Revision 1.8  1995/09/20  12:29:53  john
105
 * Change to common flag
106
 *
107
 * Revision 1.7  1995/09/13  11:00:40  john
108
 * added HAS_MAGIC flag
109
 *
110
 * Revision 1.6  1995/09/13  08:17:49  john
111
 * *** empty log message ***
112
 *
113
 * Revision 1.5  1995/07/20  15:39:40  john
114
 * added definition of diagnose_registers
115
 *
116
 * Revision 1.4  1995/07/14  16:30:06  john
117
 * Added new flag
118
 *
119
 * Revision 1.3  1995/06/27  08:47:05  john
120
 * Added has_rotate definition
121
 *
122
 * Revision 1.2  1995/05/26  12:57:09  john
123
 * New option: has_bitfield_ops
124
 *
125
 * Revision 1.1.1.1  1995/03/13  10:18:30  john
126
 * Entered into CVS
127
 *
128
 * Revision 1.7  1995/01/10  09:34:46  john
129
 * Added definition of value_of_null
130
 *
131
 * Revision 1.6  1995/01/10  09:34:03  john
132
 * Added configuration macros for case transform code.
133
 *
134
 * Revision 1.5  1994/10/26  13:49:55  djch
135
 * now use good_pointer_factor for bettere speed
136
 *
137
 * Revision 1.4  1994/07/04  09:24:54  djch
138
 * Jun94 tape version
139
 *
140
 * Revision 1.3  1994/07/04  08:35:10  djch
141
 * added target_system name. added div0_implemented and
142
 * remove_unused_index_counters
143
 *
144
 * Revision 1.2  1994/05/24  12:03:52  djch
145
 * Added parameters for the new foralls.c - initial values form pdh
146
 *
147
 * Revision 1.1  1994/05/03  14:50:09  djch
148
 * Initial revision
149
 *
150
 * Revision 1.5  94/02/21  16:10:35  16:10:35  ra (Robert Andrews)
151
 * Move compiler stuff into compiler.h.
6 7u83 152
 *
2 7u83 153
 * Revision 1.4  93/09/27  14:40:48  14:40:48  ra (Robert Andrews)
154
 * Make use_long_double and target_dbl_maxexp depend on the value of
155
 * SYSV_ABI.  Introduce use_link_stuff to control output of System V
156
 * .ident and .weak directives.
6 7u83 157
 *
2 7u83 158
 * Revision 1.3  93/08/18  11:09:18  11:09:18  ra (Robert Andrews)
159
 * Changed method of specifying UNIX_SV and SOLARIS versions (just define
160
 * these macros).
6 7u83 161
 *
2 7u83 162
 * Revision 1.2  93/07/08  18:18:57  18:18:57  ra (Robert Andrews)
163
 * Added keep_PIC_vars, necessary for position independent code.
6 7u83 164
 *
2 7u83 165
 * Revision 1.1  93/06/24  14:58:06  14:58:06  ra (Robert Andrews)
166
 * Initial revision
6 7u83 167
 *
2 7u83 168
--------------------------------------------------------------------------
169
*/
170
 
171
 
172
#ifndef CONFIG_INCLUDED
173
#define CONFIG_INCLUDED
174
 
175
/*
176
    HISTORY
177
 
178
    The TDF->SPARC translator was based on the TDF->MIPS translator
179
    written by Ian Currie <currie@uk.mod.hermes> of DRA, Malvern, UK
180
    by Richard Wendland <richard@uk.co.praxis> of Praxis Systems plc,
181
    Bath, UK.  It has subsequently been maintained and developed by
182
    David Brownbridge <drb@uk.co.praxis> at Praxis and Robert Andrews
183
    <rca@uk.mod.hermes> at DRA.
184
*/
185
 
186
 
187
/* API SPECIFICATION */
188
#include "ossg_api.h"
189
#include "ossg.h"
190
 
191
#ifndef FS_LITTLE_ENDIAN
192
#define FS_LITTLE_ENDIAN	0
193
#endif
194
 
195
#define null			NULL
196
 
197
 
198
#ifdef __GNUC__
199
#ifdef __sun__
200
/* SunOS 4.1.3 doesn't have these in stdio.h */
6 7u83 201
extern int fputs(const char *, FILE*);
202
extern int fputc(int , FILE*);
203
extern int fprintf(FILE*,const char*, ...);
204
extern size_t fread(void*, size_t, size_t, FILE*);
205
extern int fflush(FILE *);
206
extern int fclose(FILE *);
207
extern int fgetc(FILE *);
208
extern int remove(const char *);
209
extern void setbuf(FILE *, char *);
2 7u83 210
#endif
211
#endif
212
 
213
 
214
/* Settings for SunOS 4 and Solaris 1 */
215
#define SYSV_ABI		0
216
#define SYSV_AS			0
217
#define DWARF			0
218
#define target_system		"SunOS 4.1.3"
219
#define ADDUNDERSCORE		1
220
 
221
 
222
/* MACHINE IDENTIFIERS */
223
#define is68000			0
224
#define is80x86			0
225
#define ismips			0
226
#define ispower			0
227
#define issco			0
228
#define isAlpha                 0
229
#define issparc			1
230
#define isvax			0
231
 
232
 
233
/* CONFIGURATION OPTIONS */
234
 
235
#define GENCOMPAT		1
236
 
237
 
6 7u83 238
#define check_shape		1  /* interaction with parameter alignments is
2 7u83 239
				      now allowed for in install_fns */
240
#define dont_unpad_apply	1
241
#define has_byte_ops		0
242
#define has_byte_regs		0
243
#define has_neg_shift		0
244
#define has_setcc		0
245
#define has64bits		0
246
#define keep_PIC_vars		1
247
#define little_end		0
248
#define no_bitfield_ops		0
249
#define only_inline_static	0
250
#define only_lengthen_ops	0
251
#define regable_union		1
252
#define remove_zero_offsets	0
253
#define replace_compound	0
254
#define shift_is_byte		0
255
#define special_fns		0
256
#define substitute_params	0
257
#define substitute_complex	1
258
#define use_link_stuff		SYSV_AS
259
#define div0_implemented 	1
260
 
261
/* foralls config */
262
#define remove_unused_counters 0
263
#define remove_unused_index_counters 1
264
 
6 7u83 265
#define good_index_factor(f)0
266
#define good_pointer_factor(f)1
2 7u83 267
 
268
#if SYSV_ABI
269
#define target_dbl_maxexp	16384
270
#define use_long_double		1
271
#else
272
#define target_dbl_maxexp	308
273
#define use_long_double		0
274
#endif
275
 
276
#define do_case_transforms 0
277
#define jump_table_density 10
278
#define non_default_entries 4
279
#define non_default_destinations 2
280
 
281
#define value_of_null 0
282
 
283
#define has_bitfield_ops 0
284
 
285
#define has_rotate 0
286
 
287
/* This shouldn't really be solaris specific.  It depends on whether or not
6 7u83 288
   the processor correctly implements the sdivcc and udivcc instructions.
2 7u83 289
   These are part of the SPARC v8 architecture but their implementation
290
   (via software) on some implementations does not meet the specification
291
   with respect to overflow detection.
292
   */
293
#define DIV_SETS_CC 0
294
 
295
#define diagnose_registers 1
296
 
297
#define HAS_MAGIC 1
298
 
299
#define promote_pars 1
300
 
301
	/* condition for shape to be treated as a struct */
6 7u83 302
#define sparccpd(s)(name(s) == cpdhd || name(s) == nofhd || \
303
			name(s) == shcomplexhd || shape_size(s) >64 || \
2 7u83 304
			name(s) == u64hd || name(s) == s64hd)
305
 
306
#endif /* CONFIG_INCLUDED */
307
 
308
 
309