diff options
| author | Jim Blandy | 1992-09-13 11:44:06 +0000 |
|---|---|---|
| committer | Jim Blandy | 1992-09-13 11:44:06 +0000 |
| commit | ec558adcceffa21d313410a6d8ebfe11b47d083b (patch) | |
| tree | 2d78afc1cf127cc5eb02f12d39a623f297f7cbda /src/m | |
| parent | b7cceaf12a73559df9c2fcf135983b4c03b48061 (diff) | |
| download | emacs-ec558adcceffa21d313410a6d8ebfe11b47d083b.tar.gz emacs-ec558adcceffa21d313410a6d8ebfe11b47d083b.zip | |
entered into RCS
Diffstat (limited to 'src/m')
| -rw-r--r-- | src/m/mips.h | 68 | ||||
| -rw-r--r-- | src/m/pmax.h | 30 |
2 files changed, 80 insertions, 18 deletions
diff --git a/src/m/mips.h b/src/m/mips.h index e41f11f8fe7..bd4466ee9ba 100644 --- a/src/m/mips.h +++ b/src/m/mips.h | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | /* machine description file for Mips machines. | 1 | /* m- file for Mips machines. |
| 2 | Copyright (C) 1987, 1990 Free Software Foundation, Inc. | 2 | Copyright (C) 1987, 1992 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| 5 | 5 | ||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | 6 | GNU Emacs is free software; you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 1, or (at your option) | 8 | the Free Software Foundation; either version 2, or (at your option) |
| 9 | any later version. | 9 | any later version. |
| 10 | 10 | ||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | 11 | GNU Emacs is distributed in the hope that it will be useful, |
| @@ -23,8 +23,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 23 | USUAL-OPSYS="note" | 23 | USUAL-OPSYS="note" |
| 24 | 24 | ||
| 25 | NOTE-START | 25 | NOTE-START |
| 26 | Use -opsystem=usg5-2-2 normally, or -opsystem=bsd4-3 with the BSD | 26 | Use m-mips4.h for RISCOS version 4; use s-bsd4-3.h with the BSD world. |
| 27 | world. | 27 | Note that the proper m- file for the Decstation is m-pmax.h. |
| 28 | NOTE-END */ | 28 | NOTE-END */ |
| 29 | 29 | ||
| 30 | /* The following three symbols give information on | 30 | /* The following three symbols give information on |
| @@ -51,6 +51,11 @@ NOTE-END */ | |||
| 51 | 51 | ||
| 52 | #undef WORD_MACHINE | 52 | #undef WORD_MACHINE |
| 53 | 53 | ||
| 54 | /* Define how to take a char and sign-extend into an int. | ||
| 55 | On machines where char is signed, this is a no-op. */ | ||
| 56 | |||
| 57 | #define SIGN_EXTEND_CHAR(c) ((signed char)(c)) | ||
| 58 | |||
| 54 | /* Now define a symbol for the cpu type, if your compiler | 59 | /* Now define a symbol for the cpu type, if your compiler |
| 55 | does not define it automatically: | 60 | does not define it automatically: |
| 56 | Ones defined so far include vax, m68000, ns16000, pyramid, | 61 | Ones defined so far include vax, m68000, ns16000, pyramid, |
| @@ -102,8 +107,11 @@ NOTE-END */ | |||
| 102 | Define neither one if an assembler-language alloca | 107 | Define neither one if an assembler-language alloca |
| 103 | in the file alloca.s should be used. */ | 108 | in the file alloca.s should be used. */ |
| 104 | 109 | ||
| 110 | #ifdef __GNUC__ | ||
| 111 | #define HAVE_ALLOCA | ||
| 112 | #else | ||
| 105 | #define C_ALLOCA | 113 | #define C_ALLOCA |
| 106 | /* #define HAVE_ALLOCA */ | 114 | #endif |
| 107 | 115 | ||
| 108 | /* Define NO_REMAP if memory segmentation makes it not work well | 116 | /* Define NO_REMAP if memory segmentation makes it not work well |
| 109 | to change the boundary between the text section and data section | 117 | to change the boundary between the text section and data section |
| @@ -126,13 +134,32 @@ NOTE-END */ | |||
| 126 | 134 | ||
| 127 | #ifdef BSD | 135 | #ifdef BSD |
| 128 | 136 | ||
| 129 | /* Supposedly the dec machine doesn't have this library. | 137 | /* DECstations don't have this library. |
| 130 | #define LIBS_MACHINE -lmld */ | 138 | #define LIBS_MACHINE -lmld */ |
| 131 | 139 | ||
| 132 | #define LD_SWITCH_MACHINE -D 800000 | 140 | #define LD_SWITCH_MACHINE -D 800000 |
| 133 | #define LIBS_DEBUG | 141 | #define LIBS_DEBUG |
| 134 | 142 | ||
| 143 | #define LINKER /bsd43/bin/ld | ||
| 144 | |||
| 145 | #else /* not BSD */ | ||
| 146 | #ifdef NEWSOS5 | ||
| 147 | |||
| 148 | #define LIBS_MACHINE -lmld | ||
| 149 | #define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o | ||
| 150 | #define LIB_STANDARD -lsocket -lnsl -lc /usr/ccs/lib/crtn.o /usr/ccs/lib/values-Xt.o | ||
| 151 | |||
| 152 | #ifdef __GNUC__ | ||
| 153 | #define C_DEBUG_SWITCH -g | ||
| 154 | #define C_OPTIMIZE_SWITCH -g -O | ||
| 155 | #define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000 | ||
| 135 | #else | 156 | #else |
| 157 | #define C_DEBUG_SWITCH -g3 | ||
| 158 | #define C_OPTIMIZE_SWITCH -g3 | ||
| 159 | #define LD_SWITCH_MACHINE -g3 -D 800000 | ||
| 160 | #endif | ||
| 161 | |||
| 162 | #else /* not NEWSOS5 */ | ||
| 136 | 163 | ||
| 137 | #define LIBS_MACHINE -lmld | 164 | #define LIBS_MACHINE -lmld |
| 138 | #define LD_SWITCH_MACHINE -D 800000 -g3 | 165 | #define LD_SWITCH_MACHINE -D 800000 -g3 |
| @@ -140,27 +167,36 @@ NOTE-END */ | |||
| 140 | #define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o | 167 | #define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o |
| 141 | #define LIBS_TERMCAP -lcurses | 168 | #define LIBS_TERMCAP -lcurses |
| 142 | 169 | ||
| 143 | #define C_SWITCH_SYSTEM -I/usr/include/bsd | 170 | #define C_SWITCH_MACHINE -I/usr/include/bsd |
| 144 | #define C_DEBUG_SWITCH -O -g3 | 171 | #define C_DEBUG_SWITCH -O -g3 |
| 145 | 172 | ||
| 146 | #if defined(HAVE_X_WINDOWS) && defined(HAVE_X11) | 173 | #if defined(HAVE_X_WINDOWS) && defined(HAVE_X11) |
| 147 | #define HAVE_VFORK /* Graciously provided by libX.a */ | 174 | #define HAVE_VFORK /* Graciously provided by libX.a */ |
| 148 | #endif | 175 | #endif |
| 149 | #endif | 176 | |
| 177 | #endif /* not NEWSOS5 */ | ||
| 178 | #endif /* not BSD */ | ||
| 150 | 179 | ||
| 151 | /* The standard definitions of these macros would work ok, | 180 | /* The standard definitions of these macros would work ok, |
| 152 | but these are faster because the constants are short. */ | 181 | but these are faster because the constants are short. */ |
| 153 | 182 | ||
| 154 | #define XUINT(a) (((unsigned)(a) << INTBITS-VALBITS) >> INTBITS-VALBITS) | 183 | #define XUINT(a) (((unsigned)(a) << (INTBITS-VALBITS)) >> (INTBITS-VALBITS)) |
| 155 | 184 | ||
| 156 | #define XSET(var, type, ptr) \ | 185 | #define XSET(var, type, ptr) \ |
| 157 | ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << INTBITS-VALBITS) >> INTBITS-VALBITS)) | 186 | ((var) = \ |
| 187 | ((int)(type) << VALBITS) \ | ||
| 188 | + (((unsigned) (ptr) << (INTBITS-VALBITS)) >> (INTBITS-VALBITS))) | ||
| 158 | 189 | ||
| 159 | #define XSETINT(a, b) XSET(a, XTYPE(a), b) | 190 | #define XSETINT(a, b) XSET(a, XTYPE(a), b) |
| 160 | #define XSETUINT(a, b) XSET(a, XTYPE(a), b) | 191 | #define XSETUINT(a, b) XSET(a, XTYPE(a), b) |
| 161 | #define XSETPNTR(a, b) XSET(a, XTYPE(a), b) | 192 | #define XSETPNTR(a, b) XSET(a, XTYPE(a), b) |
| 162 | 193 | ||
| 163 | #define XUNMARK(a) ((a) = (((unsigned)(a) << INTBITS-GCTYPEBITS-VALBITS) >> INTBITS-GCTYPEBITS-VALBITS)) | 194 | #define XUNMARK(a) \ |
| 195 | ((a) = \ | ||
| 196 | (((unsigned)(a) << (INTBITS-GCTYPEBITS-VALBITS)) \ | ||
| 197 | >> (INTBITS-GCTYPEBITS-VALBITS))) | ||
| 198 | |||
| 199 | #ifndef NEWSOS5 | ||
| 164 | #ifdef USG | 200 | #ifdef USG |
| 165 | 201 | ||
| 166 | /* Cancel certain parts of standard sysV support. */ | 202 | /* Cancel certain parts of standard sysV support. */ |
| @@ -177,7 +213,7 @@ NOTE-END */ | |||
| 177 | #define HAVE_SYSVIPC | 213 | #define HAVE_SYSVIPC |
| 178 | 214 | ||
| 179 | #define HAVE_TIMEVAL | 215 | #define HAVE_TIMEVAL |
| 180 | #if defined(emacs) | 216 | #if defined(emacs) && !defined(INHIBIT_BSD_TIME) |
| 181 | #include <bsd/sys/time.h> | 217 | #include <bsd/sys/time.h> |
| 182 | #endif | 218 | #endif |
| 183 | 219 | ||
| @@ -198,7 +234,7 @@ NOTE-END */ | |||
| 198 | /* ??? */ | 234 | /* ??? */ |
| 199 | #define IRIS | 235 | #define IRIS |
| 200 | 236 | ||
| 201 | #endif | 237 | #endif /* USG */ |
| 202 | 238 | ||
| 203 | #ifdef BSD | 239 | #ifdef BSD |
| 204 | #define COFF | 240 | #define COFF |
| @@ -206,3 +242,5 @@ NOTE-END */ | |||
| 206 | #undef MAIL_USE_FLOCK /* Someone should check this. */ | 242 | #undef MAIL_USE_FLOCK /* Someone should check this. */ |
| 207 | #undef HAVE_UNION_WAIT | 243 | #undef HAVE_UNION_WAIT |
| 208 | #endif /* BSD */ | 244 | #endif /* BSD */ |
| 245 | |||
| 246 | #endif /* not NEWSOS5 */ | ||
diff --git a/src/m/pmax.h b/src/m/pmax.h index 393b7351a67..71e0fbb18b2 100644 --- a/src/m/pmax.h +++ b/src/m/pmax.h | |||
| @@ -1,14 +1,25 @@ | |||
| 1 | /* Machine description file for DEC MIPS machines. */ | ||
| 2 | |||
| 1 | #include "mips.h" | 3 | #include "mips.h" |
| 2 | 4 | ||
| 3 | /* The following line tells the configuration script what sort of | 5 | /* The following line tells the configuration script what sort of |
| 4 | operating system this machine is likely to run. | 6 | operating system this machine is likely to run. |
| 5 | USUAL-OPSYS="bsd4-2" */ | 7 | USUAL-OPSYS="note" |
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Use -opsystem=osf1 for OSF/1, and -opsystem=bsd4-3 otherwise. | ||
| 11 | NOTE-END */ | ||
| 6 | 12 | ||
| 7 | #undef BIG_ENDIAN | 13 | #undef BIG_ENDIAN |
| 8 | #define LIBS_DEBUG | 14 | #undef LIB_STANDARD |
| 15 | #undef START_FILES | ||
| 16 | #undef COFF | ||
| 17 | #undef TERMINFO | ||
| 18 | #define MAIL_USE_FLOCK | ||
| 19 | #define HAVE_UNION_WAIT | ||
| 9 | 20 | ||
| 10 | /* This line starts being needed with ultrix 4.0. */ | 21 | /* This line starts being needed with ultrix 4.0. */ |
| 11 | /* You may need to delete it on version 3.1. */ | 22 | /* You must delete it for version 3.1. */ |
| 12 | #define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o | 23 | #define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o |
| 13 | 24 | ||
| 14 | /* Supposedly the following will overcome a kernel bug. */ | 25 | /* Supposedly the following will overcome a kernel bug. */ |
| @@ -20,3 +31,16 @@ | |||
| 20 | /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist | 31 | /* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist |
| 21 | on defining malloc itself. This should avoid conflicting with it. */ | 32 | on defining malloc itself. This should avoid conflicting with it. */ |
| 22 | #define SYSTEM_MALLOC | 33 | #define SYSTEM_MALLOC |
| 34 | |||
| 35 | /* Override what m-mips.h says about this. */ | ||
| 36 | #undef LINKER | ||
| 37 | |||
| 38 | /* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK | ||
| 39 | but it doesn't work right; | ||
| 40 | and it causes hanging in read_process_output. */ | ||
| 41 | #define BROKEN_O_NONBLOCK | ||
| 42 | |||
| 43 | #ifdef OSF1 | ||
| 44 | #undef C_ALLOCA | ||
| 45 | #define HAVE_ALLOCA | ||
| 46 | #endif | ||