Commit | Line | Data |
---|---|---|
ec558adc JB |
1 | /* Machine description file for DEC MIPS machines. */ |
2 | ||
20c428fd JB |
3 | #include "mips.h" |
4 | ||
177c0ea7 | 5 | /* The following line tells the configuration script what sort of |
20c428fd | 6 | operating system this machine is likely to run. |
177c0ea7 | 7 | USUAL-OPSYS="note" |
ec558adc JB |
8 | |
9 | NOTE-START | |
9939d191 | 10 | The operating system would be either osf1, ultrix, or NetBSD. |
ec558adc | 11 | NOTE-END */ |
20c428fd | 12 | |
9e2702a6 | 13 | #ifndef __MIPSEB__ |
74d3f806 | 14 | #undef WORDS_BIG_ENDIAN |
9e2702a6 | 15 | #endif |
ec558adc JB |
16 | #undef LIB_STANDARD |
17 | #undef START_FILES | |
18 | #undef COFF | |
19 | #undef TERMINFO | |
20 | #define MAIL_USE_FLOCK | |
21 | #define HAVE_UNION_WAIT | |
20c428fd | 22 | |
a46849a8 RS |
23 | |
24 | #ifdef MACH | |
25 | #define START_FILES pre-crt0.o /usr/lib/crt0.o | |
26 | #else | |
20c428fd | 27 | /* This line starts being needed with ultrix 4.0. */ |
ec558adc | 28 | /* You must delete it for version 3.1. */ |
20c428fd | 29 | #define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o |
a46849a8 | 30 | #endif |
20c428fd | 31 | |
e0f7eb3b | 32 | #if defined (__NetBSD__) || defined (__OpenBSD__) |
9939d191 | 33 | #undef START_FILES |
9e2702a6 | 34 | #define START_FILES pre-crt0.o /usr/lib/crt0.o |
9939d191 | 35 | #undef RUN_TIME_REMAP |
9939d191 | 36 | #undef UNEXEC |
18975f44 | 37 | #define UNEXEC unexelf.o |
e0f7eb3b | 38 | #endif /* NetBSD || OpenBSD */ |
9939d191 | 39 | |
20c428fd JB |
40 | /* Supposedly the following will overcome a kernel bug. */ |
41 | #undef LD_SWITCH_MACHINE | |
42 | #undef DATA_START | |
43 | #define DATA_START 0x10000000 | |
44 | #define DATA_SEG_BITS 0x10000000 | |
45 | ||
dc9d84de JB |
46 | #if 0 |
47 | /* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And | |
48 | the relocating allocator is a real win. -JimB */ | |
49 | ||
20c428fd JB |
50 | /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist |
51 | on defining malloc itself. This should avoid conflicting with it. */ | |
52 | #define SYSTEM_MALLOC | |
dc9d84de | 53 | #endif |
ec558adc | 54 | |
a46849a8 | 55 | /* Override what mips.h says about this. */ |
18975f44 | 56 | #if !defined (__NetBSD__) |
ec558adc | 57 | #undef LINKER |
18975f44 | 58 | #endif |
ec558adc | 59 | |
9939d191 | 60 | #ifdef ultrix |
ec558adc JB |
61 | /* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK |
62 | but it doesn't work right; | |
63 | and it causes hanging in read_process_output. */ | |
64 | #define BROKEN_O_NONBLOCK | |
9939d191 | 65 | #endif |
ec558adc | 66 | |
9939d191 | 67 | #ifndef __NetBSD__ |
8f2d5456 JB |
68 | /* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */ |
69 | #ifdef HAVE_LIBDNET | |
5a241166 | 70 | #define LIBS_MACHINE -ldnet |
8f2d5456 | 71 | #endif |
069ca42f | 72 | |
9f717104 | 73 | /* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */ |
069ca42f | 74 | #undef KERNEL_FILE |
9f717104 | 75 | #define KERNEL_FILE "/vmunix" |
9939d191 | 76 | #endif |
9b4d86fc | 77 | |
9939d191 | 78 | #ifdef ultrix |
9b4d86fc JB |
79 | /* Jim Wilson writes: |
80 | [...] The X11 include files that Dec distributes with Ultrix | |
81 | are bogus. | |
82 | ||
83 | When __STDC__ is defined (which is true with gcc), the X11 include files | |
84 | try to define prototypes. The prototypes however use types which haven't | |
85 | been defined yet, and thus we get syntax/parse errors. | |
86 | ||
87 | You can not fix this by changing the include files, because the prototypes | |
88 | create circular dependencies, in particular Xutil.h depends on types defined | |
89 | in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter | |
90 | which order you try to include them in, it will still fail. | |
91 | ||
92 | Compiling with -DNeedFunctionPrototypes=0 will solve the problem by | |
93 | directly inhibiting the bad prototypes. This could perhaps just be put in | |
94 | an a Ultrix configuration file. | |
95 | ||
96 | Using the MIT X11 distribution instead of the one provided by Dec will | |
97 | also solve the problem, but I doubt you can convince everyone to do this. */ | |
0f800451 KH |
98 | /* Addendum: the MIT X11 distribution neglects to define certain symbols |
99 | when NeedFunctionPrototypes is 0, but still tries to use them when | |
8e6208c5 | 100 | NeedVarargsPrototypes is 1 (which is its default value). So if we're |
0f800451 KH |
101 | going to disable non-variadic prototypes, we also need to disable |
102 | variadic prototypes. --kwzh@gnu.ai.mit.edu */ | |
103 | #define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0 | |
a46849a8 | 104 | #endif |
0d4c1a6e RS |
105 | |
106 | /* Enable a fix in process.c. */ | |
107 | #define SET_CHILD_PTY_PGRP |