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