Commit | Line | Data |
---|---|---|
20c428fd JB |
1 | /* machine description file for Gould PowerNodes with UTX/32 2.0 and 2.1. |
2 | (See MACHINES for older versions.) | |
3 | ||
4 | * NOTE: If you are running a pre-release of UTX/32 2.1 you should #define | |
5 | * RELEASE2_1 in config.h. This may also be necessary with un-updated | |
6 | * official releases of 2.1 | |
7 | ||
d8f6d720 | 8 | Copyright (C) 1986, 2002 Free Software Foundation, Inc. |
20c428fd JB |
9 | |
10 | This file is part of GNU Emacs. | |
11 | ||
12 | GNU Emacs is free software; you can redistribute it and/or modify | |
13 | it under the terms of the GNU General Public License as published by | |
17385adc | 14 | the Free Software Foundation; either version 2, or (at your option) |
20c428fd JB |
15 | any later version. |
16 | ||
17 | GNU Emacs is distributed in the hope that it will be useful, | |
18 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | GNU General Public License for more details. | |
21 | ||
22 | You should have received a copy of the GNU General Public License | |
23 | along with GNU Emacs; see the file COPYING. If not, write to | |
3b7ad313 EN |
24 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
25 | Boston, MA 02111-1307, USA. */ | |
20c428fd JB |
26 | |
27 | ||
177c0ea7 | 28 | /* The following line tells the configuration script what sort of |
20c428fd JB |
29 | operating system this machine is likely to run. |
30 | USUAL-OPSYS="note" | |
31 | ||
32 | NOTE-START | |
33 | Gould Power Node (-machine=gould -opsystem=bsd4-2 or bsd4-3) | |
34 | (gould.h; s-bsd4-2.h or s-bsd4-3.h) | |
35 | ||
36 | 18.36 worked on versions 1.2 and 2.0 of the operating system. | |
37 | ||
38 | On UTX/32 2.0, use -opsystem=bsd4-3 | |
39 | ||
177c0ea7 JB |
40 | On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that compiling |
41 | lib-src/sorted-doc tickles a compiler bug: remove the -g flag to cc in the | |
20c428fd JB |
42 | makefile. |
43 | ||
177c0ea7 | 44 | UTX/32 1.3 has a bug in the bcopy library routine. Fix it by |
20c428fd JB |
45 | #undef BSTRING in gould.h. |
46 | ||
47 | Version 19 incorporates support for releases 2.1 and later of UTX/32. | |
48 | A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h. | |
49 | NOTE-END */ | |
50 | ||
74d3f806 KH |
51 | /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word |
52 | is the most significant byte. */ | |
53 | ||
54 | #define WORDS_BIG_ENDIAN | |
55 | ||
20c428fd JB |
56 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a |
57 | * group of arguments and treat it as an array of the arguments. */ | |
58 | ||
59 | #define NO_ARG_ARRAY | |
60 | ||
61 | /* Define WORD_MACHINE if addresses and such have | |
62 | * to be corrected before they can be used as byte counts. */ | |
63 | ||
64 | /* #define WORD_MACHINE */ | |
65 | ||
20c428fd JB |
66 | /* Now define a symbol for the cpu type, if your compiler |
67 | does not define it automatically */ | |
68 | ||
69 | #ifndef GOULD | |
70 | #define GOULD | |
71 | #endif | |
72 | ||
177c0ea7 | 73 | /* sel is an old preprocessor name on gould machines |
20c428fd JB |
74 | - it is no longer needed and interferes with a variable in xmenu.c */ |
75 | #undef sel | |
76 | ||
77 | /* Use type int rather than a union, to represent Lisp_Object */ | |
78 | /* This is desirable for most machines. */ | |
79 | ||
80 | #define NO_UNION_TYPE | |
81 | ||
82 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | |
83 | the 24-bit bit field into an int. In other words, if bit fields | |
84 | are always unsigned. | |
85 | ||
86 | If you use NO_UNION_TYPE, this flag does not matter. */ | |
87 | ||
88 | #define EXPLICIT_SIGN_EXTEND | |
89 | ||
90 | /* Data type of load average, as read out of kmem. */ | |
91 | ||
92 | #define LOAD_AVE_TYPE double | |
93 | ||
94 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | |
95 | ||
96 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) | |
97 | ||
98 | /* Define CANNOT_DUMP on machines where unexec does not work. | |
99 | Then the function dump-emacs will not be defined | |
100 | and temacs will do (load "loadup") automatically unless told otherwise. */ | |
101 | ||
102 | /* #define CANNOT_DUMP */ | |
103 | ||
104 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | |
105 | pure and impure space as loaded can vary, and even their | |
106 | relative order cannot be relied on. | |
107 | ||
108 | Otherwise Emacs assumes that text space precedes data space, | |
109 | numerically. */ | |
110 | ||
111 | #define VIRT_ADDR_VARIES | |
112 | ||
20c428fd JB |
113 | /* No need to extend the user stack. */ |
114 | ||
115 | /* If this is a 2.1 system, COFF will be predefined by cpp. If it's */ | |
116 | /* pre-2.1 COFF won't be defined, which is as it should be. */ | |
117 | ||
118 | #ifdef COFF | |
119 | ||
120 | #define HEADER_INCL_IN_TEXT | |
121 | #define COFF_BSD_SYMBOLS | |
122 | ||
123 | /* Seems to be necessary with coff */ | |
124 | #define NO_REMAP | |
125 | ||
126 | #ifndef GOULD_NP1 | |
127 | /* gould-np1.h includes this file */ | |
128 | /* keep the old value - don't skip over the headers */ | |
129 | #define KEEP_OLD_TEXT_SCNPTR | |
130 | #define KEEP_OLD_PADDR | |
131 | #ifndef RELEASE2_1 | |
132 | #define ADJUST_TEXTBASE | |
133 | #endif /*RELEASE2_1*/ | |
134 | #endif /* GOULD_NP1 */ | |
135 | ||
136 | #ifdef IN_UNEXEC | |
137 | /* make Gould NP and PN COFF look like USG COFF */ | |
138 | /* PN COFF */ | |
139 | #define aouthdr old_exec | |
140 | /* PN COFF doesn't have a data_start or a_dtbase field in its */ | |
141 | /* optional header, so substitute a junk field */ | |
142 | #define a_dtbase a_ccvers | |
143 | /* Gould COFF */ | |
144 | #define magic a_magic | |
145 | #define tsize a_text | |
146 | #define dsize a_data | |
147 | #define bsize a_bss | |
148 | #define entry a_entry | |
149 | #define text_start a_txbase | |
150 | #define data_start a_dtbase | |
151 | #endif /* IN_UNEXEC */ | |
152 | ||
153 | /* Define how to search all pty names. | |
154 | * This is for UTX 2.1 and greater on PN and all NP versions. It is only | |
155 | * accident that this happens to correspond to the same versions of UTX | |
156 | * as COFF does, but we'll take advantage of that here. | |
157 | */ | |
158 | ||
159 | /*#define USE_PTY_PAIR*/ | |
160 | ||
161 | #endif /* COFF */ | |
162 | ||
163 | /* -g is sometimes broken on the Gould. */ | |
164 | ||
165 | #define C_DEBUG_SWITCH | |
166 | ||
167 | /* Comparing pointers as unsigned ints tickles a bug in older compilers. */ | |
168 | ||
169 | #define PNTR_COMPARISON_TYPE int | |
170 | ||
171 | /* The GOULD machine counts the a.out file header as part of the text. */ | |
172 | ||
173 | #define A_TEXT_OFFSET(HDR) sizeof (HDR) | |
174 | ||
175 | /* Machine-dependent action when about to dump an executable file. */ | |
176 | ||
177 | #ifndef COFF | |
178 | #define ADJUST_EXEC_HEADER \ | |
179 | unexec_text_start = hdr.a_txbase + sizeof (hdr); | |
180 | #endif | |
181 | ||
182 | /* We use the system's crt0.o. Somehow it avoids losing | |
183 | with `environ' the way most standard crt0.o's do. */ | |
184 | ||
185 | #define START_FILES pre-crt0.o /lib/crt0.o | |
6b61353c KH |
186 | |
187 | /* arch-tag: 930cb9ef-f56f-4c06-aea0-5e81103bbf58 | |
188 | (do not change this comment) */ |