annotate src/m/alpha.h @ 175:2d532a89d707 r20-3b14

Import from CVS: tag r20-3b14
author cvs
date Mon, 13 Aug 2007 09:50:14 +0200
parents 5a88923fcbfe
children 084402c475ba
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 /* machine description file For the alpha chip.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 Copyright (C) 1994 Free Software Foundation, Inc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 This file is part of GNU Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 the Free Software Foundation; either version 1, or (at your option)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 any later version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 GNU General Public License for more details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 along with XEmacs; see the file COPYING. If not, write to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 /* Synched up with: FSF 19.31. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 /* The following line tells the configuration script what sort of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 operating system this machine is likely to run.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 USUAL-OPSYS="note"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 NOTE-START
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 Use -opsystem=osf1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 NOTE-END
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 #define DEC_ALPHA /* Digital Alpha AXP */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 /* Define WORD_MACHINE if addresses and such have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 * to be corrected before they can be used as byte counts. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 /* #define WORD_MACHINE */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 /* XEmacs addition: is this necessary? */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 /* XEmacs: Apparently not Andrew Cohen 8/24/95 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 /* Define how to take a char and sign-extend into an int.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 On machines where char is signed, this is a no-op. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 /* #define SIGN_EXTEND_CHAR(c) ((signed char)(c)) */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 /* Now define a symbol for the cpu type, if your compiler
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 does not define it automatically:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 Ones defined so far include vax, m68000, ns16000, pyramid,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 orion, tahoe, APOLLO and many others */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 /* __alpha defined automatically */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 /* Use type EMACS_INT rather than a union, to represent Lisp_Object */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 /* This is desirable for most machines. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 /* XEmacs change: something is not quite right with this defined. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 /* I'm sure this is because VALBITS is defined to be 28 instead of 60.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 --ben */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 #undef NO_UNION_TYPE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 /* Define the type to use. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 #define EMACS_INT long
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 #define EMACS_UINT unsigned long
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 #define SPECIAL_EMACS_INT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 the bit field into an int. In other words, if bit fields
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 are always unsigned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 If you use NO_UNION_TYPE, this flag does not matter. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 #define EXPLICIT_SIGN_EXTEND
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 /* Data type of load average, as read out of kmem. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 /* Load average requires special crocks. Version 19 has them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 For now, don't define this. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 #define LOAD_AVE_TYPE long
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 /* Convert that into an integer that is 100 for a load average of 1.0 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 /* Define CANNOT_DUMP on machines where unexec does not work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 Then the function dump-emacs will not be defined
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 and temacs will do (load "loadup") automatically unless told otherwise. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 /* #define CANNOT_DUMP */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 /* Define VIRT_ADDR_VARIES if the virtual addresses of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 pure and impure space as loaded can vary, and even their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 relative order cannot be relied on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 Otherwise Emacs assumes that text space precedes data space,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 numerically. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 /* #define VIRT_ADDR_VARIES */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 /* Define C_ALLOCA if this machine does not support a true alloca
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 and the one written in C should be used instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 Define HAVE_ALLOCA to say that the system provides a properly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 working alloca function and it should be used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 Define neither one if an assembler-language alloca
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 in the file alloca.s should be used. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 #define HAVE_ALLOCA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 /* GNU malloc and the relocating allocator do not work together
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 with X. [Who wrote that?] */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 /* May 1995: reportedly [Rainer Schoepf <schoepf@uni-mainz.de>] both the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 system and the gnu malloc system work with "alpha-dec-osf3.0" and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 "alpha-dec-osf3.2". */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 /* May 1995: it seems to me [Morten Welinder <terra@diku.dk>] that both
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 mallocs work with "alpha-dec-osf2.0", but I daren't break anything
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 right now. Feel free to play if you want. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 /* #define SYSTEM_MALLOC */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 /* Define NO_REMAP if memory segmentation makes it not work well
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 to change the boundary between the text section and data section
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 when Emacs is dumped. If you define this, the preloaded Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 code will not be sharable; but that's better than failing completely. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 /* #define NO_REMAP */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 /* Some really obscure 4.2-based systems (like Sequent DYNIX)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 * do not support asynchronous I/O (using SIGIO) on sockets,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 * even though it works fine on tty's. If you have one of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 * these systems, define the following, and then use it in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 * config.h (or elsewhere) to decide when (not) to use SIGIO.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 *
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 * You'd think this would go in an operating-system description file,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 * but since it only occurs on some, but not all, BSD systems, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 * reasonable place to select for it is in the machine description
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 * file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 /* #define NO_SOCK_SIGIO */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 #define HAVE_X11R4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 #define HAVE_X11R5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 /* Describe layout of the address space in an executing process. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 #define TEXT_START 0x120000000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 #define DATA_START 0x140000000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 #if 0 /* #### XEmacs: see below */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 /* This is necessary for mem-limits.h, so that start_of_data gives
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 the correct value */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 #define DATA_SEG_BITS 0x140000000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 #endif /* 0 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 #ifdef OSF1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 #define ORDINARY_LINK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 #endif /* OSF1 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 #if 0 /* Rainer Schoepf <schoepf@uni-mainz.de> says this loses with X11R6
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 since it has only shared libraries. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 #ifndef __GNUC__
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 /* This apparently is for the system ld as opposed to Gnu ld. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 #ifdef OSF1
163
0132846995bd Import from CVS: tag r20-3b8
cvs
parents: 151
diff changeset
170 #define LD_SWITCH_MACHINE "-non_shared"
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 #endif /* OSF1 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 #endif /* not __GNUC__ */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 #endif /* 0 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 #ifdef OSF1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 #define LIBS_DEBUG
163
0132846995bd Import from CVS: tag r20-3b8
cvs
parents: 151
diff changeset
177 #define START_FILES "pre-crt0.o "
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 #endif /* OSF1 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 #ifdef LINUX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 /* This controls a conditional in main. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 #define LINUX_SBRK_BUG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 #endif /* LINUX */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 /* The program to be used for unexec. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186
163
0132846995bd Import from CVS: tag r20-3b8
cvs
parents: 151
diff changeset
187 #define UNEXEC "unexalpha.o"
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 #if 0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 /* XEmacs -- removed code to define XINT, etc. This gets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 correctly handled automatically. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 /* Declare malloc and realloc in a way that is clean.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 But not in makefiles! */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197 #ifndef NOT_C_CODE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 /* We need these because pointers are larger than the default ints. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 #include <alloca.h>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 #endif /* not NOT_C_CODE */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 #endif /* 0 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 #ifdef OSF1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 #define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 #define PTY_NAME_SPRINTF /* none */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 #define PTY_TTY_NAME_SPRINTF /* none */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 #define PTY_OPEN \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 do \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 { \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 int dummy; \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 int mask = sigsetmask (SIGCHLD); \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 fd = -1; \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 sigsetmask (mask); \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 close (dummy); \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 } \
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 while (0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 #endif /* OSF1 */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 #ifdef linux
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 #define COFF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 #define TEXT_END ({ extern int _etext; &_etext; })
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 #define DATA_END ({ extern int _EDATA; &_EDATA; })
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 #endif /* linux */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 /* XEmacs: The Dec CC compiler (but apparently not GCC, which uses different
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 macros due to its own compiler bug) breaks spectacularly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 when MACROIZE_ERROR_CHECKING is turned on. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 #define BROKEN_MACROIZE_ERROR_CHECKING
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 /* XEmacs: from Andrew Cohen based on this comment found in <termio.h>:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 Unfortunately System V and POSIX have different values for some of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 the defines. So we have to perform the following kluge which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 redefines the V___ values for termio. This means you cannot do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 ioctls using termios and termio in the same source file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 */
175
2d532a89d707 Import from CVS: tag r20-3b14
cvs
parents: 165
diff changeset
239 /* #define NO_TERMIO */ /* mrb */