annotate src/m/pmax.h @ 269:b2472a1930f2 r20-5b33

Import from CVS: tag r20-5b33
author cvs
date Mon, 13 Aug 2007 10:27:19 +0200
parents 0132846995bd
children a86b2b5e0111
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 /* Synched up with: FSF 19.31. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 /* Machine description file for DEC MIPS machines. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 #include "mips.h"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 /* The following line tells the configuration script what sort of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 operating system this machine is likely to run.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 USUAL-OPSYS="note"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 NOTE-START
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 Use -opsystem=osf1 for OSF/1, and -opsystem=bsd4-3 otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 NOTE-END */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 #undef LIB_STANDARD
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 #undef START_FILES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 #undef COFF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 #undef TERMINFO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 #define MAIL_USE_FLOCK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 #ifdef MACH
163
0132846995bd Import from CVS: tag r20-3b8
cvs
parents: 155
diff changeset
22 #define START_FILES "pre-crt0.o /usr/lib/crt0.o"
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 #else
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 /* This line starts being needed with ultrix 4.0. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 /* You must delete it for version 3.1. */
163
0132846995bd Import from CVS: tag r20-3b8
cvs
parents: 155
diff changeset
26 #define START_FILES "pre-crt0.o /usr/lib/cmplrs/cc/crt0.o"
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 #endif
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 /* Supposedly the following will overcome a kernel bug. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 #undef LD_SWITCH_MACHINE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 #undef DATA_START
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 #define DATA_START 0x10000000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 #define DATA_SEG_BITS 0x10000000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 #if 0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 /* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 the relocating allocator is a real win. -JimB */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 on defining malloc itself. This should avoid conflicting with it. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 #define SYSTEM_MALLOC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 #endif
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 /* Override what mips.h says about this. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 #undef LINKER
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 /* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 but it doesn't work right;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 and it causes hanging in read_process_output. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 #define BROKEN_O_NONBLOCK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 #if defined (OSF1) || defined (MACH)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 #undef C_ALLOCA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 #define HAVE_ALLOCA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 #endif
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 /* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 #ifdef HAVE_LIBDNET
163
0132846995bd Import from CVS: tag r20-3b8
cvs
parents: 155
diff changeset
59 #define LIBS_MACHINE "-ldnet"
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 #endif
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 /* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 #undef KERNEL_FILE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 #define KERNEL_FILE "/vmunix"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 #ifndef MACH
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 /* Jim Wilson writes:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 [...] The X11 include files that Dec distributes with Ultrix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 are bogus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 When __STDC__ is defined (which is true with gcc), the X11 include files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 try to define prototypes. The prototypes however use types which haven't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 been defined yet, and thus we get syntax/parse errors.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 You can not fix this by changing the include files, because the prototypes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 create circular dependencies, in particular Xutil.h depends on types defined
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 which order you try to include them in, it will still fail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 Compiling with -DNeedFunctionPrototypes=0 will solve the problem by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 directly inhibiting the bad prototypes. This could perhaps just be put in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 an a Ultrix configuration file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 Using the MIT X11 distribution instead of the one provided by Dec will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 also solve the problem, but I doubt you can convince everyone to do this. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 /* Addendum: the MIT X11 distribution neglects to define certain symbols
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 when NeedFunctionPrototypes is 0, but still tries to use them when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 NeedVarargsPrototypes is 1 (which is its default value). So if we're
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 going to disable non-variadic prototypes, we also need to disable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 variadic prototypes. --kwzh@gnu.ai.mit.edu */
163
0132846995bd Import from CVS: tag r20-3b8
cvs
parents: 155
diff changeset
92 #define C_SWITCH_X_MACHINE "-DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0"
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 #endif
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 /* XEmacs: the following does nothing at all any more due to cleanup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 of the create_process() code. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 /* Enable a fix in process.c. */
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 #define SET_CHILD_PTY_PGRP