diff options
| author | Dan Nicolaescu | 2008-01-06 00:56:56 +0000 |
|---|---|---|
| committer | Dan Nicolaescu | 2008-01-06 00:56:56 +0000 |
| commit | f3041af143f4ab74041fc918feee43aa8ac2da88 (patch) | |
| tree | a84bdb93b8f941075b511480aa283e2847fbbcac /src | |
| parent | 37d6e31370557ab868033dde113f11b54994e576 (diff) | |
| download | emacs-f3041af143f4ab74041fc918feee43aa8ac2da88.tar.gz emacs-f3041af143f4ab74041fc918feee43aa8ac2da88.zip | |
* configure.in: Remove references to unsupported systems.
* notes/copyright:
* MAINTAINERS: Remove references to files that have been removed.
* os.texi (System Environment): Remove references to OSes that are
not supported anymore.
* PROBLEMS:
* MACHINES: Remove references to systems not supported anymore.
* makefile.w32-in:
* Makefile.in: Remove references to Xenix.
* gnus.el (gnus-use-long-file-name): Remove reference to xenix.
* obsolete/x-apollo.el: Remove file for unsupported system.
* term/x-win.el (vendor-specific-keysyms): Remove reference to
Apollo.
* progmodes/gud.el (gud-dgux-p): Remove.
(dbx): Remove reference to dgux.
* progmodes/ps-mode.el (ps-mode-print-function):
* ps-print.el (ps-lp-system):
* paths.el (rmail-spool-directory):
* ls-lisp.el (ls-lisp-emulation):
* lpr.el (lpr-lp-system):
* dired.el (dired-chown-program): Remove references to dgux.
* m/7300.h:
* m/acorn.h:
* m/alliant-2800.h:
* m/alliant.h:
* m/alliant1.h:
* m/alliant4.h:
* m/altos.h:
* m/amdahl.h:
* m/apollo.h:
* m/att3b.h:
* m/aviion-intel.h:
* m/aviion.h:
* m/celerity.h:
* m/clipper.h:
* m/cnvrgnt.h:
* m/convex.h:
* m/cydra5.h:
* m/delta88k.h:
* m/dpx2.h:
* m/dual.h:
* m/elxsi.h:
* m/f301.h:
* m/gould-np1.h:
* m/gould.h:
* m/i860.h:
* m/ibmps2-aix.h:
* m/ibmrt-aix.h:
* m/ibmrt.h:
* m/irist.h:
* m/is386.h:
* m/isi-ov.h:
* m/mega68.h:
* m/mg1.h:
* m/news-r6.h:
* m/news-risc.h:
* m/news.h:
* m/nh3000.h:
* m/nh4000.h:
* m/ns16000.h:
* m/ns32000.h:
* m/nu.h:
* m/orion.h:
* m/orion105.h:
* m/paragon.h:
* m/pfa50.h:
* m/plexus.h:
* m/pyramid.h:
* m/pyrmips.h:
* m/sh3el.h:
* m/sps7.h:
* m/sr2k.h:
* m/stride.h:
* m/sun1.h:
* m/sun2.h:
* m/sun3-68881.h:
* m/sun3-fpa.h:
* m/sun3-soft.h:
* m/sun3.h:
* m/sun386.h:
* m/symmetry.h:
* m/tad68k.h:
* m/tahoe.h:
* m/targon31.h:
* m/tek4300.h:
* m/tekxd88.h:
* m/tower32.h:
* m/tower32v3.h:
* m/ustation.h:
* m/wicat.h:
* m/xps100.h:
* s/cxux.h:
* s/cxux7.h:
* s/dgux.h:
* s/dgux4.h:
* s/dgux5-4-3.h:
* s/dgux5-4r2.h:
* s/esix.h:
* s/esix5r4.h:
* s/hiuxmpp.h:
* s/hiuxwe2.h:
* s/iris3-5.h:
* s/iris3-6.h:
* s/isc2-2.h:
* s/isc3-0.h:
* s/isc4-0.h:
* s/isc4-1.h:
* s/newsos5.h:
* s/newsos6.h:
* s/osf1.h:
* s/osf5-0.h:
* s/riscix1-1.h:
* s/riscix12.h:
* s/sco4.h:
* s/sco5.h:
* s/sunos4-0.h:
* s/sunos4-1.h:
* s/sunos413.h:
* s/sunos4shr.h:
* s/umax.h:
* s/unipl5-2.h:
* s/xenix.h:
* cxux-crt0.s:
* unexapollo.c:
* unexconvex.c:
* unexenix.c:
* unexsni.c: Remove files for systems no longer supported.
* m/intel386.h: Remove references to unsupported systems.
* w32.c (get_emacs_configuration): Remove reference to i860.
* sysdep.c: Remove dead code.
Diffstat (limited to 'src')
110 files changed, 117 insertions, 11956 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 3ad3584a236..029278e90b4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,118 @@ | |||
| 1 | 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 2 | |||
| 3 | * m/7300.h: | ||
| 4 | * m/acorn.h: | ||
| 5 | * m/alliant-2800.h: | ||
| 6 | * m/alliant.h: | ||
| 7 | * m/alliant1.h: | ||
| 8 | * m/alliant4.h: | ||
| 9 | * m/altos.h: | ||
| 10 | * m/amdahl.h: | ||
| 11 | * m/apollo.h: | ||
| 12 | * m/att3b.h: | ||
| 13 | * m/aviion-intel.h: | ||
| 14 | * m/aviion.h: | ||
| 15 | * m/celerity.h: | ||
| 16 | * m/clipper.h: | ||
| 17 | * m/cnvrgnt.h: | ||
| 18 | * m/convex.h: | ||
| 19 | * m/cydra5.h: | ||
| 20 | * m/delta88k.h: | ||
| 21 | * m/dpx2.h: | ||
| 22 | * m/dual.h: | ||
| 23 | * m/elxsi.h: | ||
| 24 | * m/f301.h: | ||
| 25 | * m/gould-np1.h: | ||
| 26 | * m/gould.h: | ||
| 27 | * m/i860.h: | ||
| 28 | * m/ibmps2-aix.h: | ||
| 29 | * m/ibmrt-aix.h: | ||
| 30 | * m/ibmrt.h: | ||
| 31 | * m/irist.h: | ||
| 32 | * m/is386.h: | ||
| 33 | * m/isi-ov.h: | ||
| 34 | * m/mega68.h: | ||
| 35 | * m/mg1.h: | ||
| 36 | * m/news-r6.h: | ||
| 37 | * m/news-risc.h: | ||
| 38 | * m/news.h: | ||
| 39 | * m/nh3000.h: | ||
| 40 | * m/nh4000.h: | ||
| 41 | * m/ns16000.h: | ||
| 42 | * m/ns32000.h: | ||
| 43 | * m/nu.h: | ||
| 44 | * m/orion.h: | ||
| 45 | * m/orion105.h: | ||
| 46 | * m/paragon.h: | ||
| 47 | * m/pfa50.h: | ||
| 48 | * m/plexus.h: | ||
| 49 | * m/pyramid.h: | ||
| 50 | * m/pyrmips.h: | ||
| 51 | * m/sh3el.h: | ||
| 52 | * m/sps7.h: | ||
| 53 | * m/sr2k.h: | ||
| 54 | * m/stride.h: | ||
| 55 | * m/sun1.h: | ||
| 56 | * m/sun2.h: | ||
| 57 | * m/sun3-68881.h: | ||
| 58 | * m/sun3-fpa.h: | ||
| 59 | * m/sun3-soft.h: | ||
| 60 | * m/sun3.h: | ||
| 61 | * m/sun386.h: | ||
| 62 | * m/symmetry.h: | ||
| 63 | * m/tad68k.h: | ||
| 64 | * m/tahoe.h: | ||
| 65 | * m/targon31.h: | ||
| 66 | * m/tek4300.h: | ||
| 67 | * m/tekxd88.h: | ||
| 68 | * m/tower32.h: | ||
| 69 | * m/tower32v3.h: | ||
| 70 | * m/ustation.h: | ||
| 71 | * m/wicat.h: | ||
| 72 | * m/xps100.h: | ||
| 73 | * s/cxux.h: | ||
| 74 | * s/cxux7.h: | ||
| 75 | * s/dgux.h: | ||
| 76 | * s/dgux4.h: | ||
| 77 | * s/dgux5-4-3.h: | ||
| 78 | * s/dgux5-4r2.h: | ||
| 79 | * s/esix.h: | ||
| 80 | * s/esix5r4.h: | ||
| 81 | * s/hiuxmpp.h: | ||
| 82 | * s/hiuxwe2.h: | ||
| 83 | * s/iris3-5.h: | ||
| 84 | * s/iris3-6.h: | ||
| 85 | * s/isc2-2.h: | ||
| 86 | * s/isc3-0.h: | ||
| 87 | * s/isc4-0.h: | ||
| 88 | * s/isc4-1.h: | ||
| 89 | * s/newsos5.h: | ||
| 90 | * s/newsos6.h: | ||
| 91 | * s/osf1.h: | ||
| 92 | * s/osf5-0.h: | ||
| 93 | * s/riscix1-1.h: | ||
| 94 | * s/riscix12.h: | ||
| 95 | * s/sco4.h: | ||
| 96 | * s/sco5.h: | ||
| 97 | * s/sunos4-0.h: | ||
| 98 | * s/sunos4-1.h: | ||
| 99 | * s/sunos413.h: | ||
| 100 | * s/sunos4shr.h: | ||
| 101 | * s/umax.h: | ||
| 102 | * s/unipl5-2.h: | ||
| 103 | * s/xenix.h: | ||
| 104 | * cxux-crt0.s: | ||
| 105 | * unexapollo.c: | ||
| 106 | * unexconvex.c: | ||
| 107 | * unexenix.c: | ||
| 108 | * unexsni.c: Remove files for systems no longer supported. | ||
| 109 | |||
| 110 | * m/intel386.h: Remove references to unsupported systems. | ||
| 111 | |||
| 112 | * w32.c (get_emacs_configuration): Remove reference to i860. | ||
| 113 | |||
| 114 | * sysdep.c: Remove dead code. | ||
| 115 | |||
| 1 | 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu> | 116 | 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 117 | ||
| 3 | * s/rtu.h: | 118 | * s/rtu.h: |
diff --git a/src/cxux-crt0.s b/src/cxux-crt0.s deleted file mode 100644 index d9c570a9c18..00000000000 --- a/src/cxux-crt0.s +++ /dev/null | |||
| @@ -1,42 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * External symbol setup file for GNU Emacs on CX/UX | ||
| 3 | * Copyright (C) 1990, 2002, 2003, 2004, 2005, | ||
| 4 | * 2006, 2007 Free Software Foundation, Inc. | ||
| 5 | * | ||
| 6 | * This file is part of GNU Emacs. | ||
| 7 | * | ||
| 8 | * GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | * any later version. | ||
| 12 | * | ||
| 13 | * GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | * Boston, MA 02110-1301, USA. | ||
| 22 | */ | ||
| 23 | |||
| 24 | /* | ||
| 25 | * This file makes the start of the text and data regions of the program | ||
| 26 | * clearly visible to the GNU Emacs C source code, without any dependencies | ||
| 27 | * on any changes made to the standard C runtime startup module, crt0.o. | ||
| 28 | * It depends, however, on this file being passed down to the linker (ld) | ||
| 29 | * before any others, and the linker's behavior of assigning increasing | ||
| 30 | * addresses as it finds symbols. | ||
| 31 | */ | ||
| 32 | /* C symbol _start marks beginning of text region. */ | ||
| 33 | .text | ||
| 34 | .globl __start | ||
| 35 | __start: | ||
| 36 | /* C symbol data_start marks beginning of data region. */ | ||
| 37 | .data | ||
| 38 | .globl _data_start | ||
| 39 | _data_start: .space 4 | ||
| 40 | |||
| 41 | /* arch-tag: ba84e4dc-615d-4a81-898c-f5b98ec71c9d | ||
| 42 | (do not change this comment) */ | ||
diff --git a/src/m/7300.h b/src/m/7300.h deleted file mode 100644 index 6e439a829cc..00000000000 --- a/src/m/7300.h +++ /dev/null | |||
| @@ -1,98 +0,0 @@ | |||
| 1 | /* machine description file for AT&T UNIX PC model 7300 | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | Modified for this machine by mtxinu!rtech!gonzo!daveb | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | /* The following line tells the configuration script what sort of | ||
| 25 | operating system this machine is likely to run. | ||
| 26 | USUAL-OPSYS="usg5-2-2" */ | ||
| 27 | |||
| 28 | /* Supposedly now these machines have flexnames. | ||
| 29 | |||
| 30 | /* # define SHORTNAMES */ | ||
| 31 | |||
| 32 | |||
| 33 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 34 | is the most significant byte. */ | ||
| 35 | |||
| 36 | #define WORDS_BIG_ENDIAN | ||
| 37 | |||
| 38 | /* XINT must explicitly sign-extend */ | ||
| 39 | |||
| 40 | #define EXPLICIT_SIGN_EXTEND | ||
| 41 | |||
| 42 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 43 | |||
| 44 | #define NO_UNION_TYPE | ||
| 45 | |||
| 46 | /* Now define a symbol for the cpu type, if your compiler | ||
| 47 | does not define it automatically: | ||
| 48 | vax, m68000, ns16000 are the ones defined so far. */ | ||
| 49 | |||
| 50 | # ifndef mc68k | ||
| 51 | # define mc68k | ||
| 52 | # endif | ||
| 53 | #ifndef m68k | ||
| 54 | #define m68k | ||
| 55 | #endif | ||
| 56 | |||
| 57 | /* Cause crt0.c to define errno. */ | ||
| 58 | |||
| 59 | #define NEED_ERRNO | ||
| 60 | |||
| 61 | /* Data type of load average, as read out of kmem. */ | ||
| 62 | /* These are commented out since it is not supported by this machine. */ | ||
| 63 | |||
| 64 | /* #define LOAD_AVE_TYPE long */ | ||
| 65 | |||
| 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 67 | |||
| 68 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ | ||
| 69 | |||
| 70 | #ifndef __GNUC__ | ||
| 71 | |||
| 72 | #define SWITCH_ENUM_BUG | ||
| 73 | |||
| 74 | #endif | ||
| 75 | |||
| 76 | /* If you have the PD pty driver installed, uncomment the following line. */ | ||
| 77 | /* #define HAVE_PTYS */ | ||
| 78 | |||
| 79 | #define HAVE_SYSVIPC | ||
| 80 | |||
| 81 | /* We don't have memmove. */ | ||
| 82 | #define memmove(d, s, n) safe_bcopy (s, d, n) | ||
| 83 | |||
| 84 | /* These three lines were new in 18.50. They were said to permit | ||
| 85 | a demand-paged executable, but someone else says they don't work. | ||
| 86 | Someone else says they do. They didn't work because errno was an | ||
| 87 | initialized variable in crt0.c, and because of %splimit (also therein), | ||
| 88 | both of which have been fixed now. */ | ||
| 89 | #define SECTION_ALIGNMENT 0x03ff | ||
| 90 | #define SEGMENT_MASK 0xffff | ||
| 91 | #define LD_SWITCH_MACHINE -z | ||
| 92 | |||
| 93 | /* Insist on using cc when compiling this. GCC may have been | ||
| 94 | configured to use GAS syntax, which causes problems. */ | ||
| 95 | #define CRT0_COMPILE cc -c -O -Demacs | ||
| 96 | |||
| 97 | /* arch-tag: 66219dc7-ef45-4f0c-bb98-f35421f39c8d | ||
| 98 | (do not change this comment) */ | ||
diff --git a/src/m/acorn.h b/src/m/acorn.h deleted file mode 100644 index 148d46454ab..00000000000 --- a/src/m/acorn.h +++ /dev/null | |||
| @@ -1,185 +0,0 @@ | |||
| 1 | /* Machine description file for Acorn RISCiX machines. | ||
| 2 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 25 | is the most significant byte. */ | ||
| 26 | |||
| 27 | #undef WORDS_BIG_ENDIAN | ||
| 28 | |||
| 29 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 30 | * group of arguments and treat it as an array of the arguments. We can't | ||
| 31 | * do this on the arm with gcc, since the first 4 args are in registers. */ | ||
| 32 | |||
| 33 | #ifdef __GNUC__ | ||
| 34 | #define NO_ARG_ARRAY | ||
| 35 | #else | ||
| 36 | #undef NO_ARG_ARRAY | ||
| 37 | #endif | ||
| 38 | |||
| 39 | /* Define WORD_MACHINE if addresses and such have | ||
| 40 | * to be corrected before they can be used as byte counts. */ | ||
| 41 | |||
| 42 | #undef WORD_MACHINE | ||
| 43 | |||
| 44 | /* Define how to take a char and sign-extend into an int. | ||
| 45 | On machines where char is signed, this is a no-op. */ | ||
| 46 | |||
| 47 | /* ARM note - The RISCiX Norcroft C Compiler has ALL | ||
| 48 | non-32-bit types as unsigned */ | ||
| 49 | |||
| 50 | #define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24) | ||
| 51 | |||
| 52 | /* Now define a symbol for the cpu type, if your compiler | ||
| 53 | does not define it automatically: | ||
| 54 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 55 | orion, tahoe, APOLLO and many others */ | ||
| 56 | |||
| 57 | /* ARM note - this is done by the Norcroft compiler - symbol is `__arm' */ | ||
| 58 | |||
| 59 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 60 | /* This is desirable for most machines. */ | ||
| 61 | |||
| 62 | #define NO_UNION_TYPE | ||
| 63 | |||
| 64 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 65 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 66 | are always unsigned. | ||
| 67 | |||
| 68 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 69 | |||
| 70 | #define EXPLICIT_SIGN_EXTEND | ||
| 71 | |||
| 72 | #ifdef LDAV_SYMBOL | ||
| 73 | #undef LDAV_SYMBOL | ||
| 74 | #endif | ||
| 75 | |||
| 76 | #define LDAV_SYMBOL "_iavenrun" | ||
| 77 | |||
| 78 | |||
| 79 | /* Data type of load average, as read out of kmem. */ | ||
| 80 | |||
| 81 | #define LOAD_AVE_TYPE long | ||
| 82 | |||
| 83 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 84 | |||
| 85 | /* | ||
| 86 | * Scale factor for scaled integers used to count | ||
| 87 | * %cpu time and load averages. | ||
| 88 | */ | ||
| 89 | |||
| 90 | /* FSHIFT and FSCALE are defined in param.h, but are required by | ||
| 91 | LOAD_AVE_CVT, so they need to be defined here. */ | ||
| 92 | |||
| 93 | #ifndef FSHIFT | ||
| 94 | #define FSHIFT 8 /* bits to right of fixed binary point */ | ||
| 95 | #endif | ||
| 96 | |||
| 97 | #ifndef FSCALE | ||
| 98 | #define FSCALE (1<<FSHIFT) | ||
| 99 | #endif | ||
| 100 | |||
| 101 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 102 | |||
| 103 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 104 | Then the function dump-emacs will not be defined | ||
| 105 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 106 | |||
| 107 | #undef CANNOT_DUMP | ||
| 108 | |||
| 109 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 110 | pure and impure space as loaded can vary, and even their | ||
| 111 | relative order cannot be relied on. | ||
| 112 | |||
| 113 | Otherwise Emacs assumes that text space precedes data space, | ||
| 114 | numerically. */ | ||
| 115 | |||
| 116 | #undef VIRT_ADDR_VARIES | ||
| 117 | |||
| 118 | /* This prevents Emacs dumping an unsqueezed binary with the | ||
| 119 | SQUEEZE bit set in the magic number. */ | ||
| 120 | |||
| 121 | #define ADJUST_EXEC_HEADER {hdr.a_magic &= ~MF_SQUEEZED;} | ||
| 122 | |||
| 123 | #ifdef __GNUC__ | ||
| 124 | |||
| 125 | /* Keep gcc/RISCiX happy - it uses __gccmain where other versions of | ||
| 126 | gcc use __main, because of a library routine name clash. */ | ||
| 127 | #define __main __gccmain | ||
| 128 | |||
| 129 | #endif /* __GNUC__ */ | ||
| 130 | |||
| 131 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 132 | to change the boundary between the text section and data section | ||
| 133 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 134 | code will not be sharable; but that's better than failing completely. */ | ||
| 135 | |||
| 136 | #define NO_REMAP | ||
| 137 | |||
| 138 | |||
| 139 | #ifndef NOT_C_CODE | ||
| 140 | #define TEXT_START 0x8000 | ||
| 141 | #define DATA_END &_edata | ||
| 142 | extern int _edata; | ||
| 143 | #define etext _etext | ||
| 144 | #endif | ||
| 145 | |||
| 146 | /* Avoid debugging library */ | ||
| 147 | #define LIBS_DEBUG | ||
| 148 | |||
| 149 | /* Avoid sharing libc */ | ||
| 150 | #define LIB_STANDARD -lc_n | ||
| 151 | |||
| 152 | /* Avoid sharing libX11 */ | ||
| 153 | #define LIB_X11_LIB -lX11_n | ||
| 154 | |||
| 155 | /* All kinds of symbol definitions, so as to avoid multiply defined symbol | ||
| 156 | errors from the RISCiX linker. */ | ||
| 157 | |||
| 158 | #ifdef __GNUC__ | ||
| 159 | #define C_DEBUG_SWITCH | ||
| 160 | |||
| 161 | #define C_OPTIMIZE_SWITCH -O1 -fomit-frame-pointer -w -g -Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind -Doptarg=gnu_optarg -Dcfree=gnu_cfree -D___type= | ||
| 162 | |||
| 163 | #else | ||
| 164 | #define C_DEBUG_SWITCH -O -w -g -Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind -Doptarg=gnu_optarg -Dcfree=gnu_cfree | ||
| 165 | #endif | ||
| 166 | |||
| 167 | /* Turn this on to avoid the emacs malloc and use standard one */ | ||
| 168 | |||
| 169 | #undef SYSTEM_MALLOC | ||
| 170 | |||
| 171 | /* Use <dirent.h>. */ | ||
| 172 | #define SYSV_SYSTEM_DIR | ||
| 173 | |||
| 174 | #ifdef NO_REMAP | ||
| 175 | /* CRT0_O is defined in s/riscix1-1.h or s/riscix1-2.h, as appropriate. */ | ||
| 176 | #define START_FILES pre-crt0.o CRT0_O | ||
| 177 | #else | ||
| 178 | Cannot | ||
| 179 | do | ||
| 180 | this | ||
| 181 | yet | ||
| 182 | #endif | ||
| 183 | |||
| 184 | /* arch-tag: acee2955-8c49-4b40-813c-579f76f4c0c3 | ||
| 185 | (do not change this comment) */ | ||
diff --git a/src/m/alliant-2800.h b/src/m/alliant-2800.h deleted file mode 100644 index 405267afb2b..00000000000 --- a/src/m/alliant-2800.h +++ /dev/null | |||
| @@ -1,130 +0,0 @@ | |||
| 1 | /* alliant-2800.h - Alliant FX/2800 machine running Concentrix 2800. | ||
| 2 | Copyright (C) 1990, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-3" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #undef WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #define NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #undef WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 45 | are the ones defined so far. */ | ||
| 46 | |||
| 47 | #define ALLIANT | ||
| 48 | #define ALLIANT_2800 | ||
| 49 | #define sun /* Use X support for Sun keyboard stuff. */ | ||
| 50 | #define C_OPTIMIZE_SWITCH -Og /* No concurrent code allowed here. */ | ||
| 51 | |||
| 52 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 53 | /* This is desirable for most machines. */ | ||
| 54 | |||
| 55 | #define NO_UNION_TYPE | ||
| 56 | |||
| 57 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 58 | the bit field into an int. In other words, if bit fields | ||
| 59 | are always unsigned. | ||
| 60 | |||
| 61 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 62 | /* On Alliants, bitfields are unsigned. */ | ||
| 63 | |||
| 64 | #define EXPLICIT_SIGN_EXTEND | ||
| 65 | |||
| 66 | /* Concentrix uses a different kernel symbol for load average. */ | ||
| 67 | |||
| 68 | #undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */ | ||
| 69 | #define LDAV_SYMBOL "_Loadavg" | ||
| 70 | |||
| 71 | /* Data type of load average, as read out of kmem. */ | ||
| 72 | |||
| 73 | #define LOAD_AVE_TYPE long | ||
| 74 | |||
| 75 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 76 | |||
| 77 | #define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE) | ||
| 78 | |||
| 79 | /* include <sys/param.h> for the definition of LOADAVG_SCALE, and also | ||
| 80 | LOADAVG_SIZE, the number of items in the Loadavg array. */ | ||
| 81 | |||
| 82 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 83 | Then the function dump-emacs will not be defined | ||
| 84 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 85 | |||
| 86 | /* #define CANNOT_DUMP */ | ||
| 87 | #define UNEXEC unexfx2800.o | ||
| 88 | #define LIBS_MACHINE -lalliant | ||
| 89 | |||
| 90 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 91 | pure and impure space as loaded can vary, and even their | ||
| 92 | relative order cannot be relied on. | ||
| 93 | |||
| 94 | Otherwise Emacs assumes that text space precedes data space, | ||
| 95 | numerically. */ | ||
| 96 | |||
| 97 | #undef VIRT_ADDR_VARIES | ||
| 98 | |||
| 99 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 100 | to change the boundary between the text section and data section | ||
| 101 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 102 | code will not be sharable; but that's better than failing completely. */ | ||
| 103 | /* Actually, Alliant CONCENTRIX does paging "right": | ||
| 104 | data pages are copy-on-write, which means that the pure data areas | ||
| 105 | are shared automatically and remapping is not necessary. */ | ||
| 106 | |||
| 107 | #define NO_REMAP | ||
| 108 | |||
| 109 | /* Alliant needs special crt0.o because system version is not reentrant */ | ||
| 110 | |||
| 111 | #define START_FILES crt0.o | ||
| 112 | |||
| 113 | /* Alliant dependent code for dumping executing image. | ||
| 114 | See crt0.c code for alliant. */ | ||
| 115 | |||
| 116 | #define ADJUST_EXEC_HEADER {\ | ||
| 117 | extern int _curbrk, _setbrk;\ | ||
| 118 | _setbrk = _curbrk;\ | ||
| 119 | hdr.a_bss_addr = bss_start;\ | ||
| 120 | unexec_text_start = hdr.a_text_addr;} | ||
| 121 | |||
| 122 | /* POSIX Compatibility */ | ||
| 123 | /* Use System V.4 style getdents/readdir <dirent.h> for 2.2 and up. */ | ||
| 124 | #define SYSV_SYSTEM_DIR | ||
| 125 | |||
| 126 | /* Use the K&R version of the DEFUN macro. */ | ||
| 127 | #define USE_NONANSI_DEFUN | ||
| 128 | |||
| 129 | /* arch-tag: 8ba70b15-d082-40f6-931d-14adfd7f9dbd | ||
| 130 | (do not change this comment) */ | ||
diff --git a/src/m/alliant.h b/src/m/alliant.h deleted file mode 100644 index 7cad4bfb0c1..00000000000 --- a/src/m/alliant.h +++ /dev/null | |||
| @@ -1,123 +0,0 @@ | |||
| 1 | /* alliant.h Alliant machine running system version 2 or 3. | ||
| 2 | Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | Note that for version 1 of the Alliant system | ||
| 5 | you should use alliant1.h instead of this file. | ||
| 6 | Use alliant4.h for version 4. | ||
| 7 | |||
| 8 | This file is part of GNU Emacs. | ||
| 9 | |||
| 10 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 11 | it under the terms of the GNU General Public License as published by | ||
| 12 | the Free Software Foundation; either version 3, or (at your option) | ||
| 13 | any later version. | ||
| 14 | |||
| 15 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 18 | GNU General Public License for more details. | ||
| 19 | |||
| 20 | You should have received a copy of the GNU General Public License | ||
| 21 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 22 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 23 | Boston, MA 02110-1301, USA. */ | ||
| 24 | |||
| 25 | /* The following line tells the configuration script what sort of | ||
| 26 | operating system this machine is likely to run. | ||
| 27 | USUAL-OPSYS="bsd4-2" */ | ||
| 28 | |||
| 29 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 30 | is the most significant byte. */ | ||
| 31 | |||
| 32 | #define WORDS_BIG_ENDIAN | ||
| 33 | |||
| 34 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 35 | * group of arguments and treat it as an array of the arguments. */ | ||
| 36 | |||
| 37 | #ifdef ALLIANT_1 | ||
| 38 | #define NO_ARG_ARRAY | ||
| 39 | #endif | ||
| 40 | |||
| 41 | /* Define WORD_MACHINE if addresses and such have | ||
| 42 | * to be corrected before they can be used as byte counts. */ | ||
| 43 | |||
| 44 | #undef WORD_MACHINE | ||
| 45 | |||
| 46 | /* Now define a symbol for the cpu type, if your compiler | ||
| 47 | does not define it automatically: | ||
| 48 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 49 | are the ones defined so far. */ | ||
| 50 | |||
| 51 | #define ALLIANT | ||
| 52 | |||
| 53 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 54 | /* This is desirable for most machines. */ | ||
| 55 | |||
| 56 | #define NO_UNION_TYPE | ||
| 57 | |||
| 58 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 59 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 60 | are always unsigned. | ||
| 61 | |||
| 62 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 63 | /* On Alliants, bitfields are unsigned. */ | ||
| 64 | |||
| 65 | #define EXPLICIT_SIGN_EXTEND | ||
| 66 | |||
| 67 | /* No load average information available for Alliants. */ | ||
| 68 | |||
| 69 | #undef LOAD_AVE_TYPE | ||
| 70 | #undef LOAD_AVE_CVT | ||
| 71 | |||
| 72 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 73 | Then the function dump-emacs will not be defined | ||
| 74 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 75 | |||
| 76 | #undef CANNOT_DUMP | ||
| 77 | |||
| 78 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 79 | pure and impure space as loaded can vary, and even their | ||
| 80 | relative order cannot be relied on. | ||
| 81 | |||
| 82 | Otherwise Emacs assumes that text space precedes data space, | ||
| 83 | numerically. */ | ||
| 84 | |||
| 85 | #undef VIRT_ADDR_VARIES | ||
| 86 | |||
| 87 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 88 | to change the boundary between the text section and data section | ||
| 89 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 90 | code will not be sharable; but that's better than failing completely. */ | ||
| 91 | /* Actually, Alliant CONCENTRIX does paging "right": | ||
| 92 | data pages are copy-on-write, which means that the pure data areas | ||
| 93 | are shared automatically and remapping is not necessary. */ | ||
| 94 | |||
| 95 | #define NO_REMAP | ||
| 96 | |||
| 97 | /* Alliant needs special crt0.o because system version is not reentrant */ | ||
| 98 | |||
| 99 | #define START_FILES crt0.o | ||
| 100 | |||
| 101 | /* Alliant dependent code for dumping executing image. | ||
| 102 | See crt0.c code for alliant. */ | ||
| 103 | |||
| 104 | #define ADJUST_EXEC_HEADER {\ | ||
| 105 | extern int _curbrk, _setbrk;\ | ||
| 106 | _setbrk = _curbrk;\ | ||
| 107 | hdr.a_bss_addr = bss_start;\ | ||
| 108 | unexec_text_start = hdr.a_text_addr;} | ||
| 109 | |||
| 110 | /* cc screws up on long names. Try making cpp replace them. */ | ||
| 111 | |||
| 112 | #ifdef ALLIANT_1 | ||
| 113 | #define Finsert_abbrev_table_description Finsert_abbrev_table_descrip | ||
| 114 | #define internal_with_output_to_temp_buffer internal_with_output_to_tem | ||
| 115 | #endif | ||
| 116 | |||
| 117 | /* "vector" is a typedef in /usr/include/machine/reg.h, so its use as | ||
| 118 | a variable name causes errors when compiling under ANSI C. */ | ||
| 119 | |||
| 120 | #define vector xxvector | ||
| 121 | |||
| 122 | /* arch-tag: 0ad5f932-f29a-4458-a24c-496cafdfd50d | ||
| 123 | (do not change this comment) */ | ||
diff --git a/src/m/alliant1.h b/src/m/alliant1.h deleted file mode 100644 index ca597ac2762..00000000000 --- a/src/m/alliant1.h +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | /* config.h should include this file for version 1 of Alliant's | ||
| 2 | operating system. */ | ||
| 3 | |||
| 4 | /* The following line tells the configuration script what sort of | ||
| 5 | operating system this machine is likely to run. | ||
| 6 | USUAL-OPSYS="bsd4-2" */ | ||
| 7 | |||
| 8 | #define ALLIANT_1 | ||
| 9 | #include "alliant.h" | ||
| 10 | |||
| 11 | /* arch-tag: 516688f9-4b94-4356-9bf0-92b2d72e664e | ||
| 12 | (do not change this comment) */ | ||
diff --git a/src/m/alliant4.h b/src/m/alliant4.h deleted file mode 100644 index 2ab0a6bde1d..00000000000 --- a/src/m/alliant4.h +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | /* machine description file for Alliant Concentrix 4.0 or later. | ||
| 2 | Use alliant.h for versions 2 and 3. */ | ||
| 3 | |||
| 4 | /* The following line tells the configuration script what sort of | ||
| 5 | operating system this machine is likely to run. | ||
| 6 | USUAL-OPSYS="bsd4-2" */ | ||
| 7 | |||
| 8 | #include "alliant.h" | ||
| 9 | |||
| 10 | /* Concentrix uses a different kernel symbol for load average. */ | ||
| 11 | |||
| 12 | #undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */ | ||
| 13 | #define LDAV_SYMBOL "_Loadavg" | ||
| 14 | |||
| 15 | /* Data type of load average, as read out of kmem. */ | ||
| 16 | |||
| 17 | #define LOAD_AVE_TYPE long | ||
| 18 | |||
| 19 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 20 | |||
| 21 | #define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE) | ||
| 22 | |||
| 23 | /* include <sys/param.h> for the definition of LOADAVG_SCALE, and also | ||
| 24 | LOADAVG_SIZE, the number of items in the Loadavg array. */ | ||
| 25 | |||
| 26 | /* arch-tag: cf917b55-c95e-4079-a4d1-d31e00c61b66 | ||
| 27 | (do not change this comment) */ | ||
diff --git a/src/m/altos.h b/src/m/altos.h deleted file mode 100644 index 0f4bb9b810f..00000000000 --- a/src/m/altos.h +++ /dev/null | |||
| @@ -1,59 +0,0 @@ | |||
| 1 | /* altos machine description file Altos 3068 Unix System V Release 2 | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | #define EXPLICIT_SIGN_EXTEND | ||
| 33 | |||
| 34 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 35 | |||
| 36 | #define NO_UNION_TYPE | ||
| 37 | |||
| 38 | #define LIB_STANDARD -lc | ||
| 39 | |||
| 40 | #define SWITCH_ENUM_BUG | ||
| 41 | |||
| 42 | #define NO_REMAP | ||
| 43 | |||
| 44 | #undef TERMINFO | ||
| 45 | |||
| 46 | #undef CANNOT_DUMP | ||
| 47 | #undef SHORTNAMES | ||
| 48 | #define TERMCAP | ||
| 49 | |||
| 50 | #define LIBS_TERMCAP -ltermlib | ||
| 51 | #define PURESIZE 220000 | ||
| 52 | #define ALTOS | ||
| 53 | |||
| 54 | #ifdef __GNUC__ | ||
| 55 | #define COFF_ENCAPSULATE | ||
| 56 | #endif | ||
| 57 | |||
| 58 | /* arch-tag: 4572d0ff-70bb-445f-80f1-2bbac3cf47cb | ||
| 59 | (do not change this comment) */ | ||
diff --git a/src/m/amdahl.h b/src/m/amdahl.h deleted file mode 100644 index 486e2925a55..00000000000 --- a/src/m/amdahl.h +++ /dev/null | |||
| @@ -1,140 +0,0 @@ | |||
| 1 | /* amdahl machine description file | ||
| 2 | Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* | ||
| 23 | This file for amdahl_uts created by modifying the template.h | ||
| 24 | by Jishnu Mukerji 3/1/87 | ||
| 25 | |||
| 26 | The following line tells the configuration script what sort of | ||
| 27 | operating system this machine is likely to run. | ||
| 28 | USUAL-OPSYS="usg5-2-2" | ||
| 29 | |||
| 30 | This file works with the Amdahl uts native C compiler. The 5.2u370 | ||
| 31 | compiler is so brain damaged that it is not even worth trying to use it. | ||
| 32 | */ | ||
| 33 | |||
| 34 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 35 | is the most significant byte. */ | ||
| 36 | |||
| 37 | #define WORDS_BIG_ENDIAN | ||
| 38 | |||
| 39 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 40 | * group of arguments and treat it as an array of the arguments. */ | ||
| 41 | |||
| 42 | #undef NO_ARG_ARRAY | ||
| 43 | |||
| 44 | /* Define WORD_MACHINE if addresses and such have | ||
| 45 | * to be corrected before they can be used as byte counts. */ | ||
| 46 | |||
| 47 | #define WORD_MACHINE /* not actually used anywhere yet! */ | ||
| 48 | |||
| 49 | /* Now define a symbol for the cpu type, if your compiler | ||
| 50 | does not define it automatically: | ||
| 51 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 52 | are the ones defined so far. */ | ||
| 53 | |||
| 54 | /* uts gets defined automatically */ | ||
| 55 | /* However for clarity define amdahl_uts */ | ||
| 56 | #define amdahl_uts | ||
| 57 | |||
| 58 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 59 | /* This is desirable for most machines. */ | ||
| 60 | |||
| 61 | #define NO_UNION_TYPE | ||
| 62 | |||
| 63 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 64 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 65 | are always unsigned. | ||
| 66 | |||
| 67 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 68 | |||
| 69 | #define EXPLICIT_SIGN_EXTEND | ||
| 70 | |||
| 71 | /* Data type of load average, as read out of kmem. */ | ||
| 72 | |||
| 73 | /* #define LOAD_AVE_TYPE long*/ | ||
| 74 | |||
| 75 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 76 | |||
| 77 | /*#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)*/ | ||
| 78 | |||
| 79 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 80 | Then the function dump-emacs will not be defined | ||
| 81 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 82 | |||
| 83 | /* #define CANNOT_DUMP | ||
| 84 | |||
| 85 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 86 | pure and impure space as loaded can vary, and even their | ||
| 87 | relative order cannot be relied on. | ||
| 88 | |||
| 89 | Otherwise Emacs assumes that text space precedes data space, | ||
| 90 | numerically. */ | ||
| 91 | |||
| 92 | /* #define VIRT_ADDR_VARIES*/ | ||
| 93 | |||
| 94 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 95 | to change the boundary between the text section and data section | ||
| 96 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 97 | code will not be sharable; but that's better than failing completely. */ | ||
| 98 | |||
| 99 | /*#define NO_REMAP*/ | ||
| 100 | |||
| 101 | #define TERMINFO | ||
| 102 | |||
| 103 | /* The usual definition of XINT, which involves shifting, does not | ||
| 104 | sign-extend properly on this machine. */ | ||
| 105 | |||
| 106 | #define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \ | ||
| 107 | ? (sign_extend_temp | 0xFF000000) \ | ||
| 108 | : (sign_extend_temp & 0x00FFFFFF)) | ||
| 109 | |||
| 110 | #ifdef emacs /* Don't do this when making xmakefile! */ | ||
| 111 | extern int sign_extend_temp; | ||
| 112 | #endif | ||
| 113 | |||
| 114 | /* The following needed to load the proper crt0.o and to get the | ||
| 115 | proper declaration of data_start in the #undef NO_REMAP case */ | ||
| 116 | |||
| 117 | #ifndef NO_REMAP | ||
| 118 | #define START_FILES pre-crt0.o /lib/crt0.o | ||
| 119 | #endif | ||
| 120 | |||
| 121 | /* Perhaps this means that the optimizer isn't safe to use. */ | ||
| 122 | |||
| 123 | #define C_OPTIMIZE_SWITCH | ||
| 124 | |||
| 125 | /* Put text and data on non-segment boundary; makes image smaller */ | ||
| 126 | |||
| 127 | #define LD_SWITCH_MACHINE -N | ||
| 128 | |||
| 129 | /* When writing the 'xemacs' file, make text segment ro */ | ||
| 130 | #define EXEC_MAGIC 0410 | ||
| 131 | |||
| 132 | /* Mask for address bits within a memory segment */ | ||
| 133 | #define SEGSIZ 0x10000 /* Should this not be defined elsewhere ? */ | ||
| 134 | #define SEGMENT_MASK (SEGSIZ - 1) | ||
| 135 | |||
| 136 | /* Compensate for error in signal.h. */ | ||
| 137 | #define NSIG_MINIMUM 20 | ||
| 138 | |||
| 139 | /* arch-tag: cf665976-ddb1-49b0-b383-371e17f36acf | ||
| 140 | (do not change this comment) */ | ||
diff --git a/src/m/apollo.h b/src/m/apollo.h deleted file mode 100644 index 2eac3098db9..00000000000 --- a/src/m/apollo.h +++ /dev/null | |||
| @@ -1,96 +0,0 @@ | |||
| 1 | /* machine description file for Apollo machine. | ||
| 2 | Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-3" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Say this machine is a 68000 */ | ||
| 33 | |||
| 34 | /* #define m68000 */ /* Done by the C compiler */ | ||
| 35 | |||
| 36 | #define APOLLO | ||
| 37 | |||
| 38 | /* Assume we use s-bsd4-3.h for system version 10. */ | ||
| 39 | |||
| 40 | #ifdef BSD4_3 | ||
| 41 | #define APOLLO_SR10 | ||
| 42 | #endif | ||
| 43 | |||
| 44 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 45 | |||
| 46 | #define NO_UNION_TYPE | ||
| 47 | |||
| 48 | /* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT | ||
| 49 | since there is no /dev/kmem */ | ||
| 50 | |||
| 51 | /* Undefine VIRT_ADDR_VARIES because the virtual addresses of | ||
| 52 | pure and impure space as loaded do not vary. */ | ||
| 53 | |||
| 54 | #undef VIRT_ADDR_VARIES | ||
| 55 | |||
| 56 | /* Prevent -lg from being used for debugging. Not needed. */ | ||
| 57 | |||
| 58 | #define LIBS_DEBUG | ||
| 59 | |||
| 60 | /* Can't use the system's termcap. It has compressed data sections that | ||
| 61 | interfere with dumping. That means we won't automatically get a vt100 | ||
| 62 | when we start up emacs in a dm pad (a dubious feature at best anyway). */ | ||
| 63 | |||
| 64 | #undef LIBS_TERMCAP | ||
| 65 | |||
| 66 | /* Must use the system's malloc and alloca. */ | ||
| 67 | |||
| 68 | #define SYSTEM_MALLOC | ||
| 69 | |||
| 70 | /* Define the file we use for UNEXEC. */ | ||
| 71 | |||
| 72 | #define UNEXEC unexapollo.o | ||
| 73 | |||
| 74 | /* The Apollo linker does not recognize the -X switch, so we remove it here. */ | ||
| 75 | |||
| 76 | #define LD_SWITCH_SYSTEM | ||
| 77 | |||
| 78 | /* Define C_SWITCH_MACHINE to compile for 68020/68030 or PRISM. | ||
| 79 | Define LD_SWITCH_MACHINE to save space by stripping symbols | ||
| 80 | and use X11 libraries. */ | ||
| 81 | |||
| 82 | #if _ISP__A88K | ||
| 83 | #define C_SWITCH_MACHINE -W0,-ncompress -W0,-opt,2 -A cpu,a88k -A sys,any -A run,bsd4.3 | ||
| 84 | #define LD_SWITCH_MACHINE -A cpu,a88k -A sys,any -A run,bsd4.3 | ||
| 85 | #else | ||
| 86 | #define C_SWITCH_MACHINE -W0,-ncompress -W0,-opt,2 -A cpu,3000 -A sys,any -A run,bsd4.3 | ||
| 87 | #define LD_SWITCH_MACHINE -A cpu,m68k -A sys,any -A run,bsd4.3 | ||
| 88 | #endif | ||
| 89 | |||
| 90 | #define OLDXMENU_OPTIONS ${C_SWITCH_MACHINE} | ||
| 91 | |||
| 92 | /* In SR10.4, unistd.h has bad prototype for getpgrp, so we don't include it. */ | ||
| 93 | #undef HAVE_UNISTD_H | ||
| 94 | |||
| 95 | /* arch-tag: 33336588-6242-4e2e-a194-e38848b12813 | ||
| 96 | (do not change this comment) */ | ||
diff --git a/src/m/att3b.h b/src/m/att3b.h deleted file mode 100644 index 8e9a589bcd2..00000000000 --- a/src/m/att3b.h +++ /dev/null | |||
| @@ -1,150 +0,0 @@ | |||
| 1 | /* Machine-dependent configuration for GNU Emacs for AT&T 3b machines. | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | Modified by David Robinson (daver@csvax.caltech.edu) 6/6/86 | ||
| 6 | |||
| 7 | This file is part of GNU Emacs. | ||
| 8 | |||
| 9 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 10 | it under the terms of the GNU General Public License as published by | ||
| 11 | the Free Software Foundation; either version 3, or (at your option) | ||
| 12 | any later version. | ||
| 13 | |||
| 14 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | GNU General Public License for more details. | ||
| 18 | |||
| 19 | You should have received a copy of the GNU General Public License | ||
| 20 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 21 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 22 | Boston, MA 02110-1301, USA. */ | ||
| 23 | |||
| 24 | |||
| 25 | /* The following line tells the configuration script what sort of | ||
| 26 | operating system this machine is likely to run. | ||
| 27 | USUAL-OPSYS="usg5-2-2" */ | ||
| 28 | |||
| 29 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 30 | is the most significant byte. */ | ||
| 31 | |||
| 32 | #define WORDS_BIG_ENDIAN | ||
| 33 | |||
| 34 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 35 | * group of arguments and treat it as an array of the arguments. */ | ||
| 36 | |||
| 37 | /* #define NO_ARG_ARRAY */ | ||
| 38 | |||
| 39 | /* Define WORD_MACHINE if addresses and such have | ||
| 40 | * to be corrected before they can be used as byte counts. */ | ||
| 41 | |||
| 42 | /* #define WORD_MACHINE */ | ||
| 43 | |||
| 44 | /* Now define a symbol for the cpu type, if your compiler | ||
| 45 | does not define it automatically */ | ||
| 46 | #define ATT3B | ||
| 47 | |||
| 48 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 49 | /* This is desirable for most machines. */ | ||
| 50 | |||
| 51 | #define NO_UNION_TYPE | ||
| 52 | |||
| 53 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 54 | the bit field into an int. In other words, if bit fields | ||
| 55 | are always unsigned. | ||
| 56 | |||
| 57 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 58 | |||
| 59 | #define EXPLICIT_SIGN_EXTEND | ||
| 60 | |||
| 61 | /* Data type of load average, as read out of kmem. */ | ||
| 62 | /* #define LOAD_AVE_TYPE long */ | ||
| 63 | |||
| 64 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 65 | |||
| 66 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ | ||
| 67 | |||
| 68 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 69 | Then the function dump-emacs will not be defined | ||
| 70 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 71 | /* #define CANNOT_DUMP */ | ||
| 72 | |||
| 73 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 74 | pure and impure space as loaded can vary, and even their | ||
| 75 | relative order cannot be relied on. | ||
| 76 | |||
| 77 | Otherwise Emacs assumes that text space precedes data space, | ||
| 78 | numerically. */ | ||
| 79 | |||
| 80 | /* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */ | ||
| 81 | |||
| 82 | /* SysV has alloca in the PW library */ | ||
| 83 | |||
| 84 | #define LIB_STANDARD -lPW -lc | ||
| 85 | |||
| 86 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 87 | to change the boundary between the text section and data section | ||
| 88 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 89 | code will not be sharable; but that's better than failing completely. */ | ||
| 90 | |||
| 91 | #define NO_REMAP | ||
| 92 | |||
| 93 | /* #define LD_SWITCH_MACHINE -N */ | ||
| 94 | |||
| 95 | /* Use Terminfo, not Termcap. */ | ||
| 96 | |||
| 97 | #define TERMINFO | ||
| 98 | |||
| 99 | /* -O has been observed to make correct C code in Emacs not work. | ||
| 100 | So don't try to use it. */ | ||
| 101 | |||
| 102 | #if u3b2 || u3b5 || u3b15 | ||
| 103 | #define C_OPTIMIZE_SWITCH | ||
| 104 | #endif | ||
| 105 | |||
| 106 | /* Define our page size. */ | ||
| 107 | |||
| 108 | #define NBPC 2048 | ||
| 109 | |||
| 110 | #if 0 /* If this is still needed, don't hard-code assumptions about | ||
| 111 | the number of VALBITS, or other assumptions about the | ||
| 112 | Lisp_Object representation. Try to extend lisp.h instead, if | ||
| 113 | necessary. */ | ||
| 114 | /* The usual definition of XINT, which involves shifting, does not | ||
| 115 | sign-extend properly on this machine. */ | ||
| 116 | |||
| 117 | #define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \ | ||
| 118 | ? (sign_extend_temp | 0xFF000000) \ | ||
| 119 | : (sign_extend_temp & 0x00FFFFFF)) | ||
| 120 | #endif | ||
| 121 | |||
| 122 | #ifdef emacs /* Don't do this when making xmakefile! */ | ||
| 123 | extern int sign_extend_temp; | ||
| 124 | #endif | ||
| 125 | |||
| 126 | #if u3b2 || u3b5 || u3b15 | ||
| 127 | /* On 3b2/5/15, data space has high order bit on. */ | ||
| 128 | #define DATA_SEG_BITS 0x80000000 | ||
| 129 | #endif /* 3b2, 3b5 or 3b15 */ | ||
| 130 | |||
| 131 | #define TEXT_START 0 | ||
| 132 | |||
| 133 | /* (short) negative-int doesn't sign-extend correctly */ | ||
| 134 | #define SHORT_CAST_BUG | ||
| 135 | |||
| 136 | /* 3B2s with WIN/3B have winsize defined in ptem.h */ | ||
| 137 | #if u3b2 | ||
| 138 | #define NEED_PTEM_H | ||
| 139 | #endif /* u3b2 */ | ||
| 140 | |||
| 141 | /* 3b2 does not have memmove, I'm told. */ | ||
| 142 | /* It is safe to have no parens around the args in the safe_bcopy call, | ||
| 143 | and parens would screw up the prototype decl for memmove. */ | ||
| 144 | #define memmove(d, s, n) safe_bcopy (s, d, n) | ||
| 145 | |||
| 146 | /* This affects filemode.c. */ | ||
| 147 | #define NO_MODE_T | ||
| 148 | |||
| 149 | /* arch-tag: 07441a37-d630-447f-94fa-7da19645c97a | ||
| 150 | (do not change this comment) */ | ||
diff --git a/src/m/aviion-intel.h b/src/m/aviion-intel.h deleted file mode 100644 index eb93a43214f..00000000000 --- a/src/m/aviion-intel.h +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | /* This file is minor changes for the Data General AViiON intel machines | ||
| 2 | i586-dg-dguxR4* (tested on i586-dg-dguxR4.11MU04) | ||
| 3 | Done by Ehud Karni, 1998-may-30, ehud@unix.simonwiesel.co.il */ | ||
| 4 | |||
| 5 | #include "aviion.h" /* 1st load m88k DGUX definitions */ | ||
| 6 | |||
| 7 | #define INTEL_DGUX /* define for future possible use */ | ||
| 8 | |||
| 9 | /* Intel machines are LITTLE ENDIAN */ | ||
| 10 | #undef WORDS_BIG_ENDIAN | ||
| 11 | |||
| 12 | /* No correction needed for byte addresses */ | ||
| 13 | #undef WORD_MACHINE | ||
| 14 | |||
| 15 | #ifndef INTEL386 | ||
| 16 | #define INTEL386 /* Identify as Intel machine */ | ||
| 17 | #endif | ||
| 18 | |||
| 19 | #undef m88k /* It sure is NOT a Motorola machine */ | ||
| 20 | |||
| 21 | /* arch-tag: 7cbf89ef-237c-4da5-bdd0-8d569ae5f3ce | ||
| 22 | (do not change this comment) */ | ||
diff --git a/src/m/aviion.h b/src/m/aviion.h deleted file mode 100644 index 832feb79a00..00000000000 --- a/src/m/aviion.h +++ /dev/null | |||
| @@ -1,126 +0,0 @@ | |||
| 1 | /* machine description file for Data General AViiON. | ||
| 2 | Copyright (C) 1985, 1986, 1991, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 24 | is the most significant byte. */ | ||
| 25 | |||
| 26 | #define WORDS_BIG_ENDIAN | ||
| 27 | |||
| 28 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 29 | * group of arguments and treat it as an array of the arguments. */ | ||
| 30 | |||
| 31 | #define NO_ARG_ARRAY | ||
| 32 | |||
| 33 | /* Define WORD_MACHINE if addresses and such have | ||
| 34 | * to be corrected before they can be used as byte counts. */ | ||
| 35 | |||
| 36 | #define WORD_MACHINE | ||
| 37 | |||
| 38 | /* Define DATA_SEG_BITS if pointers need to be corrected with | ||
| 39 | a segment field. */ | ||
| 40 | |||
| 41 | #ifdef FIX_ADDRESS | ||
| 42 | #define DATA_SEG_BITS 0xef000000 | ||
| 43 | #endif | ||
| 44 | |||
| 45 | /* Now define a symbol for the cpu type, if your compiler | ||
| 46 | does not define it automatically: | ||
| 47 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 48 | orion, tahoe, APOLLO and many others */ | ||
| 49 | |||
| 50 | #ifndef m88k | ||
| 51 | #define m88k | ||
| 52 | #endif | ||
| 53 | |||
| 54 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 55 | /* This is desirable for most machines. */ | ||
| 56 | |||
| 57 | #define NO_UNION_TYPE | ||
| 58 | |||
| 59 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 60 | the bit field into an int. In other words, if bit fields | ||
| 61 | are always unsigned. | ||
| 62 | |||
| 63 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 64 | |||
| 65 | #define EXPLICIT_SIGN_EXTEND | ||
| 66 | |||
| 67 | /* Data type of load average, as read out of kmem. */ | ||
| 68 | |||
| 69 | /* #define LOAD_AVE_TYPE long */ | ||
| 70 | |||
| 71 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 72 | |||
| 73 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ | ||
| 74 | |||
| 75 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 76 | Then the function dump-emacs will not be defined | ||
| 77 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 78 | |||
| 79 | /* #define CANNOT_DUMP */ | ||
| 80 | |||
| 81 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 82 | pure and impure space as loaded can vary, and even their | ||
| 83 | relative order cannot be relied on. | ||
| 84 | |||
| 85 | Otherwise Emacs assumes that text space precedes data space, | ||
| 86 | numerically. */ | ||
| 87 | |||
| 88 | /* #define VIRT_ADDR_VARIES */ | ||
| 89 | |||
| 90 | #define alloca(x) __builtin_alloca(x) | ||
| 91 | |||
| 92 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 93 | to change the boundary between the text section and data section | ||
| 94 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 95 | code will not be sharable; but that's better than failing completely. */ | ||
| 96 | |||
| 97 | #define NO_REMAP | ||
| 98 | |||
| 99 | /* Define ADDR_CORRECT(ADDR) to be a macro to correct an int which is | ||
| 100 | the bit pattern of a pointer to a byte into an int which is the | ||
| 101 | number of a byte. | ||
| 102 | |||
| 103 | This macro has a default definition which is usually right. | ||
| 104 | This default definition is a no-op on most machines (where a | ||
| 105 | pointer looks like an int) but not on all machines. */ | ||
| 106 | |||
| 107 | #define ADDR_CORRECT(ADDR) ((int)ADDR) | ||
| 108 | |||
| 109 | /* Cast pointers to this type to compare them. */ | ||
| 110 | |||
| 111 | #define PNTR_COMPARISON_TYPE void * | ||
| 112 | |||
| 113 | /* Some machines that use COFF executables require that each section | ||
| 114 | start on a certain boundary *in the COFF file*. Such machines should | ||
| 115 | define SECTION_ALIGNMENT to a mask of the low-order bits that must be | ||
| 116 | zero on such a boundary. This mask is used to control padding between | ||
| 117 | segments in the COFF file. | ||
| 118 | |||
| 119 | If SECTION_ALIGNMENT is not defined, the segments are written | ||
| 120 | consecutively with no attempt at alignment. This is right for | ||
| 121 | unmodified system V. */ | ||
| 122 | |||
| 123 | #define SECTION_ALIGNMENT 0x7 | ||
| 124 | |||
| 125 | /* arch-tag: 9de8e6ed-ddd8-4480-8308-17ddd7c86559 | ||
| 126 | (do not change this comment) */ | ||
diff --git a/src/m/celerity.h b/src/m/celerity.h deleted file mode 100644 index 556c2765883..00000000000 --- a/src/m/celerity.h +++ /dev/null | |||
| @@ -1,60 +0,0 @@ | |||
| 1 | /* machine description file for Celerity. | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* XINT must explicitly sign extend */ | ||
| 33 | |||
| 34 | #define EXPLICIT_SIGN_EXTEND | ||
| 35 | |||
| 36 | /* celerity preprocessor defines "accel", however the following is clearer */ | ||
| 37 | #define celerity | ||
| 38 | |||
| 39 | /* #define NO_UNION_TYPE would be preferable, | ||
| 40 | but it does not work, and the reason is not yet known. */ | ||
| 41 | |||
| 42 | #define NO_UNION_TYPE | ||
| 43 | |||
| 44 | /* Data type of load average, as read out of kmem. */ | ||
| 45 | |||
| 46 | #define LOAD_AVE_TYPE double | ||
| 47 | |||
| 48 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 49 | |||
| 50 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 51 | |||
| 52 | /* A machine-specific loader switch is needed. */ | ||
| 53 | |||
| 54 | #define LD_SWITCH_MACHINE -k100000 | ||
| 55 | |||
| 56 | /* (short) negative-int doesn't sign-extend correctly */ | ||
| 57 | #define SHORT_CAST_BUG | ||
| 58 | |||
| 59 | /* arch-tag: b4df1828-fab6-48f8-97bc-b8998c200eea | ||
| 60 | (do not change this comment) */ | ||
diff --git a/src/m/clipper.h b/src/m/clipper.h deleted file mode 100644 index c0006f48eab..00000000000 --- a/src/m/clipper.h +++ /dev/null | |||
| @@ -1,98 +0,0 @@ | |||
| 1 | /* machine description file for clipper | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 24 | is the most significant byte. */ | ||
| 25 | |||
| 26 | #undef WORDS_BIG_ENDIAN | ||
| 27 | |||
| 28 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 29 | * group of arguments and treat it as an array of the arguments. */ | ||
| 30 | |||
| 31 | #define NO_ARG_ARRAY | ||
| 32 | |||
| 33 | /* Define WORD_MACHINE if addresses and such have | ||
| 34 | * to be corrected before they can be used as byte counts. */ | ||
| 35 | |||
| 36 | /* #define WORD_MACHINE */ | ||
| 37 | |||
| 38 | /* Now define a symbol for the cpu type, if your compiler | ||
| 39 | does not define it automatically */ | ||
| 40 | |||
| 41 | #define clipper 1 | ||
| 42 | |||
| 43 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 44 | |||
| 45 | #define NO_UNION_TYPE | ||
| 46 | |||
| 47 | /* crt0.c should define a symbol `start' and do .globl with a dot. */ | ||
| 48 | |||
| 49 | #define DOT_GLOBAL_START | ||
| 50 | |||
| 51 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 52 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 53 | are always unsigned. | ||
| 54 | |||
| 55 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 56 | |||
| 57 | /* #define EXPLICIT_SIGN_EXTEND */ | ||
| 58 | |||
| 59 | /* USG systems I know of running on Vaxes do not actually | ||
| 60 | support the load average, so disable it for them. */ | ||
| 61 | |||
| 62 | /* Data type of load average, as read out of kmem. */ | ||
| 63 | |||
| 64 | #define LOAD_AVE_TYPE double | ||
| 65 | |||
| 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 67 | |||
| 68 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 69 | |||
| 70 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 71 | Then the function dump-emacs will not be defined | ||
| 72 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 73 | /* #define CANNOT_DUMP */ | ||
| 74 | |||
| 75 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 76 | pure and impure space as loaded can vary, and even their | ||
| 77 | relative order cannot be relied on. | ||
| 78 | |||
| 79 | Otherwise Emacs assumes that text space precedes data space, | ||
| 80 | numerically. */ | ||
| 81 | |||
| 82 | /* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */ | ||
| 83 | |||
| 84 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 85 | to change the boundary between the text section and data section | ||
| 86 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 87 | code will not be sharable; but that's better than failing completely. */ | ||
| 88 | |||
| 89 | /* #define NO_REMAP */ | ||
| 90 | |||
| 91 | #ifdef USG | ||
| 92 | #define TEXT_START 0 | ||
| 93 | #endif /* USG */ | ||
| 94 | |||
| 95 | #define LD_TEXT_START_ADDR 8000 | ||
| 96 | |||
| 97 | /* arch-tag: 2f7981c1-7018-4a1e-b7b6-b2900de36a04 | ||
| 98 | (do not change this comment) */ | ||
diff --git a/src/m/cnvrgnt.h b/src/m/cnvrgnt.h deleted file mode 100644 index 22478a273b6..00000000000 --- a/src/m/cnvrgnt.h +++ /dev/null | |||
| @@ -1,97 +0,0 @@ | |||
| 1 | /* machine description file for convergent S series. | ||
| 2 | Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 24 | is the most significant byte. */ | ||
| 25 | |||
| 26 | #define WORDS_BIG_ENDIAN | ||
| 27 | |||
| 28 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 29 | * group of arguments and treat it as an array of the arguments. */ | ||
| 30 | |||
| 31 | /* #define NO_ARG_ARRAY */ | ||
| 32 | |||
| 33 | /* Define WORD_MACHINE if addresses and such have | ||
| 34 | * to be corrected before they can be used as byte counts. */ | ||
| 35 | |||
| 36 | /* #define WORD_MACHINE */ | ||
| 37 | |||
| 38 | /* Now define a symbol for the cpu type, if your compiler | ||
| 39 | does not define it automatically. */ | ||
| 40 | |||
| 41 | #define m68000 | ||
| 42 | |||
| 43 | /* Use type int rather than a union, to represent Lisp_Object. | ||
| 44 | This is desirable for most machines. */ | ||
| 45 | |||
| 46 | #define NO_UNION_TYPE | ||
| 47 | |||
| 48 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 49 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 50 | are always unsigned. | ||
| 51 | |||
| 52 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 53 | |||
| 54 | #define EXPLICIT_SIGN_EXTEND | ||
| 55 | |||
| 56 | /* Data type of load average, as read out of kmem. | ||
| 57 | These are commented out since it is not supported by this machine. */ | ||
| 58 | |||
| 59 | #define LOAD_AVE_TYPE double | ||
| 60 | |||
| 61 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 62 | |||
| 63 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 64 | |||
| 65 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 66 | Then the function dump-emacs will not be defined | ||
| 67 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 68 | |||
| 69 | /* #define CANNOT_DUMP */ | ||
| 70 | |||
| 71 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 72 | pure and impure space as loaded can vary, and even their | ||
| 73 | relative order cannot be relied on. | ||
| 74 | |||
| 75 | Otherwise Emacs assumes that text space precedes data space, | ||
| 76 | numerically. */ | ||
| 77 | |||
| 78 | #undef VIRT_ADDR_VARIES | ||
| 79 | |||
| 80 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 81 | to change the boundary between the text section and data section | ||
| 82 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 83 | code will not be sharable; but that's better than failing completely. */ | ||
| 84 | |||
| 85 | #define NO_REMAP | ||
| 86 | |||
| 87 | /* Change some things to avoid bugs in compiler. */ | ||
| 88 | |||
| 89 | #define SWITCH_ENUM_BUG | ||
| 90 | |||
| 91 | /* some errno.h's don't actually allocate the variable itself. | ||
| 92 | Cause crt0.c to define errno. */ | ||
| 93 | |||
| 94 | #define NEED_ERRNO | ||
| 95 | |||
| 96 | /* arch-tag: 1a227f79-37e4-43af-a186-53c61296b0be | ||
| 97 | (do not change this comment) */ | ||
diff --git a/src/m/convex.h b/src/m/convex.h deleted file mode 100644 index c8f447cf2fa..00000000000 --- a/src/m/convex.h +++ /dev/null | |||
| @@ -1,189 +0,0 @@ | |||
| 1 | /* machine description file for Convex (all models). | ||
| 2 | Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-3" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. | ||
| 34 | * Maybe it would be better to simply correct the code. */ | ||
| 35 | |||
| 36 | #define NO_ARG_ARRAY | ||
| 37 | |||
| 38 | /* Define WORD_MACHINE if addresses and such have | ||
| 39 | * to be corrected before they can be used as byte counts. */ | ||
| 40 | |||
| 41 | /* #define WORD_MACHINE */ | ||
| 42 | |||
| 43 | /* Now define a symbol for the cpu type, if your compiler | ||
| 44 | does not define it automatically. */ | ||
| 45 | #ifndef convex /* The compiler doesn't always do this. */ | ||
| 46 | #define convex | ||
| 47 | #endif | ||
| 48 | |||
| 49 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 50 | /* This is desirable for most machines. */ | ||
| 51 | |||
| 52 | #define NO_UNION_TYPE | ||
| 53 | |||
| 54 | #ifndef __GNUC__ /* David M. Cooke <dcooke@haven.larc.nasa.gov> | ||
| 55 | and Ralph Sobek <Ralph.Sobek@cerfacs.fr> agree | ||
| 56 | must ignore one arg when compiled with convex compiler. */ | ||
| 57 | #define CRT0_DUMMIES ignore, | ||
| 58 | #else | ||
| 59 | #define CRT0_DUMMIES | ||
| 60 | #endif | ||
| 61 | |||
| 62 | /* crt0.c should define a symbol `start' and do .globl with a dot. */ | ||
| 63 | |||
| 64 | #define DOT_GLOBAL_START | ||
| 65 | |||
| 66 | /* Data type of load average, as read out of kmem. */ | ||
| 67 | |||
| 68 | #define LOAD_AVE_TYPE double | ||
| 69 | |||
| 70 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 71 | |||
| 72 | #define LOAD_AVE_CVT(x) (int) ((x) * 100.0) | ||
| 73 | |||
| 74 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 75 | Then the function dump-emacs will not be defined | ||
| 76 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 77 | |||
| 78 | /* #define CANNOT_DUMP */ | ||
| 79 | |||
| 80 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 81 | pure and impure space as loaded can vary, and even their | ||
| 82 | relative order cannot be relied on. | ||
| 83 | |||
| 84 | Otherwise Emacs assumes that text space precedes data space, | ||
| 85 | numerically. */ | ||
| 86 | |||
| 87 | /*#define VIRT_ADDR_VARIES*/ | ||
| 88 | |||
| 89 | /* Must use the system's termcap. It does special things. */ | ||
| 90 | |||
| 91 | #define LIBS_TERMCAP -ltermcap | ||
| 92 | |||
| 93 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 94 | to change the boundary between the text section and data section | ||
| 95 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 96 | code will not be sharable; but that's better than failing completely. */ | ||
| 97 | |||
| 98 | /* #define NO_REMAP */ | ||
| 99 | |||
| 100 | /* Addresses on the Convex have the high bit set. */ | ||
| 101 | #define DATA_SEG_BITS (1 << (BITS_PER_INT-1)) | ||
| 102 | |||
| 103 | /* Right shift is logical shift. | ||
| 104 | And the usual way of handling such machines, which involves | ||
| 105 | copying the number into sign_extend_temp, does not work | ||
| 106 | for reasons as yet unknown. */ | ||
| 107 | |||
| 108 | #define XINT(a) sign_extend_lisp_int (a) | ||
| 109 | |||
| 110 | /* Convex uses a special version of unexec. */ | ||
| 111 | |||
| 112 | #define UNEXEC unexconvex.o | ||
| 113 | |||
| 114 | /* you gotta define 'COFF' for post 6.1 unexec. */ | ||
| 115 | |||
| 116 | #define COFF | ||
| 117 | #define TEXT_START 0x80001000 | ||
| 118 | |||
| 119 | /* Posix stuff for Convex OS 8.1 and up. */ | ||
| 120 | |||
| 121 | #define LD_SWITCH_MACHINE \ | ||
| 122 | -e__start -L /usr/lib \ | ||
| 123 | '-A__iob=___ap$$iob' '-A_use_libc_sema=___ap$$use_libc_sema' | ||
| 124 | |||
| 125 | /* Use <dirent.h>. */ | ||
| 126 | #define SYSV_SYSTEM_DIR | ||
| 127 | |||
| 128 | #ifdef _POSIX_SOURCE | ||
| 129 | |||
| 130 | /* These symbols have been undefined to advance the state of the art. */ | ||
| 131 | |||
| 132 | #define S_IFMT _S_IFMT | ||
| 133 | #define S_IFDIR _S_IFDIR | ||
| 134 | |||
| 135 | #define S_IREAD _S_IREAD | ||
| 136 | #define S_IWRITE _S_IWRITE | ||
| 137 | #define S_IEXEC _S_IEXEC | ||
| 138 | |||
| 139 | #endif | ||
| 140 | |||
| 141 | /* Ptys may start below ptyp0; call a routine to hunt for where. */ | ||
| 142 | |||
| 143 | #undef FIRST_PTY_LETTER | ||
| 144 | #define FIRST_PTY_LETTER first_pty_letter() | ||
| 145 | |||
| 146 | #if 0 | ||
| 147 | /* | ||
| 148 | * Force a K&R compilation and libraries with the Convex V 4.0 C compiler | ||
| 149 | */ | ||
| 150 | #define C_SWITCH_MACHINE -pcc | ||
| 151 | #define LIB_STANDARD -lc_old | ||
| 152 | #define LIBS_MACHINE -lC2_old | ||
| 153 | #define LD_SWITCH_MACHINE -X -NL -fn -Enoposix -A__iob=___ap\$$iob \ | ||
| 154 | -A_use_libc_sema=___ap\$$use_libc_sema -L /usr/lib | ||
| 155 | #endif | ||
| 156 | |||
| 157 | /* Avoid error in xrdb.c - d.m.cooke@larc.nasa.gov. */ | ||
| 158 | #define DECLARE_GETPWUID_WITH_UID_T | ||
| 159 | |||
| 160 | /* Call getpgrp properly. */ | ||
| 161 | #define GETPGRP_NO_ARG | ||
| 162 | |||
| 163 | /* Tested for both Convex C and GNUC by d.m.cooke@larc.nasa.gov. */ | ||
| 164 | #define LIBS_MACHINE -lC2 | ||
| 165 | |||
| 166 | /* Avoid error in getloadavg.c. */ | ||
| 167 | #define NLIST_NAME_UNION 1 | ||
| 168 | |||
| 169 | #if 0 /* This is supposed to be an improvement. | ||
| 170 | It would be good for people to try enabling this code | ||
| 171 | and report the results. */ | ||
| 172 | /* gcc -nostdlib prevents some math symbols from being included. | ||
| 173 | So we have to use -nostartfiles instead. */ | ||
| 174 | #define LINKER $(CC) -nostartfiles | ||
| 175 | |||
| 176 | #define ORDINARY_LINK | ||
| 177 | |||
| 178 | #undef LD_SWITCH_MACHINE | ||
| 179 | #define LD_SWITCH_MACHINE \ | ||
| 180 | -L /usr/lib \ | ||
| 181 | '-A__iob=___ap$$iob' '-A_use_libc_sema=___ap$$use_libc_sema' | ||
| 182 | #endif | ||
| 183 | |||
| 184 | /* There is some indication that the convex has sys/wait.h | ||
| 185 | but it does not work right. */ | ||
| 186 | #undef HAVE_SYS_WAIT_H | ||
| 187 | |||
| 188 | /* arch-tag: 127e5ae1-4f03-40c0-a87e-d2cb02c59de8 | ||
| 189 | (do not change this comment) */ | ||
diff --git a/src/m/cydra5.h b/src/m/cydra5.h deleted file mode 100644 index 4c95f226371..00000000000 --- a/src/m/cydra5.h +++ /dev/null | |||
| @@ -1,117 +0,0 @@ | |||
| 1 | /* machine description file for Cydrome's CYDRA 5 mini super computer | ||
| 2 | Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-3" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #undef NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #undef WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 45 | orion, tahoe, APOLLO and many others */ | ||
| 46 | |||
| 47 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 48 | /* This is desirable for most machines. */ | ||
| 49 | |||
| 50 | #define NO_UNION_TYPE | ||
| 51 | |||
| 52 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 53 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 54 | are always unsigned. | ||
| 55 | |||
| 56 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 57 | |||
| 58 | #define EXPLICIT_SIGN_EXTEND | ||
| 59 | |||
| 60 | /* Data type of load average, as read out of kmem. */ | ||
| 61 | |||
| 62 | #define LOAD_AVE_TYPE long | ||
| 63 | |||
| 64 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 65 | |||
| 66 | #define LOAD_AVE_CVT(x) x | ||
| 67 | |||
| 68 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 69 | Then the function dump-emacs will not be defined | ||
| 70 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 71 | |||
| 72 | /*#define CANNOT_DUMP*/ | ||
| 73 | |||
| 74 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 75 | pure and impure space as loaded can vary, and even their | ||
| 76 | relative order cannot be relied on. | ||
| 77 | |||
| 78 | Otherwise Emacs assumes that data space precedes text space, | ||
| 79 | numerically. */ | ||
| 80 | |||
| 81 | #undef VIRT_ADDR_VARIES | ||
| 82 | |||
| 83 | /* The data segment in this machine always starts at address 0x10000000. | ||
| 84 | An address of data cannot be stored correctly in a Lisp object; | ||
| 85 | we always lose the high bits. We must tell XPNTR to add them back. */ | ||
| 86 | |||
| 87 | #define DATA_SEG_BITS 0x20000000 | ||
| 88 | #define DATA_START 0x20000000 | ||
| 89 | |||
| 90 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 91 | to change the boundary between the text section and data section | ||
| 92 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 93 | code will not be sharable; but that's better than failing completely. */ | ||
| 94 | |||
| 95 | #define NO_REMAP | ||
| 96 | #define BROKEN_FIONREAD /* We son't even have it */ | ||
| 97 | #define LIBS_MACHINE -lsocket -lnsl | ||
| 98 | |||
| 99 | /* The data section in a coff file must be aligned in the file. */ | ||
| 100 | #define DATA_SECTION_ALIGNMENT 0xFFF | ||
| 101 | |||
| 102 | /* Compiler won't allow switch (x) when x is an enum. */ | ||
| 103 | #define SWITCH_ENUM_BUG | ||
| 104 | |||
| 105 | |||
| 106 | /* Explain how pty filenames work. */ | ||
| 107 | |||
| 108 | #define PTY_ITERATION for (i = 47; i >= 0; i--) | ||
| 109 | #define PTY_NAME_SPRINTF sprintf (ptyname, "/dev/pty%03x", i); | ||
| 110 | #define PTY_TTY_NAME_SPRINTF sprintf (ptyname, "/dev/ptm%03x", i); | ||
| 111 | |||
| 112 | /* We can't do interrupt-driven input, so don't let user try. */ | ||
| 113 | |||
| 114 | #define BROKEN_SIGIO | ||
| 115 | |||
| 116 | /* arch-tag: ad70aae4-1f54-4e67-8677-6eeafb9bcbd9 | ||
| 117 | (do not change this comment) */ | ||
diff --git a/src/m/delta88k.h b/src/m/delta88k.h deleted file mode 100644 index b5d0c8f190b..00000000000 --- a/src/m/delta88k.h +++ /dev/null | |||
| @@ -1,163 +0,0 @@ | |||
| 1 | /* Machine description file for Motorola System V/88 machines | ||
| 2 | Copyright (C) 1985, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-3" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #define NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | /* #define WORD_MACHINE */ | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 45 | orion, tahoe, APOLLO and many others */ | ||
| 46 | |||
| 47 | #ifndef m88000 /* Some 88k C compilers already define this */ | ||
| 48 | #define m88000 | ||
| 49 | #endif | ||
| 50 | |||
| 51 | /* Now define a symbol for the cpu type, if your compiler | ||
| 52 | does not define it automatically. */ | ||
| 53 | |||
| 54 | |||
| 55 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 56 | /* This is desirable for most machines. */ | ||
| 57 | |||
| 58 | #define NO_UNION_TYPE | ||
| 59 | |||
| 60 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 61 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 62 | are always unsigned. | ||
| 63 | |||
| 64 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 65 | |||
| 66 | /* #define EXPLICIT_SIGN_EXTEND */ | ||
| 67 | |||
| 68 | /* Data type of load average, as read out of kmem. */ | ||
| 69 | /* No load average on Motorola machines. */ | ||
| 70 | /* #define LOAD_AVE_TYPE double */ | ||
| 71 | |||
| 72 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 73 | /* #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) */ | ||
| 74 | |||
| 75 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 76 | Then the function dump-emacs will not be defined | ||
| 77 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 78 | |||
| 79 | /* #define CANNOT_DUMP */ | ||
| 80 | |||
| 81 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 82 | pure and impure space as loaded can vary, and even their | ||
| 83 | relative order cannot be relied on. | ||
| 84 | |||
| 85 | Otherwise Emacs assumes that text space precedes data space, | ||
| 86 | numerically. */ | ||
| 87 | |||
| 88 | /* #define VIRT_ADDR_VARIES */ | ||
| 89 | |||
| 90 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 91 | to change the boundary between the text section and data section | ||
| 92 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 93 | code will not be sharable; but that's better than failing completely. */ | ||
| 94 | |||
| 95 | #define NO_REMAP | ||
| 96 | |||
| 97 | /* Motorola SysV has PTYs. Not all usg3-5 systems do, so this is defined | ||
| 98 | here. */ | ||
| 99 | |||
| 100 | #define HAVE_PTYS | ||
| 101 | #define SYSV_PTYS | ||
| 102 | |||
| 103 | /* Ditto for IPC. */ | ||
| 104 | |||
| 105 | |||
| 106 | /* | ||
| 107 | * we now have job control in R32V1 | ||
| 108 | */ | ||
| 109 | #undef NOMULTIPLEJOBS | ||
| 110 | |||
| 111 | /* | ||
| 112 | * we have bcopy, bzero, bcmp in libc.a (what isn't in libc.a?) | ||
| 113 | */ | ||
| 114 | #define BSTRING | ||
| 115 | |||
| 116 | /* | ||
| 117 | * sockets are in R32V1 | ||
| 118 | */ | ||
| 119 | #define HAVE_SOCKETS | ||
| 120 | |||
| 121 | /* | ||
| 122 | * we have the wrong name for networking libs | ||
| 123 | */ | ||
| 124 | #ifdef USG5_4 | ||
| 125 | /* rms: not needed; LIB_X11_LIB deals with this. */ | ||
| 126 | /* #define LIBX11_SYSTEM -lX11 */ | ||
| 127 | #else | ||
| 128 | #undef LIB_X11_LIB /* We don't have the shared libs as assumed in usg5-3.h. */ | ||
| 129 | #undef LIBX11_SYSTEM | ||
| 130 | #define LIBX11_SYSTEM -lnsl -lbsd | ||
| 131 | #endif /* USG5_4 */ | ||
| 132 | |||
| 133 | #define BROKEN_FIONREAD | ||
| 134 | |||
| 135 | /* previously defined in usg5-4, if we choose to use that. */ | ||
| 136 | #ifndef LIBS_SYSTEM | ||
| 137 | #ifdef USG5_4 | ||
| 138 | #define LIBS_SYSTEM -lsocket -lnsl | ||
| 139 | #else | ||
| 140 | #define LIBS_SYSTEM -lbsd -lg | ||
| 141 | #endif /* USG5_4 */ | ||
| 142 | #endif | ||
| 143 | |||
| 144 | #define HAVE_TERMIOS | ||
| 145 | #undef HAVE_TERMIO | ||
| 146 | #define NO_TERMIO | ||
| 147 | #undef sigsetmask | ||
| 148 | |||
| 149 | #define NO_SIOCTL_H | ||
| 150 | |||
| 151 | #ifdef USG5_4 | ||
| 152 | #ifdef HAVE_X_WINDOWS | ||
| 153 | #else | ||
| 154 | #undef BSTRING | ||
| 155 | #endif /* HAVE_X_WINDOWS */ | ||
| 156 | #endif /* USG5_4 */ | ||
| 157 | |||
| 158 | #define NO_PTY_H | ||
| 159 | |||
| 160 | #define USE_GETOBAUD | ||
| 161 | |||
| 162 | /* arch-tag: c8ea1965-99d7-43df-ba32-29b66fc069be | ||
| 163 | (do not change this comment) */ | ||
diff --git a/src/m/dpx2.h b/src/m/dpx2.h deleted file mode 100644 index b39ef93ee34..00000000000 --- a/src/m/dpx2.h +++ /dev/null | |||
| @@ -1,222 +0,0 @@ | |||
| 1 | /* machine description for Bull DPX/2 range | ||
| 2 | Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* The following line tells the configuration script what sort of | ||
| 23 | operating system this machine is likely to run. | ||
| 24 | USUAL-OPSYS="usg5-3" */ | ||
| 25 | |||
| 26 | /* | ||
| 27 | * You need to either un-comment one of these lines, or copy one | ||
| 28 | * of them to config.h before you include this file. | ||
| 29 | * Note that some simply define a constant and others set a value. | ||
| 30 | */ | ||
| 31 | |||
| 32 | /* #define ncl_el /* DPX/2 210,220 etc */ | ||
| 33 | /* #define ncl_mr 1 /* DPX/2 320,340 (and 360,380 ?) */ | ||
| 34 | |||
| 35 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 36 | is the most significant byte. */ | ||
| 37 | |||
| 38 | #define WORDS_BIG_ENDIAN | ||
| 39 | |||
| 40 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 41 | * group of arguments and treat it as an array of the arguments. */ | ||
| 42 | |||
| 43 | #define NO_ARG_ARRAY | ||
| 44 | |||
| 45 | /* Define WORD_MACHINE if addresses and such have | ||
| 46 | * to be corrected before they can be used as byte counts. */ | ||
| 47 | |||
| 48 | /* #define WORD_MACHINE /**/ | ||
| 49 | |||
| 50 | /* Now define a symbol for the cpu type, if your compiler | ||
| 51 | does not define it automatically: | ||
| 52 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 53 | orion, tahoe, APOLLO and many others */ | ||
| 54 | |||
| 55 | /* /bin/cc on ncl_el and ncl_mr define m68k and mc68000 */ | ||
| 56 | |||
| 57 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 58 | /* This is desirable for most machines. */ | ||
| 59 | |||
| 60 | #define NO_UNION_TYPE | ||
| 61 | |||
| 62 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 63 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 64 | are always unsigned. | ||
| 65 | |||
| 66 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 67 | |||
| 68 | #define EXPLICIT_SIGN_EXTEND | ||
| 69 | |||
| 70 | /* Data type of load average, as read out of kmem. */ | ||
| 71 | |||
| 72 | #define LOAD_AVE_TYPE long | ||
| 73 | |||
| 74 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 75 | |||
| 76 | #define FSCALE 1000.0 | ||
| 77 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 78 | |||
| 79 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 80 | Then the function dump-emacs will not be defined | ||
| 81 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 82 | |||
| 83 | /*#define CANNOT_DUMP /**/ | ||
| 84 | |||
| 85 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 86 | pure and impure space as loaded can vary, and even their | ||
| 87 | relative order cannot be relied on. | ||
| 88 | |||
| 89 | Otherwise Emacs assumes that text space precedes data space, | ||
| 90 | numerically. */ | ||
| 91 | |||
| 92 | /* #define VIRT_ADDR_VARIES /**/ | ||
| 93 | |||
| 94 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 95 | to change the boundary between the text section and data section | ||
| 96 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 97 | code will not be sharable; but that's better than failing completely. */ | ||
| 98 | |||
| 99 | #define NO_REMAP | ||
| 100 | |||
| 101 | /* | ||
| 102 | * end of the standard macro's | ||
| 103 | */ | ||
| 104 | |||
| 105 | /* | ||
| 106 | * a neat identifier to handle source mods (if needed) | ||
| 107 | */ | ||
| 108 | #ifndef DPX2 | ||
| 109 | #define DPX2 | ||
| 110 | #endif | ||
| 111 | |||
| 112 | /* Disable support for shared libraries in unexec. */ | ||
| 113 | |||
| 114 | #undef USG_SHARED_LIBRARIES | ||
| 115 | |||
| 116 | /* | ||
| 117 | * if we use X11, libX11.a has these... | ||
| 118 | */ | ||
| 119 | # undef LIB_X11_LIB | ||
| 120 | # define LIB_X11_LIB -lX11 | ||
| 121 | # undef LIBX11_SYSTEM | ||
| 122 | # define LIBX11_SYSTEM -lmalloc -lnsl | ||
| 123 | # define BSTRING | ||
| 124 | |||
| 125 | /* | ||
| 126 | * we must have INET loaded so we have sockets | ||
| 127 | */ | ||
| 128 | # define HAVE_SOCKETS | ||
| 129 | |||
| 130 | /* | ||
| 131 | * useful if you have INET loaded | ||
| 132 | */ | ||
| 133 | # define LIBS_MACHINE -linet | ||
| 134 | |||
| 135 | |||
| 136 | #if (defined(ncl_mr) || defined(ncl_el)) && !defined (NBPC) | ||
| 137 | # define NBPC 4096 | ||
| 138 | #endif | ||
| 139 | |||
| 140 | /* | ||
| 141 | * if SIGIO is defined, much of the emacs | ||
| 142 | * code assumes we are BSD !! | ||
| 143 | */ | ||
| 144 | #define BROKEN_SIGIO | ||
| 145 | |||
| 146 | |||
| 147 | /* | ||
| 148 | * a good idea on multi-user systems :-) | ||
| 149 | */ | ||
| 150 | #define CLASH_DETECTION /* probably a good idea */ | ||
| 151 | |||
| 152 | |||
| 153 | /* | ||
| 154 | * sysdep.c(sys_suspend) works fine with emacs-18.58 | ||
| 155 | * and BOS 02.00.45, if you have an earler version | ||
| 156 | * of Emacs and/or BOS, or have problems, or just prefer | ||
| 157 | * to start a sub-shell rather than suspend-emacs, | ||
| 158 | * un-comment out the next line. | ||
| 159 | */ | ||
| 160 | /* # define BROKEN_SIGTSTP /* make suspend-emacs spawn a sub-shell */ | ||
| 161 | #ifdef NOMULTIPLEJOBS | ||
| 162 | # undef NOMULTIPLEJOBS | ||
| 163 | #endif | ||
| 164 | /* | ||
| 165 | * no we don't want this at all | ||
| 166 | */ | ||
| 167 | #ifdef USG_JOBCTRL | ||
| 168 | # undef USG_JOBCTRL | ||
| 169 | #endif | ||
| 170 | |||
| 171 | /* | ||
| 172 | * but we have that | ||
| 173 | */ | ||
| 174 | #define GETPGRP_NO_ARG | ||
| 175 | |||
| 176 | /* select also needs this header file--but not in ymakefile. */ | ||
| 177 | #ifndef NOT_C_CODE | ||
| 178 | #include <sys/types.h> | ||
| 179 | #include <sys/select.h> | ||
| 180 | #endif | ||
| 181 | |||
| 182 | #define TEXT_START 0 | ||
| 183 | |||
| 184 | /* we have termios */ | ||
| 185 | #undef HAVE_TERMIO | ||
| 186 | #define HAVE_TERMIOS | ||
| 187 | #define HAVE_TCATTR | ||
| 188 | |||
| 189 | /* we also have this */ | ||
| 190 | #define HAVE_PTYS | ||
| 191 | #define SYSV_PTYS | ||
| 192 | |||
| 193 | /* It doesn't seem we have sigpause */ | ||
| 194 | #undef HAVE_SYSV_SIGPAUSE | ||
| 195 | |||
| 196 | #define POSIX_SIGNALS | ||
| 197 | |||
| 198 | /* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */ | ||
| 199 | #undef sigsetmask | ||
| 200 | |||
| 201 | |||
| 202 | /* on bos2.00.45 there is a bug that makes the F_SETOWN fcntl() call | ||
| 203 | enters in an infinite loop. Avoid calling it */ | ||
| 204 | #define F_SETOWN_BUG | ||
| 205 | |||
| 206 | /* system closedir sometimes complains about wrong descriptor | ||
| 207 | for no apparent reasons. Use the provided closedir in sysdep.c instead */ | ||
| 208 | #ifdef HAVE_CLOSEDIR | ||
| 209 | #undef HAVE_CLOSEDIR | ||
| 210 | #endif | ||
| 211 | |||
| 212 | /* Send signals to subprocesses by "typing" signal chars at them. */ | ||
| 213 | #define SIGNALS_VIA_CHARACTERS | ||
| 214 | |||
| 215 | /* This is to prevent memory clobbering on the DPX/2 200. */ | ||
| 216 | #define LD_SWITCH_MACHINE -N -T32 | ||
| 217 | |||
| 218 | /* end of dpx2.h */ | ||
| 219 | |||
| 220 | |||
| 221 | /* arch-tag: 8cfdf817-aec7-4d99-a00d-0e77615e8e1b | ||
| 222 | (do not change this comment) */ | ||
diff --git a/src/m/dual.h b/src/m/dual.h deleted file mode 100644 index d287f9502d2..00000000000 --- a/src/m/dual.h +++ /dev/null | |||
| @@ -1,73 +0,0 @@ | |||
| 1 | /* machine description file for Dual machines using unisoft port. | ||
| 2 | Copyright (C) 1985, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* The following line tells the configuration script what sort of | ||
| 23 | operating system this machine is likely to run. | ||
| 24 | USUAL-OPSYS="note" | ||
| 25 | |||
| 26 | NOTE-START | ||
| 27 | Dual running System V (-machine=dual -opsystem=usg5-2) | ||
| 28 | |||
| 29 | As of 17.46, this works except for a few changes | ||
| 30 | needed in unexec.c. | ||
| 31 | |||
| 32 | Dual running Uniplus (-machine=dual -opsystem=unipl5-2) | ||
| 33 | |||
| 34 | Works, as of 17.51. | ||
| 35 | NOTE-END */ | ||
| 36 | |||
| 37 | |||
| 38 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 39 | is the most significant byte. */ | ||
| 40 | |||
| 41 | #define WORDS_BIG_ENDIAN | ||
| 42 | |||
| 43 | /* XINT must explicitly sign-extend */ | ||
| 44 | |||
| 45 | #define EXPLICIT_SIGN_EXTEND | ||
| 46 | |||
| 47 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 48 | |||
| 49 | #define NO_UNION_TYPE | ||
| 50 | |||
| 51 | /* Now define a symbol for the cpu type, if your compiler | ||
| 52 | does not define it automatically: | ||
| 53 | vax, m68000, ns16000 are the ones defined so far. */ | ||
| 54 | |||
| 55 | #ifndef m68000 | ||
| 56 | #define m68000 | ||
| 57 | #endif | ||
| 58 | |||
| 59 | /* Data type of load average, as read out of kmem. */ | ||
| 60 | /* These are commented out since it does not really work in uniplus */ | ||
| 61 | |||
| 62 | /* #define LOAD_AVE_TYPE long */ | ||
| 63 | |||
| 64 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 65 | |||
| 66 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ | ||
| 67 | |||
| 68 | /* Change some things to avoid bugs in compiler */ | ||
| 69 | |||
| 70 | #define SWITCH_ENUM_BUG 1 | ||
| 71 | |||
| 72 | /* arch-tag: 7208d63c-9a23-469e-a9b1-908ac912c743 | ||
| 73 | (do not change this comment) */ | ||
diff --git a/src/m/elxsi.h b/src/m/elxsi.h deleted file mode 100644 index 07a00bbf714..00000000000 --- a/src/m/elxsi.h +++ /dev/null | |||
| @@ -1,133 +0,0 @@ | |||
| 1 | /* machine description file for Elxsi machine (running enix). | ||
| 2 | Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | Adapted by John Salmon | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2" */ | ||
| 26 | |||
| 27 | /* This file was modified by Matt Crawford <matt@tank.uchicago.edu> | ||
| 28 | to work under Elxsi's 12.0 release of BSD unix. */ | ||
| 29 | |||
| 30 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 31 | is the most significant byte. */ | ||
| 32 | |||
| 33 | #undef WORDS_BIG_ENDIAN | ||
| 34 | |||
| 35 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 36 | * group of arguments and treat it as an array of the arguments. */ | ||
| 37 | |||
| 38 | /*#define NO_ARG_ARRAY */ | ||
| 39 | |||
| 40 | /* Define WORD_MACHINE if addresses and such have | ||
| 41 | * to be corrected before they can be used as byte counts. */ | ||
| 42 | |||
| 43 | /*#define WORD_MACHINE */ | ||
| 44 | |||
| 45 | /* Now define a symbol for the cpu type, if your compiler | ||
| 46 | does not define it automatically: | ||
| 47 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 48 | are the ones defined so far. */ | ||
| 49 | |||
| 50 | #ifndef elxsi | ||
| 51 | #define elxsi | ||
| 52 | #endif | ||
| 53 | |||
| 54 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 55 | /* This is desirable for most machines. */ | ||
| 56 | |||
| 57 | #define NO_UNION_TYPE | ||
| 58 | |||
| 59 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 60 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 61 | are always unsigned. | ||
| 62 | |||
| 63 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 64 | |||
| 65 | #define EXPLICIT_SIGN_EXTEND | ||
| 66 | |||
| 67 | |||
| 68 | /* Name of kernel load average variable */ | ||
| 69 | |||
| 70 | #undef LDAV_SYMBOL | ||
| 71 | #define LDAV_SYMBOL "avenrun" | ||
| 72 | |||
| 73 | /* Data type of load average, as read out of kmem. */ | ||
| 74 | |||
| 75 | #define LOAD_AVE_TYPE double | ||
| 76 | |||
| 77 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 78 | |||
| 79 | #define LOAD_AVE_CVT(x) (int) ((x) * 100.0) | ||
| 80 | |||
| 81 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 82 | Then the function dump-emacs will not be defined | ||
| 83 | and temacs will do (load "loadup") automatically unless told otherwise. | ||
| 84 | |||
| 85 | Earlier versions couldn't dump. | ||
| 86 | Changes for 12.0 release are in 19.1. | ||
| 87 | Dumping should work now. */ | ||
| 88 | |||
| 89 | /* #define CANNOT_DUMP */ | ||
| 90 | |||
| 91 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 92 | pure and impure space as loaded can vary, and even their | ||
| 93 | relative order cannot be relied on. | ||
| 94 | |||
| 95 | Otherwise Emacs assumes that text space precedes data space, | ||
| 96 | numerically. */ | ||
| 97 | |||
| 98 | /* #define VIRT_ADDR_VARIES */ | ||
| 99 | |||
| 100 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 101 | to change the boundary between the text section and data section | ||
| 102 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 103 | code will not be sharable; but that's better than failing completely. */ | ||
| 104 | /*#define NO_REMAP*/ | ||
| 105 | |||
| 106 | /* This is a guess for an alternate solution to whatever | ||
| 107 | problem motivated defining _sobuf in sysdep,c with extern char *_sobuf. */ | ||
| 108 | #define _sobuf xsobuf | ||
| 109 | |||
| 110 | /* Address of start of text segment as loaded. */ | ||
| 111 | |||
| 112 | #define TEXT_START 0x800 | ||
| 113 | |||
| 114 | /* Tell crt0.c not to define environ. */ | ||
| 115 | |||
| 116 | #define DONT_NEED_ENVIRON | ||
| 117 | |||
| 118 | /* The elxsi has no debugger, so might as well optimize instead | ||
| 119 | of trying to make a symbol table. */ | ||
| 120 | |||
| 121 | #define C_DEBUG_SWITCH -O | ||
| 122 | |||
| 123 | /* Elxsi uses COFF under both Sys V and BSD environments */ | ||
| 124 | |||
| 125 | #define COFF | ||
| 126 | |||
| 127 | #define ADJUST_EXEC_HEADER {\ | ||
| 128 | extern int _init_brk;\ | ||
| 129 | _init_brk = bss_start;\ | ||
| 130 | } | ||
| 131 | |||
| 132 | /* arch-tag: 73bf1120-a994-4c29-8d60-af425d8bf10c | ||
| 133 | (do not change this comment) */ | ||
diff --git a/src/m/f301.h b/src/m/f301.h deleted file mode 100644 index c427c19e05d..00000000000 --- a/src/m/f301.h +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | /* Machine description file for Fujitsu F301 machines. */ | ||
| 2 | |||
| 3 | /* The following line tells the configuration script what sort of | ||
| 4 | operating system this machine is likely to run. | ||
| 5 | USUAL-OPSYS="uxpv" */ | ||
| 6 | |||
| 7 | #include "delta88k.h" | ||
| 8 | |||
| 9 | /* arch-tag: a0ed4f18-ecf2-4d9a-853b-36e0f6b45945 | ||
| 10 | (do not change this comment) */ | ||
diff --git a/src/m/gould-np1.h b/src/m/gould-np1.h deleted file mode 100644 index cb3da1825cc..00000000000 --- a/src/m/gould-np1.h +++ /dev/null | |||
| @@ -1,108 +0,0 @@ | |||
| 1 | /* machine description file for Gould NP1 with UTX/32 3.0 (first release for NP1) | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* The following line tells the configuration script what sort of | ||
| 23 | operating system this machine is likely to run. | ||
| 24 | USUAL-OPSYS="bsd4-3" */ | ||
| 25 | |||
| 26 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 27 | preprocessor symbol "COFF". */ | ||
| 28 | /* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */ | ||
| 29 | /* at least currently, already defined by cpp, but make sure */ | ||
| 30 | #ifndef COFF | ||
| 31 | #define COFF | ||
| 32 | #endif COFF | ||
| 33 | |||
| 34 | #include "gould.h" | ||
| 35 | |||
| 36 | /* undefine what gould.h defined */ | ||
| 37 | #undef ADJUST_EXEC_HEADER | ||
| 38 | |||
| 39 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 40 | preprocessor symbol "COFF". */ | ||
| 41 | /* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */ | ||
| 42 | #ifndef COFF /* at least currently, already defined by cpp */ | ||
| 43 | #define COFF | ||
| 44 | #endif COFF | ||
| 45 | |||
| 46 | /* make Gould NP1 and PN COFF look like USG COFF */ | ||
| 47 | /* NP1 COFF */ | ||
| 48 | #undef aouthdr /* Since gould.h already defined these */ | ||
| 49 | #undef a_dtbase | ||
| 50 | |||
| 51 | #ifdef IN_UNEXEC | ||
| 52 | #define aouthdr exec | ||
| 53 | #define ADJUST_TEXT_SCNHDR_SIZE | ||
| 54 | |||
| 55 | /* Gould COFF - these are already defined in gould.h */ | ||
| 56 | /* | ||
| 57 | * #define COFF_WITH_BSD_SYMTAB | ||
| 58 | * #define HEADER_INCL_IN_TEXT | ||
| 59 | * #define magic a_magic | ||
| 60 | * #define tsize a_text | ||
| 61 | * #define dsize a_data | ||
| 62 | * #define bsize a_bss | ||
| 63 | * #define entry a_entry | ||
| 64 | * #define text_start a_txbase | ||
| 65 | * #define data_start a_dtbase | ||
| 66 | */ | ||
| 67 | /* End Gould COFF */ | ||
| 68 | #endif /* IN_UNEXEC */ | ||
| 69 | |||
| 70 | /* NP1 supports a slightly different set than PowerNode */ | ||
| 71 | #define BAUD_CONVERT { 0, 50, 75, 110, 134, 150, 300, 450, 600, 1200, \ | ||
| 72 | 1800, 2000, 2400, 3600, 4800, 7200, 9600, \ | ||
| 73 | 19200, 38400 } | ||
| 74 | |||
| 75 | #define LD_SWITCH_SYSTEM -BS -e start | ||
| 76 | |||
| 77 | /* Undef C_DEBUG_SWITCH because it may have been set in gould.h */ | ||
| 78 | /* It will compile and load and works with dbx. Runs under an incomplete | ||
| 79 | port of gdb, but gdb doesn't always find things correctly. */ | ||
| 80 | #undef C_DEBUG_SWITCH | ||
| 81 | #define C_DEBUG_SWITCH -g | ||
| 82 | #define LIBS_DEBUG -lg | ||
| 83 | |||
| 84 | |||
| 85 | /* The data segment in this machine always starts at address 0x1000000 = 16M. | ||
| 86 | An address of data cannot be stored correctly in a Lisp object; | ||
| 87 | we always lose the high bits. We must tell XPNTR to add them back. */ | ||
| 88 | |||
| 89 | #define DATA_SEG_BITS 0x1000000 | ||
| 90 | #define DATA_START 0x1000000 | ||
| 91 | |||
| 92 | /* The text segment always starts at 0. | ||
| 93 | This way we don't need to have a label _start defined. */ | ||
| 94 | #define TEXT_START 0 | ||
| 95 | |||
| 96 | /* Data isn't right next to text on an NP1 */ | ||
| 97 | #define NO_REMAP | ||
| 98 | |||
| 99 | /* The bcopy bug has reappeared */ | ||
| 100 | #undef BSTRING | ||
| 101 | |||
| 102 | #ifndef GOULD_NP1 | ||
| 103 | #define GOULD_NP1 | ||
| 104 | #endif | ||
| 105 | |||
| 106 | |||
| 107 | /* arch-tag: cdfd3dbf-a5e4-464d-8cef-985fb7872873 | ||
| 108 | (do not change this comment) */ | ||
diff --git a/src/m/gould.h b/src/m/gould.h deleted file mode 100644 index cd16e09b785..00000000000 --- a/src/m/gould.h +++ /dev/null | |||
| @@ -1,189 +0,0 @@ | |||
| 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 | |||
| 8 | Copyright (C) 1986, 2002, 2003, 2004, 2005, | ||
| 9 | 2006, 2007 Free Software Foundation, Inc. | ||
| 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 | ||
| 15 | the Free Software Foundation; either version 3, or (at your option) | ||
| 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 | ||
| 25 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 26 | Boston, MA 02110-1301, USA. */ | ||
| 27 | |||
| 28 | |||
| 29 | /* The following line tells the configuration script what sort of | ||
| 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 | |||
| 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 | ||
| 43 | makefile. | ||
| 44 | |||
| 45 | UTX/32 1.3 has a bug in the bcopy library routine. Fix it by | ||
| 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 | |||
| 52 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 53 | is the most significant byte. */ | ||
| 54 | |||
| 55 | #define WORDS_BIG_ENDIAN | ||
| 56 | |||
| 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 | |||
| 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 | |||
| 74 | /* sel is an old preprocessor name on gould machines | ||
| 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 | |||
| 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 | ||
| 187 | |||
| 188 | /* arch-tag: 930cb9ef-f56f-4c06-aea0-5e81103bbf58 | ||
| 189 | (do not change this comment) */ | ||
diff --git a/src/m/i860.h b/src/m/i860.h deleted file mode 100644 index 6d79c5c8d38..00000000000 --- a/src/m/i860.h +++ /dev/null | |||
| @@ -1,101 +0,0 @@ | |||
| 1 | /* machine description file for i860. | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #undef WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #define NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | /* #define WORD_MACHINE */ | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 45 | orion, tahoe, APOLLO and many others */ | ||
| 46 | |||
| 47 | #define INTEL860 | ||
| 48 | |||
| 49 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 50 | /* This is desirable for most machines. */ | ||
| 51 | |||
| 52 | #define NO_UNION_TYPE | ||
| 53 | |||
| 54 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 55 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 56 | are always unsigned. | ||
| 57 | |||
| 58 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 59 | |||
| 60 | #define EXPLICIT_SIGN_EXTEND | ||
| 61 | |||
| 62 | /* Data type of load average, as read out of kmem. */ | ||
| 63 | |||
| 64 | #define LOAD_AVE_TYPE long | ||
| 65 | |||
| 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 67 | |||
| 68 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 69 | |||
| 70 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 71 | Then the function dump-emacs will not be defined | ||
| 72 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 73 | |||
| 74 | /* #define CANNOT_DUMP */ | ||
| 75 | |||
| 76 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 77 | pure and impure space as loaded can vary, and even their | ||
| 78 | relative order cannot be relied on. | ||
| 79 | |||
| 80 | Otherwise Emacs assumes that text space precedes data space, | ||
| 81 | numerically. */ | ||
| 82 | |||
| 83 | /* #define VIRT_ADDR_VARIES */ | ||
| 84 | |||
| 85 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 86 | to change the boundary between the text section and data section | ||
| 87 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 88 | code will not be sharable; but that's better than failing completely. */ | ||
| 89 | |||
| 90 | #define NO_REMAP | ||
| 91 | |||
| 92 | /* The X11 include files for i860-sysv4 need the macro SVR4 defined. | ||
| 93 | --Kaveh Ghazi (ghazi@noc.rutgers.edu) 8/9/94. */ | ||
| 94 | #ifdef USG5_4 | ||
| 95 | #ifndef SVR4 | ||
| 96 | #define SVR4 | ||
| 97 | #endif | ||
| 98 | #endif | ||
| 99 | |||
| 100 | /* arch-tag: 99f3a078-95e1-49d6-8666-04726eb25647 | ||
| 101 | (do not change this comment) */ | ||
diff --git a/src/m/ibmps2-aix.h b/src/m/ibmps2-aix.h deleted file mode 100644 index 045bcf2c294..00000000000 --- a/src/m/ibmps2-aix.h +++ /dev/null | |||
| @@ -1,235 +0,0 @@ | |||
| 1 | /* machine description file for ibm ps/2 aix386. | ||
| 2 | Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="note" | ||
| 26 | |||
| 27 | NOTE-START | ||
| 28 | Use -opsystem=usg5-3 on AIX 1.2. | ||
| 29 | -opsystem=usg5-2-2 should work on either AIX 1.1 or 1.2, but may not | ||
| 30 | work with certain new X window managers, and may be suboptimal. | ||
| 31 | NOTE-END */ | ||
| 32 | |||
| 33 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 34 | is the most significant byte. */ | ||
| 35 | |||
| 36 | #undef WORDS_BIG_ENDIAN | ||
| 37 | |||
| 38 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 39 | * group of arguments and treat it as an array of the arguments. */ | ||
| 40 | |||
| 41 | /* #define NO_ARG_ARRAY */ | ||
| 42 | |||
| 43 | /* Define WORD_MACHINE if addresses and such have | ||
| 44 | * to be corrected before they can be used as byte counts. */ | ||
| 45 | |||
| 46 | /* #define WORD_MACHINE */ | ||
| 47 | |||
| 48 | /* Now define a symbol for the cpu type, if your compiler | ||
| 49 | does not define it automatically: | ||
| 50 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 51 | orion, tahoe, APOLLO and many others */ | ||
| 52 | |||
| 53 | #define INTEL386 | ||
| 54 | #define aix386 | ||
| 55 | |||
| 56 | #define IBMAIX | ||
| 57 | |||
| 58 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 59 | |||
| 60 | #define NO_UNION_TYPE | ||
| 61 | |||
| 62 | /* crt0.c, if it is used, should use the i386-bsd style of entry. | ||
| 63 | with no extra dummy args. On USG and XENIX, | ||
| 64 | NO_REMAP says this isn't used. */ | ||
| 65 | |||
| 66 | #define CRT0_DUMMIES bogus_fp, | ||
| 67 | |||
| 68 | /* crt0.c should define a symbol `start' and do .globl with a dot. */ | ||
| 69 | |||
| 70 | #define DOT_GLOBAL_START | ||
| 71 | |||
| 72 | /* USG systems do not actually support the load average, | ||
| 73 | so disable it for them. */ | ||
| 74 | |||
| 75 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 76 | Then the function dump-emacs will not be defined | ||
| 77 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 78 | |||
| 79 | /* #define CANNOT_DUMP */ | ||
| 80 | |||
| 81 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 82 | pure and impure space as loaded can vary, and even their | ||
| 83 | relative order cannot be relied on. | ||
| 84 | |||
| 85 | Otherwise Emacs assumes that text space precedes data space, | ||
| 86 | numerically. */ | ||
| 87 | |||
| 88 | /* #define VIRT_ADDR_VARIES */ | ||
| 89 | |||
| 90 | /* Define addresses, macros, change some setup for dump */ | ||
| 91 | |||
| 92 | #define NO_REMAP | ||
| 93 | #undef static | ||
| 94 | /* Since NO_REMAP, problem with statics doesn't exist */ | ||
| 95 | |||
| 96 | #ifdef USG5_3 | ||
| 97 | #define TEXT_START 0x00000000 | ||
| 98 | #else | ||
| 99 | #define TEXT_START 0x00400000 | ||
| 100 | #define TEXT_END 0 | ||
| 101 | #define DATA_START 0x00800000 | ||
| 102 | #define DATA_END 0 | ||
| 103 | |||
| 104 | /* The data segment in this machine always starts at address 0x00800000. | ||
| 105 | An address of data cannot be stored correctly in a Lisp object; | ||
| 106 | we always lose the high bits. We must tell XPNTR to add them back. */ | ||
| 107 | |||
| 108 | #define DATA_SEG_BITS 0x00800000 | ||
| 109 | #endif | ||
| 110 | |||
| 111 | #if 0 /* I refuse to promulgate a recommendation that would make | ||
| 112 | users unable to debug - RMS. */ | ||
| 113 | /* delete the following line to foil optimization, enable debugging */ | ||
| 114 | #define C_DEBUG_SWITCH -O | ||
| 115 | #endif | ||
| 116 | |||
| 117 | #define BSTRING | ||
| 118 | #undef HAVE_TERMIO | ||
| 119 | #define HAVE_TERMIOS | ||
| 120 | |||
| 121 | /* Send signals to subprocesses by "typing" special chars at them. */ | ||
| 122 | |||
| 123 | #define SIGNALS_VIA_CHARACTERS | ||
| 124 | |||
| 125 | /* | ||
| 126 | * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir | ||
| 127 | * library functions. Almost, but not quite the same as | ||
| 128 | * the 4.2 functions | ||
| 129 | */ | ||
| 130 | #define SYSV_SYSTEM_DIR | ||
| 131 | |||
| 132 | /* | ||
| 133 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 134 | * The 4.2 opendir, etc., library functions. | ||
| 135 | */ | ||
| 136 | #undef NONSYSTEM_DIR_LIBRARY | ||
| 137 | |||
| 138 | /* AIX utimes allegedly causes SIGSEGV. */ | ||
| 139 | #undef HAVE_UTIMES /* override configuration decision */ | ||
| 140 | |||
| 141 | /* AIX defines FIONREAD, but it does not work. */ | ||
| 142 | #define BROKEN_FIONREAD | ||
| 143 | |||
| 144 | /* Data type of load average, as read out of kmem. */ | ||
| 145 | |||
| 146 | #define LOAD_AVE_TYPE long /* For AIX (sysV) */ | ||
| 147 | |||
| 148 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 149 | |||
| 150 | #define LOAD_AVE_CVT(x) (int) (((double) (x)/65535.0) * 100.0) | ||
| 151 | |||
| 152 | /* This page was added in June 1990. It may be incorrect for some versions | ||
| 153 | of aix, so delete it if it causes trouble. */ | ||
| 154 | |||
| 155 | /* AIX has sigsetmask() */ | ||
| 156 | #undef sigsetmask | ||
| 157 | |||
| 158 | /* AIX386 has BSD4.3 PTYs */ | ||
| 159 | |||
| 160 | #define HAVE_PTYS | ||
| 161 | |||
| 162 | /* AIX has IPC. It also has sockets, and either can be used for client/server. | ||
| 163 | I would suggest the client/server code be changed to use HAVE_SOCKETS rather | ||
| 164 | than BSD as the conditional if sockets provide any advantages. */ | ||
| 165 | |||
| 166 | #define HAVE_SYSVIPC | ||
| 167 | |||
| 168 | /* AIX has sockets */ | ||
| 169 | |||
| 170 | #define HAVE_SOCKETS | ||
| 171 | /* #define SKTPAIR */ /* SKTPAIR works, but what is advantage over pipes? */ | ||
| 172 | |||
| 173 | /* Specify the font for X to use. */ | ||
| 174 | |||
| 175 | #define X_DEFAULT_FONT "8x13" | ||
| 176 | |||
| 177 | /* AIX has a wait.h. */ | ||
| 178 | |||
| 179 | #define HAVE_WAIT_HEADER | ||
| 180 | |||
| 181 | /* sioctl.h should not be included, says bytheway@cs.utah.edu. */ | ||
| 182 | #undef NEED_SIOCTL | ||
| 183 | /* I'm guessing that that means it doesn't want ptem.h either. */ | ||
| 184 | #undef NEED_PTEM_H | ||
| 185 | |||
| 186 | /* aix has `union wait' */ | ||
| 187 | #define HAVE_UNION_WAIT | ||
| 188 | |||
| 189 | /* Here override various assumptions in ymakefile */ | ||
| 190 | |||
| 191 | #ifdef __GNUC__ | ||
| 192 | #define alloca(n) __builtin_alloca(n) | ||
| 193 | #if __GNUC__ < 2 | ||
| 194 | #define LIB_STANDARD /usr/local/lib/gcc-gnulib -lbsd -lrts -lc | ||
| 195 | #endif | ||
| 196 | /* -g fails to work, so it is omitted. */ | ||
| 197 | /* tranle says that -fstrength-reduce does not help. */ | ||
| 198 | #define C_DEBUG_SWITCH | ||
| 199 | #else | ||
| 200 | #define LIBS_MACHINE -lbsd -lrts | ||
| 201 | #endif | ||
| 202 | |||
| 203 | #define OBJECTS_MACHINE hftctl.o | ||
| 204 | #define LD_SWITCH_MACHINE -T0x00400000 -K -e start | ||
| 205 | #define LIBS_DEBUG /* no -lg on aix ps/2 */ | ||
| 206 | |||
| 207 | #ifdef USG5_3 | ||
| 208 | #define XICCC | ||
| 209 | #undef LD_SWITCH_MACHINE | ||
| 210 | #define LD_SWITCH_MACHINE -T0x0 -K -e start | ||
| 211 | |||
| 212 | /* Things defined in s-usg5-3.h that need to be overridden. */ | ||
| 213 | #undef NOMULTIPLEJOBS | ||
| 214 | #undef BROKEN_TIOCGETC | ||
| 215 | #undef BROKEN_TIOCGWINSZ | ||
| 216 | #undef LIBX11_SYSTEM | ||
| 217 | #undef LIB_X11_LIB | ||
| 218 | #endif | ||
| 219 | |||
| 220 | /* Shared libraries are supported in a patch release of ps/2 1.2.1. | ||
| 221 | If the system has them, the user can turn them on, and this code | ||
| 222 | will make them work. */ | ||
| 223 | #define USG_SHARED_LIBRARIES /* Assume that by 19's release everyone has this. */ | ||
| 224 | |||
| 225 | #ifdef USG_SHARED_LIBRARIES | ||
| 226 | #define ORDINARY_LINK | ||
| 227 | #undef LIB_STANDARD | ||
| 228 | #undef LD_SWITCH_MACHINE | ||
| 229 | #if __GNUC__ > 1 | ||
| 230 | #define LD_SWITCH_MACHINE -shlib | ||
| 231 | #endif | ||
| 232 | #endif | ||
| 233 | |||
| 234 | /* arch-tag: 2e7f44df-6a61-4a47-aa53-f7961bfeff11 | ||
| 235 | (do not change this comment) */ | ||
diff --git a/src/m/ibmrt-aix.h b/src/m/ibmrt-aix.h deleted file mode 100644 index 57a9dbc4df1..00000000000 --- a/src/m/ibmrt-aix.h +++ /dev/null | |||
| @@ -1,165 +0,0 @@ | |||
| 1 | /* RTPC AIX machine/system dependent defines | ||
| 2 | Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #define NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Now define a symbol for the cpu type, if your compiler | ||
| 38 | does not define it automatically. */ | ||
| 39 | |||
| 40 | #ifndef IBMAIX | ||
| 41 | #define IBMAIX | ||
| 42 | #endif | ||
| 43 | |||
| 44 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 45 | /* This is desirable for most machines. */ | ||
| 46 | |||
| 47 | #define NO_UNION_TYPE | ||
| 48 | |||
| 49 | /* No load average information appears in the AIX kernel. VRM has this | ||
| 50 | info, and if anyone desires they should fix fns.c to get it out of VRM */ | ||
| 51 | |||
| 52 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 53 | Then the function dump-emacs will not be defined | ||
| 54 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 55 | |||
| 56 | /* #define CANNOT_DUMP */ | ||
| 57 | |||
| 58 | /* Define addresses, macros, change some setup for dump */ | ||
| 59 | |||
| 60 | #undef COFF | ||
| 61 | #define NO_REMAP | ||
| 62 | #undef static | ||
| 63 | /* Since NO_REMAP, problem with statics doesn't exist */ | ||
| 64 | |||
| 65 | #define TEXT_START 0x10000000 | ||
| 66 | #define TEXT_END 0 | ||
| 67 | #define DATA_START 0x20000000 | ||
| 68 | #define DATA_END 0 | ||
| 69 | |||
| 70 | /* The data segment in this machine always starts at address 0x20000000. | ||
| 71 | An address of data cannot be stored correctly in a Lisp object; | ||
| 72 | we always lose the high bits. We must tell XPNTR to add them back. */ | ||
| 73 | |||
| 74 | #define DATA_SEG_BITS 0x20000000 | ||
| 75 | |||
| 76 | #define N_BADMAG(x) BADMAG(x) | ||
| 77 | #define N_TXTOFF(x) A_TEXTPOS(x) | ||
| 78 | #define N_SYMOFF(x) A_SYMPOS(x) | ||
| 79 | #define A_TEXT_OFFSET(HDR) sizeof(HDR) | ||
| 80 | #define ADJUST_EXEC_HEADER \ | ||
| 81 | unexec_text_start += sizeof(hdr); \ | ||
| 82 | unexec_data_start = ohdr.a_dbase | ||
| 83 | #undef ADDR_CORRECT | ||
| 84 | #define ADDR_CORRECT(x) ((int)(x)) | ||
| 85 | |||
| 86 | /* This is the offset of the executable's text, from the start of the file. */ | ||
| 87 | |||
| 88 | #define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) | ||
| 89 | |||
| 90 | /* AIX has PTYs, so define here, along with macros needed to make them work. */ | ||
| 91 | |||
| 92 | #define HAVE_PTYS | ||
| 93 | #define PTY_ITERATION for (i=0; i<256; i++) | ||
| 94 | #define PTY_NAME_SPRINTF sprintf (ptyname, "/dev/ptc%d", i); | ||
| 95 | |||
| 96 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 97 | { /* Check that server side not already open */ \ | ||
| 98 | if ((ioctl (*ptyv, PTYSTATUS, 0) & 0xFFFF) != 0) \ | ||
| 99 | { \ | ||
| 100 | emacs_close (*ptyv); \ | ||
| 101 | continue; \ | ||
| 102 | } \ | ||
| 103 | /* And finally to be sure we can open it later */ \ | ||
| 104 | sprintf (ptyname, "/dev/pts%d", i); \ | ||
| 105 | signal (SIGHUP,SIG_IGN); \ | ||
| 106 | } /* ignore hangup at process end */ | ||
| 107 | |||
| 108 | /* TIOCNOTTY doesn't occur on AIX, but the rest | ||
| 109 | of the conditionalized code in process.c does | ||
| 110 | the right thing if we fake this out. */ | ||
| 111 | #define TIOCNOTTY IOCTYPE | ||
| 112 | |||
| 113 | /* AIX has IPC. It also has sockets, and either can be used for client/server. | ||
| 114 | I would suggest the client/server code be changed to use HAVE_SOCKETS rather | ||
| 115 | than BSD_SYSTEM as the conditional if sockets provide any advantages. */ | ||
| 116 | |||
| 117 | #define HAVE_SYSVIPC | ||
| 118 | |||
| 119 | /* AIX has sockets */ | ||
| 120 | |||
| 121 | #define HAVE_SOCKETS | ||
| 122 | /* #define SKTPAIR */ /* SKTPAIR works, but what is advantage over pipes? */ | ||
| 123 | |||
| 124 | /* Specify the font for X to use. */ | ||
| 125 | |||
| 126 | #define X_DEFAULT_FONT "Rom14.500" | ||
| 127 | |||
| 128 | /* Here override various assumptions in ymakefile */ | ||
| 129 | |||
| 130 | /* On AIX 2.2.1, use these definitions instead | ||
| 131 | #define C_SWITCH_MACHINE -I/usr/include -Nn2000 | ||
| 132 | #define LIBS_MACHINE -lX -lrts | ||
| 133 | */ | ||
| 134 | |||
| 135 | #define C_SWITCH_MACHINE -I/usr/include -I/usr/include/bsd -Nn2000 | ||
| 136 | #define LIBS_MACHINE -lXMenu -lX -lsock -lbsd -lrts | ||
| 137 | |||
| 138 | #define OBJECTS_MACHINE hftctl.o | ||
| 139 | #define START_FILES /lib/crt0.o | ||
| 140 | /* -lXMenu, -lX must precede -lsock, -lbsd */ | ||
| 141 | #define LD_SWITCH_MACHINE -n -T0x10000000 -K -e start | ||
| 142 | |||
| 143 | #if 0 /* I refuse to promulgate a recommendation that would make | ||
| 144 | users unable to debug - RMS. */ | ||
| 145 | /* delete the following line to foil optimization, enable debugging */ | ||
| 146 | #define C_DEBUG_SWITCH -O | ||
| 147 | #endif | ||
| 148 | |||
| 149 | |||
| 150 | /* Setup to do some things BSD way - these won't work previous to AIX 2.1.2 */ | ||
| 151 | |||
| 152 | #include </usr/include/bsd/BSDtoAIX.h> | ||
| 153 | #define BSTRING | ||
| 154 | |||
| 155 | /* AIX utimes allegedly causes SIGSEGV. */ | ||
| 156 | #undef HAVE_UTIMES /* override configuration decision */ | ||
| 157 | |||
| 158 | /* AIX defines FIONREAD, but it does not work. */ | ||
| 159 | #define BROKEN_FIONREAD | ||
| 160 | |||
| 161 | /* rocky@watson.ibm.com says this is needed. */ | ||
| 162 | #define HAVE_FTIME | ||
| 163 | |||
| 164 | /* arch-tag: eea85307-0ca9-4a9c-a4f6-89fad7591d28 | ||
| 165 | (do not change this comment) */ | ||
diff --git a/src/m/ibmrt.h b/src/m/ibmrt.h deleted file mode 100644 index ca32db94518..00000000000 --- a/src/m/ibmrt.h +++ /dev/null | |||
| @@ -1,123 +0,0 @@ | |||
| 1 | /* RTPC machine dependent defines | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #define NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #define WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically. */ | ||
| 44 | |||
| 45 | #define ibmrt | ||
| 46 | #define romp /* unfortunately old include files are hanging around. */ | ||
| 47 | |||
| 48 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 49 | /* This is desirable for most machines. */ | ||
| 50 | |||
| 51 | #define NO_UNION_TYPE | ||
| 52 | |||
| 53 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 54 | the bit field into an int. In other words, if bit fields | ||
| 55 | are always unsigned. | ||
| 56 | |||
| 57 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 58 | |||
| 59 | #define EXPLICIT_SIGN_EXTEND | ||
| 60 | |||
| 61 | /* Data type of load average, as read out of kmem. */ | ||
| 62 | |||
| 63 | #define LOAD_AVE_TYPE double /* For AIS (sysV) */ | ||
| 64 | |||
| 65 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 66 | |||
| 67 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) | ||
| 68 | |||
| 69 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 70 | Then the function dump-emacs will not be defined | ||
| 71 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 72 | |||
| 73 | /* #define CANNOT_DUMP */ | ||
| 74 | |||
| 75 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 76 | pure and impure space as loaded can vary, and even their | ||
| 77 | relative order cannot be relied on. | ||
| 78 | |||
| 79 | Otherwise Emacs assumes that text space precedes data space, | ||
| 80 | numerically. */ | ||
| 81 | |||
| 82 | #undef VIRT_ADDR_VARIES | ||
| 83 | |||
| 84 | /* The data segment in this machine starts at a fixed address. | ||
| 85 | An address of data cannot be stored correctly in a Lisp object; | ||
| 86 | we always lose the high bits. We must tell XPNTR to add them back. */ | ||
| 87 | |||
| 88 | #define DATA_SEG_BITS 0x10000000 | ||
| 89 | #define DATA_START 0x10000000 | ||
| 90 | |||
| 91 | /* The text segment always starts at a fixed address. | ||
| 92 | This way we don't need to have a label _start defined. */ | ||
| 93 | #define TEXT_START 0 | ||
| 94 | |||
| 95 | /* Taking a pointer to a char casting it as int pointer */ | ||
| 96 | /* and then taking the int which the int pointer points to */ | ||
| 97 | /* is practically guaranteed to give erroneous results */ | ||
| 98 | |||
| 99 | #define NEED_ERRNO | ||
| 100 | |||
| 101 | #define SKTPAIR | ||
| 102 | |||
| 103 | /* BSD has BSTRING. */ | ||
| 104 | |||
| 105 | #define BSTRING | ||
| 106 | |||
| 107 | /* Special switches to give the C compiler. */ | ||
| 108 | |||
| 109 | #ifndef __GNUC__ | ||
| 110 | #define C_SWITCH_MACHINE -Dalloca=_Alloca | ||
| 111 | #endif | ||
| 112 | |||
| 113 | /* Don't attempt to relabel some of the data as text when dumping. | ||
| 114 | It does not work because their virtual addresses are not consecutive. | ||
| 115 | This enables us to use the standard crt0.o. */ | ||
| 116 | |||
| 117 | #define NO_REMAP | ||
| 118 | |||
| 119 | /* Use the bitmap files that come with Emacs. */ | ||
| 120 | #define EMACS_BITMAP_FILES | ||
| 121 | |||
| 122 | /* arch-tag: 89aa7e7d-593e-432c-966a-3db6aa2ad665 | ||
| 123 | (do not change this comment) */ | ||
diff --git a/src/m/intel386.h b/src/m/intel386.h index 22205ed762c..4ca09296f0f 100644 --- a/src/m/intel386.h +++ b/src/m/intel386.h | |||
| @@ -25,15 +25,14 @@ Boston, MA 02110-1301, USA. */ | |||
| 25 | USUAL-OPSYS="note" | 25 | USUAL-OPSYS="note" |
| 26 | 26 | ||
| 27 | NOTE-START | 27 | NOTE-START |
| 28 | Intel 386 (-machine=intel386 or -machine=is386.h) | 28 | Intel 386 (-machine=intel386) |
| 29 | 29 | ||
| 30 | The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3, | 30 | The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3, |
| 31 | isc2-2, 386-ix, esix, linux, sco3.2v4, and xenix. | 31 | isc2-2, 386-ix, and linux. |
| 32 | 32 | ||
| 33 | 18.58 should support a wide variety of operating systems. | 33 | 18.58 should support a wide variety of operating systems. |
| 34 | Use isc2-2 for Interactive 386/ix version 2.2. | 34 | Use isc2-2 for Interactive 386/ix version 2.2. |
| 35 | Use 386ix for prior versions. | 35 | Use 386ix for prior versions. |
| 36 | Use esix for Esix. | ||
| 37 | Use linux for Linux. | 36 | Use linux for Linux. |
| 38 | It isn't clear what to do on an SCO system. | 37 | It isn't clear what to do on an SCO system. |
| 39 | 38 | ||
diff --git a/src/m/irist.h b/src/m/irist.h deleted file mode 100644 index c0d55f96d0f..00000000000 --- a/src/m/irist.h +++ /dev/null | |||
| @@ -1,136 +0,0 @@ | |||
| 1 | /* machine description file for Silicon Graphics Iris 2500 Turbos; | ||
| 2 | also possibly for non-turbo Irises with system release 2.5. | ||
| 3 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 4 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | /* The following line tells the configuration script what sort of | ||
| 25 | operating system this machine is likely to run. | ||
| 26 | USUAL-OPSYS="note" | ||
| 27 | NOTE-START | ||
| 28 | Version 18 said to work; use -opsystem=irist3-5 for system version 2.5 | ||
| 29 | and -opsystem=iris3-6 for system versions 3.6 and up. | ||
| 30 | NOTE-END */ | ||
| 31 | |||
| 32 | #if 0 | ||
| 33 | Message-Id: <8705050653.AA20004@orville.arpa> | ||
| 34 | Subject: gnu emacs 18.41 on iris [23].5 machines | ||
| 35 | Date: 04 May 87 23:53:11 PDT (Mon) | ||
| 36 | From: raible@orville.arpa | ||
| 37 | |||
| 38 | Aside from the SIGIOT, I know of only one bug, a real strange one: | ||
| 39 | I wrote a utimes interface, which copies elements from timevals | ||
| 40 | to utimbufs. This code is known good. The problem is that in | ||
| 41 | emacs, the utime doesn't seem to take effect (i.e. doesn't change the | ||
| 42 | dates at all) unless I call report_file_error *after* the utime returns! | ||
| 43 | |||
| 44 | if (utime (name, &utb) < 0) | ||
| 45 | return; | ||
| 46 | else | ||
| 47 | /* XXX XXX XXX */ | ||
| 48 | /* For some reason, if this is taken out, then the utime above breaks! */ | ||
| 49 | /* (i.e. it doesn't set the time. This just makes no sense... */ | ||
| 50 | /* Eric - May 4, 1987 */ | ||
| 51 | report_file_error ("Worked just find\n", Qnil); | ||
| 52 | |||
| 53 | Without any sort of debugger that works on emacs (I know... but I dont have | ||
| 54 | *time* right now to start with gdb), it was quite time consuming to track | ||
| 55 | it down to this. | ||
| 56 | |||
| 57 | But since this code is only used for an optional 4th argument to one command | ||
| 58 | (copy-file), it would say that it is non-critical... | ||
| 59 | #endif /* 0 */ | ||
| 60 | |||
| 61 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 62 | is the most significant byte. */ | ||
| 63 | |||
| 64 | #define WORDS_BIG_ENDIAN | ||
| 65 | |||
| 66 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 67 | * group of arguments and treat it as an array of the arguments. */ | ||
| 68 | |||
| 69 | /* #define NO_ARG_ARRAY */ | ||
| 70 | |||
| 71 | /* Define WORD_MACHINE if addresses and such have | ||
| 72 | * to be corrected before they can be used as byte counts. */ | ||
| 73 | |||
| 74 | /* #define WORD_MACHINE */ | ||
| 75 | |||
| 76 | /* Now define a symbol for the cpu type, if your compiler | ||
| 77 | does not define it automatically: | ||
| 78 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 79 | orion, tahoe, APOLLO and many others */ | ||
| 80 | |||
| 81 | #ifndef m68000 | ||
| 82 | #define m68000 | ||
| 83 | #endif | ||
| 84 | |||
| 85 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 86 | /* This is desirable for most machines. */ | ||
| 87 | |||
| 88 | #define NO_UNION_TYPE | ||
| 89 | |||
| 90 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 91 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 92 | are always unsigned. | ||
| 93 | |||
| 94 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 95 | |||
| 96 | #define EXPLICIT_SIGN_EXTEND | ||
| 97 | |||
| 98 | /* Data type of load average, as read out of kmem. */ | ||
| 99 | |||
| 100 | #define LOAD_AVE_TYPE long | ||
| 101 | |||
| 102 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 103 | |||
| 104 | #define FSCALE 1.0 | ||
| 105 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 106 | |||
| 107 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 108 | Then the function dump-emacs will not be defined | ||
| 109 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 110 | |||
| 111 | /* #define CANNOT_DUMP */ | ||
| 112 | |||
| 113 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 114 | pure and impure space as loaded can vary, and even their | ||
| 115 | relative order cannot be relied on. | ||
| 116 | |||
| 117 | Otherwise Emacs assumes that text space precedes data space, | ||
| 118 | numerically. */ | ||
| 119 | |||
| 120 | /* #define VIRT_ADDR_VARIES */ | ||
| 121 | |||
| 122 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 123 | to change the boundary between the text section and data section | ||
| 124 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 125 | code will not be sharable; but that's better than failing completely. */ | ||
| 126 | |||
| 127 | /* #define NO_REMAP */ | ||
| 128 | |||
| 129 | /* There is an inconsistency between the sgi assembler, linker which barfs | ||
| 130 | on these. */ | ||
| 131 | |||
| 132 | #define internal_with_output_to_temp_buffer stupid_long_name1 | ||
| 133 | #define Finsert_abbrev_table_description stupid_long_name2 | ||
| 134 | |||
| 135 | /* arch-tag: 4076b26c-1fe6-4c28-94f3-3c863f074767 | ||
| 136 | (do not change this comment) */ | ||
diff --git a/src/m/is386.h b/src/m/is386.h deleted file mode 100644 index 5041db9a6c8..00000000000 --- a/src/m/is386.h +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | /* machine description file for Integrated Solutions 386 machine. */ | ||
| 2 | |||
| 3 | #include "intel386.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="note" | ||
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Intel 386 (-machine=intel386 or -machine=is386.h) | ||
| 11 | |||
| 12 | The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3, | ||
| 13 | isc2-2, 386-ix, esix, or xenix. | ||
| 14 | |||
| 15 | 18.58 should support a wide variety of operating systems. | ||
| 16 | Use isc2-2 for Interactive 386/ix version 2.2. | ||
| 17 | Use 386ix for prior versions. | ||
| 18 | Use esix for Esix. It isn't clear what to do on an SCO system. | ||
| 19 | |||
| 20 | -machine=is386 is used for an Integrated Solutions 386 machine. | ||
| 21 | It may also be correct for Microport systems. | ||
| 22 | NOTE-END */ | ||
| 23 | |||
| 24 | #define LIBX11_MACHINE -lnsl_s | ||
| 25 | |||
| 26 | #define LIBS_DEBUG -lg | ||
| 27 | |||
| 28 | /* arch-tag: b6b7e6ec-8b6c-440b-b9c8-961e4bebf0cf | ||
| 29 | (do not change this comment) */ | ||
diff --git a/src/m/isi-ov.h b/src/m/isi-ov.h deleted file mode 100644 index 6706ee9981b..00000000000 --- a/src/m/isi-ov.h +++ /dev/null | |||
| @@ -1,96 +0,0 @@ | |||
| 1 | /* machine description file for ISI 68000's | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="note" | ||
| 26 | |||
| 27 | NOTE-START | ||
| 28 | Use `-opsystem=bsd4-2' or `-opsystem=bsd4-3'. | ||
| 29 | NOTE-END */ | ||
| 30 | |||
| 31 | #define ISI68K | ||
| 32 | |||
| 33 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 34 | is the most significant byte. */ | ||
| 35 | |||
| 36 | #define WORDS_BIG_ENDIAN | ||
| 37 | |||
| 38 | /* Say this machine is a 68000 */ | ||
| 39 | |||
| 40 | #define m68000 | ||
| 41 | |||
| 42 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 43 | |||
| 44 | #define NO_UNION_TYPE | ||
| 45 | |||
| 46 | /* XINT must explicitly sign-extend */ | ||
| 47 | |||
| 48 | #define EXPLICIT_SIGN_EXTEND | ||
| 49 | |||
| 50 | /* Data type of load average, as read out of kmem. */ | ||
| 51 | |||
| 52 | #ifdef BSD4_3 | ||
| 53 | #define LOAD_AVE_TYPE long | ||
| 54 | #else | ||
| 55 | #define LOAD_AVE_TYPE double | ||
| 56 | #endif BSD4_3 | ||
| 57 | |||
| 58 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 59 | |||
| 60 | #ifdef BSD4_3 | ||
| 61 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 62 | #else | ||
| 63 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 64 | #endif | ||
| 65 | |||
| 66 | /* Mask for address bits within a memory segment */ | ||
| 67 | |||
| 68 | #define SEGMENT_MASK 0x1ffff | ||
| 69 | |||
| 70 | /* use the -20 switch to get the 68020 code */ | ||
| 71 | /* #define C_SWITCH_MACHINE -20 */ | ||
| 72 | |||
| 73 | /* Use the version of the library for the 68020 | ||
| 74 | because the standard library requires some special hacks in crt0 | ||
| 75 | which the GNU crt0 does not have. */ | ||
| 76 | |||
| 77 | #define LIB_STANDARD -lmc | ||
| 78 | |||
| 79 | /* macros to make unexec work right */ | ||
| 80 | |||
| 81 | #define A_TEXT_OFFSET(HDR) sizeof(HDR) | ||
| 82 | #define A_TEXT_SEEK(HDR) sizeof(HDR) | ||
| 83 | |||
| 84 | /* A few changes for the newer systems. */ | ||
| 85 | |||
| 86 | #ifdef BSD4_3 | ||
| 87 | /* The following line affects crt0.c. */ | ||
| 88 | #undef m68k | ||
| 89 | |||
| 90 | #undef LIB_STANDARD | ||
| 91 | #define LIB_STANDARD -lmc -lc | ||
| 92 | #define C_DEBUG_SWITCH -20 -O -X23 | ||
| 93 | #endif | ||
| 94 | |||
| 95 | /* arch-tag: 3bfb5a11-d94e-4372-923b-9f47d0851f42 | ||
| 96 | (do not change this comment) */ | ||
diff --git a/src/m/mega68.h b/src/m/mega68.h deleted file mode 100644 index 0d22b572fc5..00000000000 --- a/src/m/mega68.h +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | /* machine description file for Megatest 68000's. | ||
| 2 | Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* XINT must explicitly sign-extend */ | ||
| 33 | |||
| 34 | #define EXPLICIT_SIGN_EXTEND | ||
| 35 | |||
| 36 | /* Say this machine is a 68000 */ | ||
| 37 | |||
| 38 | #define m68000 | ||
| 39 | |||
| 40 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 41 | |||
| 42 | #define NO_UNION_TYPE | ||
| 43 | |||
| 44 | /* Data type of load average, as read out of kmem. */ | ||
| 45 | |||
| 46 | #define LOAD_AVE_TYPE double | ||
| 47 | |||
| 48 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 49 | |||
| 50 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 51 | |||
| 52 | /* arch-tag: 61e6deb4-a93e-444b-bbd5-9887a83f1bbc | ||
| 53 | (do not change this comment) */ | ||
diff --git a/src/m/mg1.h b/src/m/mg1.h deleted file mode 100644 index 515e9e23a96..00000000000 --- a/src/m/mg1.h +++ /dev/null | |||
| @@ -1,107 +0,0 @@ | |||
| 1 | /* machine description file for Whitechapel Computer Works MG1 (ns16000 based). | ||
| 2 | Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | MG-1 version by L.M.McLoughlin | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | /* The following line tells the configuration script what sort of | ||
| 25 | operating system this machine is likely to run. | ||
| 26 | USUAL-OPSYS="note" | ||
| 27 | |||
| 28 | NOTE-START | ||
| 29 | We are in the dark about what operating system runs on the Whitechapel | ||
| 30 | systems. Consult share-lib/MACHINES for information on which | ||
| 31 | operating systems Emacs has already been ported to; one of them might | ||
| 32 | work. If you find an existing system name that works or write your | ||
| 33 | own configuration files, please let the Free Software Foundation in on | ||
| 34 | your work; we'd like to distribute this information. | ||
| 35 | NOTE-END */ | ||
| 36 | |||
| 37 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 38 | is the most significant byte. */ | ||
| 39 | |||
| 40 | #undef WORDS_BIG_ENDIAN | ||
| 41 | |||
| 42 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 43 | * group of arguments and treat it as an array of the arguments. */ | ||
| 44 | /* ns16000 call sequence used on mg1 means that &arg = the args as an array */ | ||
| 45 | #undef NO_ARG_ARRAY | ||
| 46 | |||
| 47 | /* Define WORD_MACHINE if addresses and such have | ||
| 48 | * to be corrected before they can be used as byte counts. */ | ||
| 49 | /* ns16000 addresses are byte addresses */ | ||
| 50 | #undef WORD_MACHINE | ||
| 51 | |||
| 52 | /* Now define a symbol for the cpu type, if your compiler | ||
| 53 | does not define it automatically: | ||
| 54 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 55 | are the ones defined so far. */ | ||
| 56 | /* Say this machine is a 16000 and an mg1, cpp says its a 32000 */ | ||
| 57 | #define ns16000 | ||
| 58 | #define mg1 | ||
| 59 | |||
| 60 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 61 | /* This is desirable for most machines. */ | ||
| 62 | /* Not sure on mg-1 but this shouldn't hurt! */ | ||
| 63 | #define NO_UNION_TYPE | ||
| 64 | |||
| 65 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 66 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 67 | are always unsigned. | ||
| 68 | |||
| 69 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 70 | |||
| 71 | #define EXPLICIT_SIGN_EXTEND | ||
| 72 | |||
| 73 | /* Data type of load average, as read out of kmem. */ | ||
| 74 | /* mg1 its an unsigned long */ | ||
| 75 | #define LOAD_AVE_TYPE unsigned long | ||
| 76 | |||
| 77 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 78 | #define FSCALE 1000.0 | ||
| 79 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 80 | |||
| 81 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 82 | Then the function dump-emacs will not be defined | ||
| 83 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 84 | /* ns16000's have an unexec, so should the mg-1 */ | ||
| 85 | #undef CANNOT_DUMP | ||
| 86 | |||
| 87 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 88 | pure and impure space as loaded can vary, and even their | ||
| 89 | relative order cannot be relied on. | ||
| 90 | |||
| 91 | Otherwise Emacs assumes that text space precedes data space, | ||
| 92 | numerically. */ | ||
| 93 | /* hmmmm... not sure. copied sequent.h */ | ||
| 94 | #undef VIRT_ADDR_VARIES | ||
| 95 | |||
| 96 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 97 | to change the boundary between the text section and data section | ||
| 98 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 99 | code will not be sharable; but that's better than failing completely. */ | ||
| 100 | /* mapping seems screwy */ | ||
| 101 | #define NO_REMAP | ||
| 102 | |||
| 103 | /* Avoids a compiler bug */ | ||
| 104 | /* borrowed from sequent.h */ | ||
| 105 | |||
| 106 | /* arch-tag: e15d9072-9e1a-44bf-8add-966be535967b | ||
| 107 | (do not change this comment) */ | ||
diff --git a/src/m/news-r6.h b/src/m/news-r6.h deleted file mode 100644 index cf6e019fd05..00000000000 --- a/src/m/news-r6.h +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | /* news-risc6.h is for the "RISC News", OS version 6. */ | ||
| 2 | /* This is in the public domain. */ | ||
| 3 | |||
| 4 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 5 | * group of arguments and treat it as an array of the arguments. */ | ||
| 6 | |||
| 7 | #define NO_ARG_ARRAY | ||
| 8 | |||
| 9 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 10 | /* This is desirable for most machines. */ | ||
| 11 | |||
| 12 | #define NO_UNION_TYPE | ||
| 13 | |||
| 14 | /* Data type of load average, as read out of kmem. */ | ||
| 15 | |||
| 16 | #define LOAD_AVE_TYPE long | ||
| 17 | |||
| 18 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 19 | |||
| 20 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / 256.0) | ||
| 21 | |||
| 22 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 23 | to change the boundary between the text section and data section | ||
| 24 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 25 | code will not be sharable; but that's better than failing completely. */ | ||
| 26 | |||
| 27 | #define NO_REMAP | ||
| 28 | |||
| 29 | /* Alter some of the options used when linking. */ | ||
| 30 | |||
| 31 | /*#define C_DEBUG_SWITCH -g*/ | ||
| 32 | #define C_DEBUG_SWITCH -O -Olimit 2000 | ||
| 33 | #ifdef __GNUC__ | ||
| 34 | #define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000 | ||
| 35 | #else /* !__GNUC__ */ | ||
| 36 | /*#define LD_SWITCH_MACHINE -D 800000 -g*/ | ||
| 37 | #define LD_SWITCH_MACHINE -D 800000 | ||
| 38 | #endif /* !__GNUC__ */ | ||
| 39 | #define LIBS_MACHINE -lmld | ||
| 40 | #define LIBS_TERMCAP -lcurses | ||
| 41 | |||
| 42 | /* The standard definitions of these macros would work ok, | ||
| 43 | but these are faster because the constants are short. */ | ||
| 44 | |||
| 45 | #define XUINT(a) (((unsigned)(a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)) | ||
| 46 | |||
| 47 | #define XSET(var, type, ptr) \ | ||
| 48 | ((var) = \ | ||
| 49 | ((int)(type) << VALBITS) \ | ||
| 50 | + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))) | ||
| 51 | |||
| 52 | /* arch-tag: b9fd7b75-ba3c-46d4-8966-24381b13001b | ||
| 53 | (do not change this comment) */ | ||
diff --git a/src/m/news-risc.h b/src/m/news-risc.h deleted file mode 100644 index b7ea3dbceff..00000000000 --- a/src/m/news-risc.h +++ /dev/null | |||
| @@ -1,83 +0,0 @@ | |||
| 1 | /* news-risc.h is for the "RISC News". | ||
| 2 | |||
| 3 | Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 4 | 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | #include "mips.h" | ||
| 25 | |||
| 26 | #ifdef NEWSOS5 | ||
| 27 | |||
| 28 | /* NEWS-OS 5.0.2 */ | ||
| 29 | |||
| 30 | #define LIBS_MACHINE -lmld | ||
| 31 | |||
| 32 | #ifdef __GNUC__ | ||
| 33 | #define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000 | ||
| 34 | #else | ||
| 35 | #define C_DEBUG_SWITCH -g3 | ||
| 36 | #define C_OPTIMIZE_SWITCH -g3 | ||
| 37 | #define LD_SWITCH_MACHINE -g3 -D 800000 -non_shared | ||
| 38 | #endif | ||
| 39 | |||
| 40 | #else /* not NEWSOS5 */ | ||
| 41 | |||
| 42 | /* The following line tells the configuration script what sort of | ||
| 43 | operating system this machine is likely to run. | ||
| 44 | USUAL-OPSYS="bsd4-3" */ | ||
| 45 | |||
| 46 | #define COFF | ||
| 47 | #undef LD_SWITCH_MACHINE | ||
| 48 | #ifdef __GNUC__ | ||
| 49 | #define LD_SWITCH_MACHINE -Xlinker -x -Xlinker -D -Xlinker 800000 | ||
| 50 | #else | ||
| 51 | #define LD_SWITCH_MACHINE -x -D 800000 | ||
| 52 | #endif | ||
| 53 | |||
| 54 | /* #define C_OPTIMIZE_SWITCH -O2 */ | ||
| 55 | #define C_OPTIMIZE_SWITCH -O | ||
| 56 | |||
| 57 | #ifndef __GNUC__ | ||
| 58 | #define C_DEBUG_SWITCH -g3 | ||
| 59 | #endif | ||
| 60 | |||
| 61 | #undef TERMINFO | ||
| 62 | |||
| 63 | /* We have no mode_t. */ | ||
| 64 | #define NO_MODE_T | ||
| 65 | |||
| 66 | /* Don't use the definitions in m/mips.h. */ | ||
| 67 | #undef LINKER | ||
| 68 | #define LINKER $(CC) -nostdlib | ||
| 69 | #undef LIBS_MACHINE | ||
| 70 | #define LIBS_MACHINE -lmld | ||
| 71 | |||
| 72 | #undef KERNEL_FILE | ||
| 73 | #define KERNEL_FILE "/vmunix" | ||
| 74 | |||
| 75 | /* System's malloc, realloc, calloc and so on have bad prototypes, | ||
| 76 | using char * instead of void *, so tell gmalloc not to use the | ||
| 77 | prototypes. */ | ||
| 78 | #define BROKEN_PROTOTYPES | ||
| 79 | |||
| 80 | #endif /* not NEWSOS5 */ | ||
| 81 | |||
| 82 | /* arch-tag: cf17300c-dd34-4b9d-a657-2de718469662 | ||
| 83 | (do not change this comment) */ | ||
diff --git a/src/m/news.h b/src/m/news.h deleted file mode 100644 index 084c5abb92c..00000000000 --- a/src/m/news.h +++ /dev/null | |||
| @@ -1,65 +0,0 @@ | |||
| 1 | /* machine description file for Sony's NEWS workstations, NEWS-OS 3.0. | ||
| 2 | Copyright (C) 1985, 1986, 1989, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="note" | ||
| 26 | |||
| 27 | NOTE-START | ||
| 28 | Use -opsystem=bsd4-2, or -opsystem=bsd4-3 for system release 3. | ||
| 29 | NOTE-END */ | ||
| 30 | |||
| 31 | /* Say this machine is a 68000 */ | ||
| 32 | |||
| 33 | #ifndef m68000 | ||
| 34 | #define m68000 | ||
| 35 | #endif | ||
| 36 | |||
| 37 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 38 | is the most significant byte. */ | ||
| 39 | |||
| 40 | #define WORDS_BIG_ENDIAN | ||
| 41 | |||
| 42 | /* One CRT0 Dummy variable */ | ||
| 43 | |||
| 44 | #if 0 /* larry@mitra.com says Sony's as doesn't like this. */ | ||
| 45 | #define CRT0_DUMMIES one_dummy, | ||
| 46 | #endif | ||
| 47 | |||
| 48 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 49 | |||
| 50 | #define NO_UNION_TYPE | ||
| 51 | |||
| 52 | /* Data type of load average, as read out of kmem. */ | ||
| 53 | |||
| 54 | #define LOAD_AVE_TYPE double | ||
| 55 | |||
| 56 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 57 | |||
| 58 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 59 | |||
| 60 | /* Must use the system's termcap. It does special things. */ | ||
| 61 | |||
| 62 | #define LIBS_TERMCAP -ltermcap | ||
| 63 | |||
| 64 | /* arch-tag: 79bfd831-874a-4339-85fa-b8cbdc29bdab | ||
| 65 | (do not change this comment) */ | ||
diff --git a/src/m/nh3000.h b/src/m/nh3000.h deleted file mode 100644 index e4a9817d57c..00000000000 --- a/src/m/nh3000.h +++ /dev/null | |||
| @@ -1,109 +0,0 @@ | |||
| 1 | /* machine description for Harris Night Hawk Series 1200 and Series 3000 | ||
| 2 | MC68030-based systems (FPP on these is custom). These systems are | ||
| 3 | also known as "ecx" and "gcx". | ||
| 4 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, | ||
| 5 | 2006, 2007 Free Software Foundation, Inc. | ||
| 6 | |||
| 7 | This file is part of GNU Emacs. | ||
| 8 | |||
| 9 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 10 | it under the terms of the GNU General Public License as published by | ||
| 11 | the Free Software Foundation; either version 3, or (at your option) | ||
| 12 | any later version. | ||
| 13 | |||
| 14 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | GNU General Public License for more details. | ||
| 18 | |||
| 19 | You should have received a copy of the GNU General Public License | ||
| 20 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 21 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 22 | Boston, MA 02110-1301, USA. */ | ||
| 23 | |||
| 24 | /* This file manually constructed for Harris Night Hawk 4000 (and 5000) | ||
| 25 | * series Motorola 88100 and 88110 based machines. | ||
| 26 | */ | ||
| 27 | |||
| 28 | /* The following line tells the configuration script what sort of | ||
| 29 | operating system this machine is likely to run. | ||
| 30 | USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */ | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #define NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | /* #define WORD_MACHINE */ | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 45 | orion, tahoe, APOLLO and many others */ | ||
| 46 | |||
| 47 | #ifndef gcx | ||
| 48 | #define gcx | ||
| 49 | #endif | ||
| 50 | |||
| 51 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 52 | /* This is desirable for most machines. */ | ||
| 53 | |||
| 54 | #define NO_UNION_TYPE | ||
| 55 | |||
| 56 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 57 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 58 | are always unsigned. | ||
| 59 | |||
| 60 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 61 | |||
| 62 | /* #define EXPLICIT_SIGN_EXTEND */ | ||
| 63 | |||
| 64 | /* Data type of load average, as read out of kmem. */ | ||
| 65 | |||
| 66 | #define LOAD_AVE_TYPE long | ||
| 67 | |||
| 68 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 69 | |||
| 70 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 71 | |||
| 72 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 73 | Then the function dump-emacs will not be defined | ||
| 74 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 75 | |||
| 76 | /* #define CANNOT_DUMP */ | ||
| 77 | |||
| 78 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 79 | pure and impure space as loaded can vary, and even their | ||
| 80 | relative order cannot be relied on. | ||
| 81 | |||
| 82 | Otherwise Emacs assumes that text space precedes data space, | ||
| 83 | numerically. */ | ||
| 84 | |||
| 85 | /* #define VIRT_ADDR_VARIES */ | ||
| 86 | |||
| 87 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 88 | to change the boundary between the text section and data section | ||
| 89 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 90 | code will not be sharable; but that's better than failing completely. */ | ||
| 91 | |||
| 92 | #define NO_REMAP | ||
| 93 | |||
| 94 | /* Some really obscure 4.2-based systems (like Sequent DYNIX) | ||
| 95 | * do not support asynchronous I/O (using SIGIO) on sockets, | ||
| 96 | * even though it works fine on tty's. If you have one of | ||
| 97 | * these systems, define the following, and then use it in | ||
| 98 | * config.h (or elsewhere) to decide when (not) to use SIGIO. | ||
| 99 | * | ||
| 100 | * You'd think this would go in an operating-system description file, | ||
| 101 | * but since it only occurs on some, but not all, BSD systems, the | ||
| 102 | * reasonable place to select for it is in the machine description | ||
| 103 | * file. | ||
| 104 | */ | ||
| 105 | |||
| 106 | /* #define NO_SOCK_SIGIO */ | ||
| 107 | |||
| 108 | /* arch-tag: 1529f2bc-50d9-42e7-ae72-6f40afadf09e | ||
| 109 | (do not change this comment) */ | ||
diff --git a/src/m/nh4000.h b/src/m/nh4000.h deleted file mode 100644 index 20fadb71e43..00000000000 --- a/src/m/nh4000.h +++ /dev/null | |||
| @@ -1,108 +0,0 @@ | |||
| 1 | /* machine description for Harris NightHawk 88k based machines | ||
| 2 | (includes nh4000 and nh5000 machines). | ||
| 3 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, | ||
| 4 | 2006, 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | /* This file manually constructed for Harris Night Hawk 4000 (and 5000) | ||
| 24 | * series Motorola 88100 and 88110 based machines. | ||
| 25 | */ | ||
| 26 | |||
| 27 | /* The following line tells the configuration script what sort of | ||
| 28 | operating system this machine is likely to run. | ||
| 29 | USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */ | ||
| 30 | |||
| 31 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 32 | * group of arguments and treat it as an array of the arguments. */ | ||
| 33 | |||
| 34 | #define NO_ARG_ARRAY | ||
| 35 | |||
| 36 | /* Define WORD_MACHINE if addresses and such have | ||
| 37 | * to be corrected before they can be used as byte counts. */ | ||
| 38 | |||
| 39 | /* #define WORD_MACHINE */ | ||
| 40 | |||
| 41 | /* Now define a symbol for the cpu type, if your compiler | ||
| 42 | does not define it automatically: | ||
| 43 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 44 | orion, tahoe, APOLLO and many others */ | ||
| 45 | |||
| 46 | #ifndef m88000 | ||
| 47 | #define m88000 | ||
| 48 | #endif | ||
| 49 | |||
| 50 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 51 | /* This is desirable for most machines. */ | ||
| 52 | |||
| 53 | #define NO_UNION_TYPE | ||
| 54 | |||
| 55 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 56 | the bit field into an int. In other words, if bit fields | ||
| 57 | are always unsigned. | ||
| 58 | |||
| 59 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 60 | |||
| 61 | /* #define EXPLICIT_SIGN_EXTEND */ | ||
| 62 | |||
| 63 | /* Data type of load average, as read out of kmem. */ | ||
| 64 | |||
| 65 | #define LOAD_AVE_TYPE long | ||
| 66 | |||
| 67 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 68 | |||
| 69 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 70 | |||
| 71 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 72 | Then the function dump-emacs will not be defined | ||
| 73 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 74 | |||
| 75 | /* #define CANNOT_DUMP */ | ||
| 76 | |||
| 77 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 78 | pure and impure space as loaded can vary, and even their | ||
| 79 | relative order cannot be relied on. | ||
| 80 | |||
| 81 | Otherwise Emacs assumes that text space precedes data space, | ||
| 82 | numerically. */ | ||
| 83 | |||
| 84 | /* #define VIRT_ADDR_VARIES */ | ||
| 85 | |||
| 86 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 87 | to change the boundary between the text section and data section | ||
| 88 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 89 | code will not be sharable; but that's better than failing completely. */ | ||
| 90 | |||
| 91 | #define NO_REMAP | ||
| 92 | |||
| 93 | /* Some really obscure 4.2-based systems (like Sequent DYNIX) | ||
| 94 | * do not support asynchronous I/O (using SIGIO) on sockets, | ||
| 95 | * even though it works fine on tty's. If you have one of | ||
| 96 | * these systems, define the following, and then use it in | ||
| 97 | * config.h (or elsewhere) to decide when (not) to use SIGIO. | ||
| 98 | * | ||
| 99 | * You'd think this would go in an operating-system description file, | ||
| 100 | * but since it only occurs on some, but not all, BSD systems, the | ||
| 101 | * reasonable place to select for it is in the machine description | ||
| 102 | * file. | ||
| 103 | */ | ||
| 104 | |||
| 105 | /* #define NO_SOCK_SIGIO */ | ||
| 106 | |||
| 107 | /* arch-tag: d9e12769-ae79-4c25-953f-70db5b7ef5dd | ||
| 108 | (do not change this comment) */ | ||
diff --git a/src/m/ns16000.h b/src/m/ns16000.h deleted file mode 100644 index 6feddd97610..00000000000 --- a/src/m/ns16000.h +++ /dev/null | |||
| @@ -1,95 +0,0 @@ | |||
| 1 | /* machine description file for ns16000. | ||
| 2 | Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="note" | ||
| 26 | |||
| 27 | NOTE-START | ||
| 28 | For the Encore, use `-opsystem=umax'. | ||
| 29 | For a Tektronix 16000 box (a 6130, perhaps?), use `-opsystem=bsd4-2'. | ||
| 30 | Use `-machine=ns16000' for both. | ||
| 31 | NOTE-END */ | ||
| 32 | |||
| 33 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 34 | is the most significant byte. */ | ||
| 35 | |||
| 36 | #undef WORDS_BIG_ENDIAN | ||
| 37 | |||
| 38 | /* Say this machine is a 16000 */ | ||
| 39 | |||
| 40 | #define ns16000 1 | ||
| 41 | |||
| 42 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 43 | |||
| 44 | #define NO_UNION_TYPE | ||
| 45 | |||
| 46 | /* Data type of load average, as read out of kmem. */ | ||
| 47 | |||
| 48 | #ifndef USG | ||
| 49 | #define LOAD_AVE_TYPE double | ||
| 50 | #endif | ||
| 51 | |||
| 52 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 53 | |||
| 54 | #ifndef USG | ||
| 55 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 56 | #endif | ||
| 57 | |||
| 58 | #ifdef USG | ||
| 59 | |||
| 60 | /* Control assembler syntax used in alloca.s. */ | ||
| 61 | #define NS5 | ||
| 62 | |||
| 63 | /* On early NS systems ulimit was buggy. If set emacs uses this value | ||
| 64 | * for the maximum sbrk value instead of getting it from ulimit. | ||
| 65 | */ | ||
| 66 | #define ULIMIT_BREAK_VALUE 0x7E0000 | ||
| 67 | |||
| 68 | /* Early NS compilers have this bug. I believe it has been fixed in later | ||
| 69 | * releases. | ||
| 70 | */ | ||
| 71 | #define SHORT_CAST_BUG | ||
| 72 | |||
| 73 | #define SEGMENT_MASK (NBPS - 1) | ||
| 74 | |||
| 75 | /* Variables to get crt0.c to come out correctly */ | ||
| 76 | #define CRT0_DUMMIES bogus_fp, | ||
| 77 | #define DOT_GLOBAL_START | ||
| 78 | |||
| 79 | /* Control how emacsclient communicates. */ | ||
| 80 | #define HAVE_SYSVIPC | ||
| 81 | |||
| 82 | /* Set this to /bin/mail unless you have a better mail posting program */ | ||
| 83 | #define MAIL_PROGRAM_NAME "/usr/local/bin/remail" | ||
| 84 | |||
| 85 | /* Tell sysdep.c not to define bzero, etc. */ | ||
| 86 | #undef BSTRING | ||
| 87 | #define BSTRING | ||
| 88 | |||
| 89 | /* This avoids problems with uninitialized static variables going in .data. */ | ||
| 90 | #define static | ||
| 91 | |||
| 92 | #endif /* USG */ | ||
| 93 | |||
| 94 | /* arch-tag: 4210db3c-e35c-4b96-9399-1dbde3e00a57 | ||
| 95 | (do not change this comment) */ | ||
diff --git a/src/m/ns32000.h b/src/m/ns32000.h deleted file mode 100644 index b6484b4b219..00000000000 --- a/src/m/ns32000.h +++ /dev/null | |||
| @@ -1,102 +0,0 @@ | |||
| 1 | /* machine description file for National Semiconductor 32000, running Genix. | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | /* The following line tells the configuration script what sort of | ||
| 25 | operating system this machine is likely to run. | ||
| 26 | USUAL-OPSYS="usg5-2" */ | ||
| 27 | |||
| 28 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 29 | is the most significant byte. */ | ||
| 30 | |||
| 31 | #undef WORDS_BIG_ENDIAN | ||
| 32 | |||
| 33 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 34 | * group of arguments and treat it as an array of the arguments. */ | ||
| 35 | |||
| 36 | /* #define NO_ARG_ARRAY */ | ||
| 37 | |||
| 38 | /* Define WORD_MACHINE if addresses and such have | ||
| 39 | * to be corrected before they can be used as byte counts. */ | ||
| 40 | |||
| 41 | /* #define WORD_MACHINE */ | ||
| 42 | |||
| 43 | /* Now define a symbol for the cpu type, if your compiler | ||
| 44 | does not define it automatically: | ||
| 45 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 46 | orion, tahoe, APOLLO and many others */ | ||
| 47 | |||
| 48 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 49 | /* This is desirable for most machines. */ | ||
| 50 | |||
| 51 | #define NO_UNION_TYPE | ||
| 52 | |||
| 53 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 54 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 55 | are always unsigned. | ||
| 56 | |||
| 57 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 58 | |||
| 59 | #define EXPLICIT_SIGN_EXTEND | ||
| 60 | |||
| 61 | /* Data type of load average, as read out of kmem. */ | ||
| 62 | |||
| 63 | /* #define LOAD_AVE_TYPE long */ | ||
| 64 | |||
| 65 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 66 | |||
| 67 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ | ||
| 68 | |||
| 69 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 70 | Then the function dump-emacs will not be defined | ||
| 71 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 72 | |||
| 73 | /* #define CANNOT_DUMP */ | ||
| 74 | |||
| 75 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 76 | pure and impure space as loaded can vary, and even their | ||
| 77 | relative order cannot be relied on. | ||
| 78 | |||
| 79 | Otherwise Emacs assumes that text space precedes data space, | ||
| 80 | numerically. */ | ||
| 81 | |||
| 82 | /* #define VIRT_ADDR_VARIES */ | ||
| 83 | |||
| 84 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 85 | to change the boundary between the text section and data section | ||
| 86 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 87 | code will not be sharable; but that's better than failing completely. */ | ||
| 88 | |||
| 89 | /* #define NO_REMAP */ | ||
| 90 | |||
| 91 | #define TEXT_START 0 | ||
| 92 | |||
| 93 | #if !defined (__NetBSD__) && !defined (__OpenBSD__) | ||
| 94 | #define EXEC_MAGIC 0410 | ||
| 95 | |||
| 96 | #define PURESIZE 140000 | ||
| 97 | |||
| 98 | #define START_FILES pre-crt0.o /lib/crt0.o | ||
| 99 | #endif | ||
| 100 | |||
| 101 | /* arch-tag: 13dde0e0-8ed5-4bc3-a0dc-5456c9db5f94 | ||
| 102 | (do not change this comment) */ | ||
diff --git a/src/m/nu.h b/src/m/nu.h deleted file mode 100644 index 279d14ff915..00000000000 --- a/src/m/nu.h +++ /dev/null | |||
| @@ -1,75 +0,0 @@ | |||
| 1 | /* machine description file for TI Nu machines using system V. | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* XINT must explicitly sign-extend */ | ||
| 33 | |||
| 34 | #define EXPLICIT_SIGN_EXTEND | ||
| 35 | |||
| 36 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 37 | |||
| 38 | #define NO_UNION_TYPE | ||
| 39 | |||
| 40 | /* Now define a symbol for the cpu type, if your compiler | ||
| 41 | does not define it automatically: | ||
| 42 | vax, m68000, ns16000 are the ones defined so far. */ | ||
| 43 | |||
| 44 | #ifndef m68000 | ||
| 45 | #define m68000 | ||
| 46 | #endif | ||
| 47 | |||
| 48 | #ifndef NU | ||
| 49 | #define NU | ||
| 50 | #endif | ||
| 51 | |||
| 52 | /* Data type of load average, as read out of kmem. */ | ||
| 53 | /* These are commented out since it does not really work in uniplus */ | ||
| 54 | |||
| 55 | /* #define LOAD_AVE_TYPE long */ | ||
| 56 | |||
| 57 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 58 | |||
| 59 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ | ||
| 60 | |||
| 61 | /* Change some things to avoid bugs in compiler */ | ||
| 62 | |||
| 63 | #define SWITCH_ENUM_BUG 1 | ||
| 64 | |||
| 65 | /* The NU machine has a compiler that can handle long names. */ | ||
| 66 | |||
| 67 | #undef SHORTNAMES | ||
| 68 | |||
| 69 | /* Specify alignment requirement for start of text and data sections | ||
| 70 | in the executable file. */ | ||
| 71 | |||
| 72 | #define SECTION_ALIGNMENT pagemask | ||
| 73 | |||
| 74 | /* arch-tag: 7d2d9b6d-75d4-4c0d-96a9-a41f06212f35 | ||
| 75 | (do not change this comment) */ | ||
diff --git a/src/m/orion.h b/src/m/orion.h deleted file mode 100644 index cc3a7e395fc..00000000000 --- a/src/m/orion.h +++ /dev/null | |||
| @@ -1,70 +0,0 @@ | |||
| 1 | /* machine description file for HLH Orion. | ||
| 2 | Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #undef WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Now define a symbol for the cpu type, if your compiler | ||
| 33 | does not define it automatically. */ | ||
| 34 | |||
| 35 | #ifndef orion | ||
| 36 | #define orion | ||
| 37 | #endif | ||
| 38 | |||
| 39 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 40 | * group of arguments and treat it as an array of the arguments. */ | ||
| 41 | |||
| 42 | #define NO_ARG_ARRAY | ||
| 43 | |||
| 44 | /* Define WORD_MACHINE if addresses and such have | ||
| 45 | * to be corrected before they can be used as byte counts. */ | ||
| 46 | |||
| 47 | #define WORD_MACHINE | ||
| 48 | |||
| 49 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 50 | /* This is desirable for most machines. */ | ||
| 51 | |||
| 52 | #define NO_UNION_TYPE | ||
| 53 | |||
| 54 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend */ | ||
| 55 | |||
| 56 | #define EXPLICIT_SIGN_EXTEND | ||
| 57 | |||
| 58 | /* Data type of load average, as read out of kmem. */ | ||
| 59 | |||
| 60 | #define LOAD_AVE_TYPE double | ||
| 61 | |||
| 62 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 63 | |||
| 64 | #ifndef FSCALE | ||
| 65 | #define FSCALE 1.0 | ||
| 66 | #endif | ||
| 67 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 68 | |||
| 69 | /* arch-tag: 4fcf38ad-d6b0-434b-bc10-16647d5a7fb6 | ||
| 70 | (do not change this comment) */ | ||
diff --git a/src/m/orion105.h b/src/m/orion105.h deleted file mode 100644 index fabcf67e2a9..00000000000 --- a/src/m/orion105.h +++ /dev/null | |||
| @@ -1,72 +0,0 @@ | |||
| 1 | /* machine description file for HLH Orion 1/05 (Clipper). | ||
| 2 | Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | Lee McLoughlin <lmjm%doc.imperial.ac.uk@nss.cs.ucl.ac.uk> | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | /* The following line tells the configuration script what sort of | ||
| 25 | operating system this machine is likely to run. | ||
| 26 | USUAL-OPSYS="bsd4-2" */ | ||
| 27 | |||
| 28 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 29 | is the most significant byte. */ | ||
| 30 | |||
| 31 | #undef WORDS_BIG_ENDIAN | ||
| 32 | |||
| 33 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 34 | * group of arguments and treat it as an array of the arguments. */ | ||
| 35 | |||
| 36 | #define NO_ARG_ARRAY | ||
| 37 | |||
| 38 | /* Define WORD_MACHINE if addresses and such have | ||
| 39 | * to be corrected before they can be used as byte counts. */ | ||
| 40 | |||
| 41 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 42 | /* This is desirable for most machines. */ | ||
| 43 | |||
| 44 | #define NO_UNION_TYPE | ||
| 45 | |||
| 46 | /* Data type of load average, as read out of kmem. */ | ||
| 47 | /* This used to be `double'. */ | ||
| 48 | |||
| 49 | #define LOAD_AVE_TYPE long | ||
| 50 | |||
| 51 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 52 | |||
| 53 | /* This used to be 1.0. */ | ||
| 54 | #ifndef FSCALE | ||
| 55 | #define FSCALE 256 | ||
| 56 | #endif | ||
| 57 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 58 | |||
| 59 | /* HLH have a SIGWINCH defined (but unimplemented) so we need a sigmask */ | ||
| 60 | #ifndef sigmask | ||
| 61 | #define sigmask(m) (1 << ((m) - 1)) | ||
| 62 | #endif | ||
| 63 | |||
| 64 | /* Here is where programs actually start running */ | ||
| 65 | #define TEXT_START 0x8000 | ||
| 66 | #define LD_TEXT_START_ADDR 8000 | ||
| 67 | |||
| 68 | /* Arguments to ignore before argc in crt0.c. */ | ||
| 69 | #define DUMMIES dummy1, dummy2, | ||
| 70 | |||
| 71 | /* arch-tag: 32fed6e3-8cae-4882-b327-a68c2af6db7a | ||
| 72 | (do not change this comment) */ | ||
diff --git a/src/m/paragon.h b/src/m/paragon.h deleted file mode 100644 index 11b98dea7ee..00000000000 --- a/src/m/paragon.h +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | /* m/ file for Paragon i860 machine. */ | ||
| 2 | |||
| 3 | #include "i860.h" | ||
| 4 | #define COFF | ||
| 5 | #define SYSTEM_MALLOC | ||
| 6 | #define TEXT_START 0x10000 | ||
| 7 | #define LIB_STANDARD -lc -lic -lmach | ||
| 8 | #define KEEP_OLD_TEXT_SCNPTR | ||
| 9 | #define KEEP_OLD_PADDR | ||
| 10 | #define drem fmod | ||
| 11 | |||
| 12 | /* arch-tag: c1bc280c-25e5-4993-9b91-333c52ab3674 | ||
| 13 | (do not change this comment) */ | ||
diff --git a/src/m/pfa50.h b/src/m/pfa50.h deleted file mode 100644 index 5f98dc993c7..00000000000 --- a/src/m/pfa50.h +++ /dev/null | |||
| @@ -1,93 +0,0 @@ | |||
| 1 | /* Machine description file for PFU A-series. | ||
| 2 | Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 24 | is the most significant byte. */ | ||
| 25 | |||
| 26 | #define WORDS_BIG_ENDIAN | ||
| 27 | |||
| 28 | /* Say this machine is a 68000 */ | ||
| 29 | |||
| 30 | #define m68000 | ||
| 31 | #define mc68000 1 | ||
| 32 | |||
| 33 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 34 | |||
| 35 | #define NO_UNION_TYPE | ||
| 36 | |||
| 37 | /* XINT must explicitly sign-extend */ | ||
| 38 | |||
| 39 | #define EXPLICIT_SIGN_EXTEND | ||
| 40 | |||
| 41 | /* The symbol FIONREAD is defined, but the feature does not work. */ | ||
| 42 | |||
| 43 | #define BROKEN_FIONREAD | ||
| 44 | |||
| 45 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 46 | to change the boundary between the text section and data section | ||
| 47 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 48 | code will not be sharable; but that's better than failing completely. */ | ||
| 49 | |||
| 50 | #define NO_REMAP | ||
| 51 | |||
| 52 | /* Define TEXT_START_ADDR if your linker don't set execute point to _start. | ||
| 53 | If it needed, temacs always CORE-DUMP. */ | ||
| 54 | |||
| 55 | #define TEXT_START_ADDR __start | ||
| 56 | |||
| 57 | /* Define START_FILES if your machine used _start. | ||
| 58 | */ | ||
| 59 | |||
| 60 | #define START_FILES crt0.o | ||
| 61 | |||
| 62 | /* Define LD_SWITCH_MACHINE if your linker needs it. | ||
| 63 | */ | ||
| 64 | |||
| 65 | #define LD_SWITCH_MACHINE -e __start | ||
| 66 | |||
| 67 | #if pfa50 || pfa70 | ||
| 68 | /* On A-50/60/70/80, data space has high order byte use. */ | ||
| 69 | #define DATA_SEG_BITS 0x60000000 | ||
| 70 | #endif /* pfa50, pfa70 */ | ||
| 71 | |||
| 72 | /* SX/A has alloca in the PW library. */ | ||
| 73 | |||
| 74 | #define LIB_STANDARD -lPW -lc | ||
| 75 | |||
| 76 | /* SX/A uses terminfo and lib/curses */ | ||
| 77 | |||
| 78 | #define TERMINFO | ||
| 79 | |||
| 80 | #define HAVE_PTYS | ||
| 81 | #define HAVE_SOCKETS | ||
| 82 | |||
| 83 | /* SX/A use SystemV style getdents/readdir. */ | ||
| 84 | |||
| 85 | /* SX/A does not have sigblock(2) */ | ||
| 86 | #define sigblock(mask) (0) | ||
| 87 | |||
| 88 | #define NO_SIOCTL_H | ||
| 89 | |||
| 90 | #define BROKEN_SIGIO | ||
| 91 | |||
| 92 | /* arch-tag: f3a127d5-790b-4c78-b6be-837139fb12c4 | ||
| 93 | (do not change this comment) */ | ||
diff --git a/src/m/plexus.h b/src/m/plexus.h deleted file mode 100644 index 51961977904..00000000000 --- a/src/m/plexus.h +++ /dev/null | |||
| @@ -1,109 +0,0 @@ | |||
| 1 | /* machine description file for the Plexus running System V.2. | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #undef NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #undef WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 45 | are the ones defined so far. */ | ||
| 46 | /* Plexus predefines m68 instead of m68000. */ | ||
| 47 | #define m68000 m68 | ||
| 48 | |||
| 49 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 50 | /* This is desirable for most machines. */ | ||
| 51 | |||
| 52 | #define NO_UNION_TYPE | ||
| 53 | |||
| 54 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 55 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 56 | are always unsigned. | ||
| 57 | |||
| 58 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 59 | |||
| 60 | #undef EXPLICIT_SIGN_EXTEND | ||
| 61 | |||
| 62 | /* Data type of load average, as read out of kmem. */ | ||
| 63 | |||
| 64 | #undef LOAD_AVE_TYPE | ||
| 65 | |||
| 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 67 | |||
| 68 | #undef LOAD_AVE_CVT | ||
| 69 | |||
| 70 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 71 | Then the function dump-emacs will not be defined | ||
| 72 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 73 | |||
| 74 | #undef CANNOT_DUMP | ||
| 75 | |||
| 76 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 77 | pure and impure space as loaded can vary, and even their | ||
| 78 | relative order cannot be relied on. | ||
| 79 | |||
| 80 | Otherwise Emacs assumes that text space precedes data space, | ||
| 81 | numerically. */ | ||
| 82 | |||
| 83 | #undef VIRT_ADDR_VARIES | ||
| 84 | |||
| 85 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 86 | to change the boundary between the text section and data section | ||
| 87 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 88 | code will not be sharable; but that's better than failing completely. */ | ||
| 89 | |||
| 90 | #undef NO_REMAP | ||
| 91 | |||
| 92 | /* Use the following on ld so we can use the gnu crt0 | ||
| 93 | The plexus ld looks for start */ | ||
| 94 | #define LD_SWITCH_MACHINE -e __start | ||
| 95 | |||
| 96 | /* Use the PW library, which contains alloca. */ | ||
| 97 | |||
| 98 | #define LIB_STANDARD -lPW -lc | ||
| 99 | |||
| 100 | /* crt0.c should use the vax-bsd style of entry, with no dummy args. */ | ||
| 101 | |||
| 102 | #define CRT0_DUMMIES zero1, zero2, | ||
| 103 | |||
| 104 | /* This triggers some stuff to avoid a compiler bug */ | ||
| 105 | |||
| 106 | #define TAHOE_REGISTER_BUG | ||
| 107 | |||
| 108 | /* arch-tag: 78c607eb-b4f8-4750-b575-39670d979448 | ||
| 109 | (do not change this comment) */ | ||
diff --git a/src/m/pyramid.h b/src/m/pyramid.h deleted file mode 100644 index 1b834c60ba0..00000000000 --- a/src/m/pyramid.h +++ /dev/null | |||
| @@ -1,67 +0,0 @@ | |||
| 1 | /* machine description file for pyramid. | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #ifdef __GNUC__ | ||
| 36 | #define NO_ARG_ARRAY | ||
| 37 | #endif | ||
| 38 | |||
| 39 | /* XINT must explicitly sign extend */ | ||
| 40 | |||
| 41 | #define EXPLICIT_SIGN_EXTEND | ||
| 42 | |||
| 43 | /* pyramid preprocessor defines "pyr", however the following is clearer */ | ||
| 44 | #define pyramid | ||
| 45 | |||
| 46 | /* Don't use the union types any more. They were used until Emacs 17.45. */ | ||
| 47 | |||
| 48 | #define NO_UNION_TYPE | ||
| 49 | |||
| 50 | /* Data type of load average, as read out of kmem. */ | ||
| 51 | |||
| 52 | #define LOAD_AVE_TYPE double | ||
| 53 | |||
| 54 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 55 | |||
| 56 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 57 | |||
| 58 | /* Don't use the ordinary -g for debugging in cc */ | ||
| 59 | |||
| 60 | #define C_DEBUG_SWITCH -gx | ||
| 61 | |||
| 62 | /* Reenable this #define for old versions of the Pyramid system. */ | ||
| 63 | |||
| 64 | /* #define PYRAMID_OLD */ | ||
| 65 | |||
| 66 | /* arch-tag: b9097bc9-92be-46d4-acb1-13c2b966d581 | ||
| 67 | (do not change this comment) */ | ||
diff --git a/src/m/pyrmips.h b/src/m/pyrmips.h deleted file mode 100644 index 67705fb6619..00000000000 --- a/src/m/pyrmips.h +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | /* Configuration file for the Pyramid machine that uses the MIPS cpu. */ | ||
| 2 | /* This does not fully work. */ | ||
| 3 | |||
| 4 | #include "m-pyramid.h" | ||
| 5 | |||
| 6 | #define SYSTEM_MALLOC | ||
| 7 | #define CANNOT_DUMP | ||
| 8 | |||
| 9 | /* arch-tag: 82559148-25a8-466d-bbb3-f903f7666b7a | ||
| 10 | (do not change this comment) */ | ||
diff --git a/src/m/sh3el.h b/src/m/sh3el.h deleted file mode 100644 index 77f6dc12c23..00000000000 --- a/src/m/sh3el.h +++ /dev/null | |||
| @@ -1,106 +0,0 @@ | |||
| 1 | /* machine description file for sh3el | ||
| 2 | Copyright (C) 1985, 1986, 2006, 2007 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 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 | ||
| 8 | the Free Software Foundation; either version 3, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
| 19 | Boston, MA 02111-1307, USA. */ | ||
| 20 | |||
| 21 | |||
| 22 | /* The following line tells the configuration script what sort of | ||
| 23 | operating system this machine is likely to run. | ||
| 24 | USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */ | ||
| 25 | |||
| 26 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 27 | is the most significant byte. */ | ||
| 28 | |||
| 29 | #undef WORDS_BIG_ENDIAN | ||
| 30 | |||
| 31 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 32 | * group of arguments and treat it as an array of the arguments. */ | ||
| 33 | |||
| 34 | #define NO_ARG_ARRAY | ||
| 35 | |||
| 36 | /* Define WORD_MACHINE if addresses and such have | ||
| 37 | * to be corrected before they can be used as byte counts. */ | ||
| 38 | |||
| 39 | #undef WORD_MACHINE | ||
| 40 | |||
| 41 | /* Now define a symbol for the cpu type, if your compiler | ||
| 42 | does not define it automatically: | ||
| 43 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 44 | orion, tahoe, APOLLO and many others */ | ||
| 45 | |||
| 46 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 47 | /* This is desirable for most machines. */ | ||
| 48 | |||
| 49 | #define NO_UNION_TYPE | ||
| 50 | |||
| 51 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 52 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 53 | are always unsigned. | ||
| 54 | |||
| 55 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 56 | |||
| 57 | #define EXPLICIT_SIGN_EXTEND | ||
| 58 | |||
| 59 | /* Data type of load average, as read out of kmem. */ | ||
| 60 | |||
| 61 | #define LOAD_AVE_TYPE long | ||
| 62 | |||
| 63 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 64 | |||
| 65 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 66 | |||
| 67 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 68 | Then the function dump-emacs will not be defined | ||
| 69 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 70 | |||
| 71 | #undef CANNOT_DUMP | ||
| 72 | |||
| 73 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 74 | pure and impure space as loaded can vary, and even their | ||
| 75 | relative order cannot be relied on. | ||
| 76 | |||
| 77 | Otherwise Emacs assumes that text space precedes data space, | ||
| 78 | numerically. */ | ||
| 79 | |||
| 80 | #define VIRT_ADDR_VARIES | ||
| 81 | |||
| 82 | /* Define HAVE_ALLOCA to say that the system provides a properly | ||
| 83 | working alloca function and it should be used. | ||
| 84 | Undefine it if an assembler-language alloca | ||
| 85 | in the file alloca.s should be used. */ | ||
| 86 | |||
| 87 | #define HAVE_ALLOCA | ||
| 88 | |||
| 89 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 90 | to change the boundary between the text section and data section | ||
| 91 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 92 | code will not be sharable; but that's better than failing completely. */ | ||
| 93 | |||
| 94 | #define NO_REMAP | ||
| 95 | |||
| 96 | /* After adding support for a new system, modify the large case | ||
| 97 | statement in the `configure' script to recognize reasonable | ||
| 98 | configuration names, and add a description of the system to | ||
| 99 | `etc/MACHINES'. | ||
| 100 | |||
| 101 | If you've just fixed a problem in an existing configuration file, | ||
| 102 | you should also check `etc/MACHINES' to make sure its descriptions | ||
| 103 | of known problems in that configuration should be updated. */ | ||
| 104 | |||
| 105 | /* arch-tag: ee325990-6f40-47a2-b9df-60ecf3599899 | ||
| 106 | (do not change this comment) */ | ||
diff --git a/src/m/sps7.h b/src/m/sps7.h deleted file mode 100644 index 67fc60c1b6a..00000000000 --- a/src/m/sps7.h +++ /dev/null | |||
| @@ -1,118 +0,0 @@ | |||
| 1 | /* machine description file for Bull SPS-7. | ||
| 2 | Copyright (C) 1986, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Say this machine is a 68000 */ | ||
| 33 | |||
| 34 | #ifndef m68000 | ||
| 35 | #define m68000 | ||
| 36 | #endif | ||
| 37 | |||
| 38 | #define sps7 | ||
| 39 | |||
| 40 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 41 | |||
| 42 | #define NO_UNION_TYPE | ||
| 43 | |||
| 44 | /* XINT must explicitly sign-extend */ | ||
| 45 | |||
| 46 | #define EXPLICIT_SIGN_EXTEND | ||
| 47 | |||
| 48 | /* Data type of load average, as read out of kmem. */ | ||
| 49 | /* Suspect there is something weird about this machine, so turn it off. */ | ||
| 50 | |||
| 51 | /* #define LOAD_AVE_TYPE long */ | ||
| 52 | |||
| 53 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 54 | |||
| 55 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ | ||
| 56 | |||
| 57 | #define SMX | ||
| 58 | #define V3x | ||
| 59 | |||
| 60 | /* | ||
| 61 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 62 | */ | ||
| 63 | |||
| 64 | #define HAVE_PTYS | ||
| 65 | |||
| 66 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 67 | |||
| 68 | #define HAVE_SOCKETS | ||
| 69 | |||
| 70 | /* Have the socketpair call | ||
| 71 | */ | ||
| 72 | |||
| 73 | #define SKTPAIR | ||
| 74 | |||
| 75 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 76 | so that Emacs can tell instantly when you try to modify | ||
| 77 | a file that someone else has modified in his Emacs. */ | ||
| 78 | |||
| 79 | #define CLASH_DETECTION | ||
| 80 | |||
| 81 | /* Use Berkeley style interface to nlist */ | ||
| 82 | |||
| 83 | #define NLIST_STRUCT | ||
| 84 | |||
| 85 | /* Define this to cause -N to be passed to ld. This is needed | ||
| 86 | * in uniplus because of its funny memory space layout. | ||
| 87 | * SMX--If you are using 32 bit (COFF) use "-N", else don't use anything. | ||
| 88 | */ | ||
| 89 | |||
| 90 | #define LD_SWITCH_MACHINE -N -T32 -e __start | ||
| 91 | |||
| 92 | /* If you are compiling for a 68020, then use -lc32 else use -lc */ | ||
| 93 | |||
| 94 | #define LIB_STANDARD -lc32 | ||
| 95 | |||
| 96 | /* Fore 16 bit, -linet, for 32 bit -linet32 (be sure you have it!). */ | ||
| 97 | |||
| 98 | #define LIBS_MACHINE -linet32 | ||
| 99 | |||
| 100 | /* Use -T32 for 68020, -T16 otherwise */ | ||
| 101 | |||
| 102 | #define C_SWITCH_MACHINE -T32 | ||
| 103 | |||
| 104 | #define BROKEN_SIGIO | ||
| 105 | |||
| 106 | /* Other than 68020 use ld16, as32, or undefine (defaults ld and as). */ | ||
| 107 | |||
| 108 | #define ASS as32 | ||
| 109 | |||
| 110 | #ifdef V3x | ||
| 111 | #define EXEC_MAGIC 0x10b | ||
| 112 | #define SEGMENT_MASK (NBPS-1) | ||
| 113 | #define ADJUST_EXEC_HEADER f_hdr.f_magic = SMROMAGIC;\ | ||
| 114 | f_ohdr.stsize = 0; | ||
| 115 | #endif | ||
| 116 | |||
| 117 | /* arch-tag: 2240f71c-6f3b-4a82-80fc-4d56c682d7ad | ||
| 118 | (do not change this comment) */ | ||
diff --git a/src/m/sr2k.h b/src/m/sr2k.h deleted file mode 100644 index 6c17795e058..00000000000 --- a/src/m/sr2k.h +++ /dev/null | |||
| @@ -1,160 +0,0 @@ | |||
| 1 | /* machine description file for Hitachi SR2001/SR2201 machines. | ||
| 2 | Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="hpux" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #define NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #undef WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 45 | orion, tahoe, APOLLO and many others */ | ||
| 46 | #ifndef hp9000s800 | ||
| 47 | # define hp9000s800 | ||
| 48 | #endif | ||
| 49 | |||
| 50 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 51 | /* This is desirable for most machines. */ | ||
| 52 | |||
| 53 | #define NO_UNION_TYPE | ||
| 54 | |||
| 55 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 56 | the bit field into an int. In other words, if bit fields | ||
| 57 | are always unsigned. | ||
| 58 | |||
| 59 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 60 | |||
| 61 | #define EXPLICIT_SIGN_EXTEND | ||
| 62 | |||
| 63 | /* The standard definitions of these macros would work ok, | ||
| 64 | but these are faster because the constants are short. */ | ||
| 65 | |||
| 66 | |||
| 67 | #define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS) | ||
| 68 | |||
| 69 | #define XSET(var, type, ptr) \ | ||
| 70 | ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)) | ||
| 71 | |||
| 72 | /* #ifdef __hpux */ | ||
| 73 | /* Now define a symbol for the cpu type, if your compiler | ||
| 74 | does not define it automatically: | ||
| 75 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 76 | orion, tahoe, APOLLO and many others */ | ||
| 77 | |||
| 78 | #ifndef hp9000s800 | ||
| 79 | # define hp9000s800 | ||
| 80 | #endif | ||
| 81 | |||
| 82 | |||
| 83 | /* Data type of load average, as read out of kmem. */ | ||
| 84 | |||
| 85 | #define LOAD_AVE_TYPE double | ||
| 86 | |||
| 87 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 88 | |||
| 89 | #define LOAD_AVE_CVT(x) ((int) (x * 100.0)) | ||
| 90 | |||
| 91 | |||
| 92 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 93 | Then the function dump-emacs will not be defined | ||
| 94 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 95 | |||
| 96 | #undef CANNOT_DUMP | ||
| 97 | |||
| 98 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 99 | pure and impure space as loaded can vary, and even their | ||
| 100 | relative order cannot be relied on. | ||
| 101 | |||
| 102 | Otherwise Emacs assumes that text space precedes data space, | ||
| 103 | numerically. */ | ||
| 104 | |||
| 105 | #define VIRT_ADDR_VARIES | ||
| 106 | |||
| 107 | /* the data segment on this machine always starts at address 0x40000000. */ | ||
| 108 | |||
| 109 | #define DATA_SEG_BITS 0x40000000 | ||
| 110 | |||
| 111 | #define DATA_START 0x40000000 | ||
| 112 | #define TEXT_START 0x00000000 | ||
| 113 | |||
| 114 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 115 | to change the boundary between the text section and data section | ||
| 116 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 117 | code will not be sharable; but that's better than failing completely. */ | ||
| 118 | |||
| 119 | #define NO_REMAP | ||
| 120 | |||
| 121 | /* This machine requires completely different unexec code | ||
| 122 | which lives in a separate file. Specify the file name. */ | ||
| 123 | |||
| 124 | #define UNEXEC unexhp9k800.o | ||
| 125 | |||
| 126 | #define LIBS_MACHINE | ||
| 127 | #define LIBS_DEBUG | ||
| 128 | |||
| 129 | /* Include the file bsdtty.h, since this machine has job control. */ | ||
| 130 | /* #define NEED_BSDTTY */ | ||
| 131 | |||
| 132 | /* The symbol in the kernel where the load average is found | ||
| 133 | is named _avenrun. At this time there are two major flavors | ||
| 134 | of hp-ux (there is the s800 and s300 (s200) flavors). The | ||
| 135 | differences are thusly moved to the corresponding machine description file. | ||
| 136 | */ | ||
| 137 | |||
| 138 | /* no underscore please */ | ||
| 139 | #define LDAV_SYMBOL "avenrun" | ||
| 140 | |||
| 141 | #if 0 /* Supposedly no longer true. */ | ||
| 142 | /* In hpux, for unknown reasons, S_IFLNK is defined even though | ||
| 143 | symbolic links do not exist. | ||
| 144 | Make sure our conditionals based on S_IFLNK are not confused. | ||
| 145 | |||
| 146 | Here we assume that stat.h is included before config.h | ||
| 147 | so that we can override it here. */ | ||
| 148 | |||
| 149 | #undef S_IFLNK | ||
| 150 | #endif | ||
| 151 | |||
| 152 | /* On USG systems these have different names. */ | ||
| 153 | |||
| 154 | #define index strchr | ||
| 155 | #define rindex strrchr | ||
| 156 | |||
| 157 | /* #endif */ | ||
| 158 | |||
| 159 | /* arch-tag: 4ced5b51-ffe6-4be1-9954-eb40657023a5 | ||
| 160 | (do not change this comment) */ | ||
diff --git a/src/m/stride.h b/src/m/stride.h deleted file mode 100644 index d846a6c9843..00000000000 --- a/src/m/stride.h +++ /dev/null | |||
| @@ -1,121 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Stride Micro System-V.2.2 | ||
| 2 | Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #undef NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #undef WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | vax, m68000, ns16000, pyramid, orion, tahoe, APOLLO and STRIDE | ||
| 45 | are the ones defined so far. */ | ||
| 46 | |||
| 47 | #define m68000 /* because the SGS compiler defines "m68k" */ | ||
| 48 | #ifndef STRIDE | ||
| 49 | #define STRIDE | ||
| 50 | #endif | ||
| 51 | |||
| 52 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 53 | /* This is desirable for most machines. */ | ||
| 54 | |||
| 55 | #define NO_UNION_TYPE | ||
| 56 | |||
| 57 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 58 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 59 | are always unsigned. | ||
| 60 | |||
| 61 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 62 | |||
| 63 | #define EXPLICIT_SIGN_EXTEND | ||
| 64 | |||
| 65 | /* Data type of load average, as read out of kmem. */ | ||
| 66 | |||
| 67 | #define LOAD_AVE_TYPE double | ||
| 68 | |||
| 69 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 70 | |||
| 71 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 72 | |||
| 73 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 74 | Then the function dump-emacs will not be defined | ||
| 75 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 76 | |||
| 77 | #undef CANNOT_DUMP | ||
| 78 | |||
| 79 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 80 | pure and impure space as loaded can vary, and even their | ||
| 81 | relative order cannot be relied on. | ||
| 82 | |||
| 83 | Otherwise Emacs assumes that text space precedes data space, | ||
| 84 | numerically. */ | ||
| 85 | |||
| 86 | #undef VIRT_ADDR_VARIES | ||
| 87 | |||
| 88 | /* The STRIDE system is more powerful than standard USG5. */ | ||
| 89 | |||
| 90 | #define HAVE_PTYS | ||
| 91 | #define BSTRING | ||
| 92 | #define SKTPAIR | ||
| 93 | #define HAVE_SOCKETS | ||
| 94 | |||
| 95 | #define MAIL_USE_FLOCK | ||
| 96 | #undef TERMINFO | ||
| 97 | #define EXEC_MAGIC 0413 | ||
| 98 | |||
| 99 | /* USG wins again: Foo! I can't get SIGIO to work properly on the Stride, because I'm | ||
| 100 | running a System V variant, and don't have a reliable way to block SIGIO | ||
| 101 | signals without losing them. So, I've gone back to non-SIGIO mode, so | ||
| 102 | please append this line to the file "stride.h": | ||
| 103 | */ | ||
| 104 | #define BROKEN_SIGIO | ||
| 105 | |||
| 106 | /* Specify alignment requirement for start of text and data sections | ||
| 107 | in the executable file. */ | ||
| 108 | |||
| 109 | #define SECTION_ALIGNMENT (getpagesize() - 1) | ||
| 110 | |||
| 111 | /* | ||
| 112 | * UniStride has this in /lib/libc.a. | ||
| 113 | */ | ||
| 114 | #undef NONSYSTEM_DIR_LIBRARY | ||
| 115 | |||
| 116 | /* Define this macro if system defines a type `union wait'. */ | ||
| 117 | |||
| 118 | #define HAVE_UNION_WAIT | ||
| 119 | |||
| 120 | /* arch-tag: 65c635ed-5bc7-4ace-ab20-f3442429c8ba | ||
| 121 | (do not change this comment) */ | ||
diff --git a/src/m/sun1.h b/src/m/sun1.h deleted file mode 100644 index 03cb4e803ff..00000000000 --- a/src/m/sun1.h +++ /dev/null | |||
| @@ -1,80 +0,0 @@ | |||
| 1 | /* machine description file for Sun 68000's | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="note" | ||
| 26 | |||
| 27 | NOTE-START | ||
| 28 | Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3; | ||
| 29 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 30 | |||
| 31 | Whether you should use sun1, sun2 or sun3 depends on the | ||
| 32 | VERSION OF THE OPERATING SYSTEM | ||
| 33 | you have. There are three machine types for different versions of | ||
| 34 | SunOS. All are derived from Berkeley 4.2, meaning that you should | ||
| 35 | use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will | ||
| 36 | need to use sun3 on Sun 2's running SunOS release 3. | ||
| 37 | |||
| 38 | For SunOS release 4 on a Sun 3, use -machine=sun3 and | ||
| 39 | -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve | ||
| 40 | problems caused by bugs in the "export" version of SunOS 4. | ||
| 41 | NOTE-END */ | ||
| 42 | |||
| 43 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 44 | is the most significant byte. */ | ||
| 45 | |||
| 46 | #define WORDS_BIG_ENDIAN | ||
| 47 | |||
| 48 | /* Say this machine is a 68000 */ | ||
| 49 | |||
| 50 | #define m68000 | ||
| 51 | |||
| 52 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 53 | |||
| 54 | #define NO_UNION_TYPE | ||
| 55 | |||
| 56 | /* Sun can't write competent compilers */ | ||
| 57 | #define COMPILER_REGISTER_BUG | ||
| 58 | |||
| 59 | /* XINT must explicitly sign-extend */ | ||
| 60 | |||
| 61 | #define EXPLICIT_SIGN_EXTEND | ||
| 62 | |||
| 63 | /* Data type of load average, as read out of kmem. */ | ||
| 64 | |||
| 65 | #define LOAD_AVE_TYPE long | ||
| 66 | |||
| 67 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 68 | |||
| 69 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 70 | |||
| 71 | /* Must use the system's termcap. It does special things. */ | ||
| 72 | |||
| 73 | #define LIBS_TERMCAP -ltermcap | ||
| 74 | |||
| 75 | /* Mask for address bits within a memory segment */ | ||
| 76 | |||
| 77 | #define SEGMENT_MASK (SEGSIZ - 1) | ||
| 78 | |||
| 79 | /* arch-tag: 58ec9c79-48bd-4d1b-aad1-65a09a6b0d10 | ||
| 80 | (do not change this comment) */ | ||
diff --git a/src/m/sun2.h b/src/m/sun2.h deleted file mode 100644 index a872bf6f3bb..00000000000 --- a/src/m/sun2.h +++ /dev/null | |||
| @@ -1,89 +0,0 @@ | |||
| 1 | /* machine description file for Sun 68000's OPERATING SYSTEM version 2. | ||
| 2 | Note that "sun2.h" refers to the operating system version, not the | ||
| 3 | CPU model number. See the MACHINES file for details. | ||
| 4 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 5 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 6 | |||
| 7 | This file is part of GNU Emacs. | ||
| 8 | |||
| 9 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 10 | it under the terms of the GNU General Public License as published by | ||
| 11 | the Free Software Foundation; either version 3, or (at your option) | ||
| 12 | any later version. | ||
| 13 | |||
| 14 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | GNU General Public License for more details. | ||
| 18 | |||
| 19 | You should have received a copy of the GNU General Public License | ||
| 20 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 21 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 22 | Boston, MA 02110-1301, USA. */ | ||
| 23 | |||
| 24 | |||
| 25 | /* The following line tells the configuration script what sort of | ||
| 26 | operating system this machine is likely to run. | ||
| 27 | USUAL-OPSYS="note" | ||
| 28 | |||
| 29 | NOTE-START | ||
| 30 | Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3; | ||
| 31 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 32 | |||
| 33 | Whether you should use sun1, sun2 or sun3 depends on the | ||
| 34 | VERSION OF THE OPERATING SYSTEM | ||
| 35 | you have. There are three machine types for different versions of | ||
| 36 | SunOS. All are derived from Berkeley 4.2, meaning that you should | ||
| 37 | use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will | ||
| 38 | need to use sun3 on Sun 2's running SunOS release 3. | ||
| 39 | |||
| 40 | For SunOS release 4 on a Sun 3, use -machine=sun3 and | ||
| 41 | -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve | ||
| 42 | problems caused by bugs in the "export" version of SunOS 4. | ||
| 43 | NOTE-END */ | ||
| 44 | |||
| 45 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 46 | is the most significant byte. */ | ||
| 47 | |||
| 48 | #define WORDS_BIG_ENDIAN | ||
| 49 | |||
| 50 | /* Say this machine is a 68000 */ | ||
| 51 | |||
| 52 | #ifndef m68000 | ||
| 53 | #define m68000 | ||
| 54 | #endif | ||
| 55 | |||
| 56 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 57 | |||
| 58 | #define NO_UNION_TYPE | ||
| 59 | |||
| 60 | /* Sun can't write competent compilers */ | ||
| 61 | #define COMPILER_REGISTER_BUG | ||
| 62 | |||
| 63 | /* XINT must explicitly sign-extend */ | ||
| 64 | |||
| 65 | #define EXPLICIT_SIGN_EXTEND | ||
| 66 | |||
| 67 | /* Data type of load average, as read out of kmem. */ | ||
| 68 | |||
| 69 | #define LOAD_AVE_TYPE long | ||
| 70 | |||
| 71 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 72 | |||
| 73 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 74 | |||
| 75 | /* Say that this is a Sun 2; must check for and maybe reinitialize | ||
| 76 | the "sky" board. */ | ||
| 77 | |||
| 78 | #define sun2 | ||
| 79 | |||
| 80 | /* Must use the system's termcap. It does special things. */ | ||
| 81 | |||
| 82 | #define LIBS_TERMCAP -ltermcap | ||
| 83 | |||
| 84 | /* Mask for address bits within a memory segment */ | ||
| 85 | |||
| 86 | #define SEGMENT_MASK (SEGSIZ - 1) | ||
| 87 | |||
| 88 | /* arch-tag: 543c3570-74ca-4099-aa47-db7c7b691c8e | ||
| 89 | (do not change this comment) */ | ||
diff --git a/src/m/sun3-68881.h b/src/m/sun3-68881.h deleted file mode 100644 index 33b9c2bd527..00000000000 --- a/src/m/sun3-68881.h +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | /* sun3-68881.h, for a Sun 3, using the 68881. */ | ||
| 2 | |||
| 3 | #include "sun3.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="note" | ||
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Sun with 68881 co-processor (-machine=sun3-68881; | ||
| 11 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 12 | |||
| 13 | Versions 1, 2, and 3 of the operating system are derived from | ||
| 14 | Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. | ||
| 15 | |||
| 16 | For SunOS release 4 on a Sun 3 with a 68881, use -machine=sun3-68881 | ||
| 17 | and -opsystem=sunos4. See the file share-lib/SUNBUG for how to | ||
| 18 | solve problems caused by bugs in the "export" version of SunOS 4. | ||
| 19 | NOTE-END */ | ||
| 20 | |||
| 21 | /* In case we are using floating point, work together with crt0.c. */ | ||
| 22 | |||
| 23 | #ifndef __GNUC__ | ||
| 24 | #define C_SWITCH_MACHINE -f68881 | ||
| 25 | #endif | ||
| 26 | |||
| 27 | #define sun_68881 | ||
| 28 | #define START_FILES crt0.o /usr/lib/Mcrt1.o | ||
| 29 | |||
| 30 | /* arch-tag: f8659e89-5f5e-4921-940c-814a5786b901 | ||
| 31 | (do not change this comment) */ | ||
diff --git a/src/m/sun3-fpa.h b/src/m/sun3-fpa.h deleted file mode 100644 index b78adaf7378..00000000000 --- a/src/m/sun3-fpa.h +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | /* sun3-fpa.h, for a Sun 3, using the Sun fpa. */ | ||
| 2 | |||
| 3 | #include "sun3.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="note" | ||
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Sun with FPA co-processor (-machine=sun3-fpa; | ||
| 11 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 12 | |||
| 13 | Versions 1, 2, and 3 of the operating system are derived from | ||
| 14 | Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. | ||
| 15 | |||
| 16 | For SunOS release 4 on a Sun 3 with an FPA, use -machine=sun3-fpa | ||
| 17 | and -opsystem=sunos4. See the file share-lib/SUNBUG for how to | ||
| 18 | solve problems caused by bugs in the "export" version of SunOS 4. | ||
| 19 | NOTE-END */ | ||
| 20 | |||
| 21 | /* In case we are using floating point, work together with crt0.c. */ | ||
| 22 | |||
| 23 | #ifndef __GNUC__ | ||
| 24 | #define C_SWITCH_MACHINE -ffpa | ||
| 25 | #endif | ||
| 26 | |||
| 27 | #define sun_fpa | ||
| 28 | #define START_FILES crt0.o /usr/lib/Wcrt1.o | ||
| 29 | |||
| 30 | /* arch-tag: db287fbb-966f-4a70-a3f4-a6768c09326b | ||
| 31 | (do not change this comment) */ | ||
diff --git a/src/m/sun3-soft.h b/src/m/sun3-soft.h deleted file mode 100644 index 32b2558c01b..00000000000 --- a/src/m/sun3-soft.h +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | /* sun3-soft.h, for a Sun 3, using the Sun with software floating point. */ | ||
| 2 | |||
| 3 | #include "sun3.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="note" | ||
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Sun with software floating point (-machine=sun3-soft; | ||
| 11 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 12 | |||
| 13 | Versions 1, 2, and 3 of the operating system are derived from | ||
| 14 | Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. | ||
| 15 | |||
| 16 | If you want to use software floating point on SunOS release 4 on a | ||
| 17 | Sun 3, use -machine=sun3-68881 and -opsystem=sunos4. See the file | ||
| 18 | share-lib/SUNBUG for how to solve problems caused by bugs in the | ||
| 19 | "export" version of SunOS 4. | ||
| 20 | NOTE-END */ | ||
| 21 | |||
| 22 | /* In case we are using floating point, work together with crt0.c. */ | ||
| 23 | |||
| 24 | #ifndef __GNUC__ | ||
| 25 | #define C_SWITCH_MACHINE -fsoft | ||
| 26 | #endif | ||
| 27 | |||
| 28 | #define sun_soft | ||
| 29 | #define START_FILES crt0.o /usr/lib/Fcrt1.o | ||
| 30 | |||
| 31 | /* arch-tag: 76e9d7e6-66a8-4c4f-b0a5-335d082e5720 | ||
| 32 | (do not change this comment) */ | ||
diff --git a/src/m/sun3.h b/src/m/sun3.h deleted file mode 100644 index b2713703416..00000000000 --- a/src/m/sun3.h +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | /* machine description file for Sun 68000's OPERATING SYSTEM version 3 | ||
| 2 | (for either 68000 or 68020 systems). */ | ||
| 3 | |||
| 4 | #include "sun2.h" | ||
| 5 | #undef sun2 | ||
| 6 | #ifndef sun3 | ||
| 7 | #define sun3 | ||
| 8 | #endif | ||
| 9 | |||
| 10 | /* The following line tells the configuration script what sort of | ||
| 11 | operating system this machine is likely to run. | ||
| 12 | USUAL-OPSYS="note" | ||
| 13 | |||
| 14 | NOTE-START | ||
| 15 | Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3; | ||
| 16 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 17 | |||
| 18 | Whether you should use sun1, sun2 or sun3 depends on the | ||
| 19 | VERSION OF THE OPERATING SYSTEM | ||
| 20 | you have. There are three machine types for different versions of | ||
| 21 | SunOS. All are derived from Berkeley 4.2, meaning that you should | ||
| 22 | use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will | ||
| 23 | need to use sun3 on Sun 2's running SunOS release 3. | ||
| 24 | |||
| 25 | For SunOS release 4 on a Sun 3, use -machine=sun3 and | ||
| 26 | -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve | ||
| 27 | problems caused by bugs in the "export" version of SunOS 4. | ||
| 28 | NOTE-END */ | ||
| 29 | |||
| 30 | /* Say that the text segment of a.out includes the header; | ||
| 31 | the header actually occupies the first few bytes of the text segment | ||
| 32 | and is counted in hdr.a_text. */ | ||
| 33 | |||
| 34 | #define A_TEXT_OFFSET(HDR) sizeof (HDR) | ||
| 35 | |||
| 36 | /* This is the offset of the executable's text, from the start of the file. */ | ||
| 37 | |||
| 38 | #define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) | ||
| 39 | |||
| 40 | /* In case we are using floating point, work together with crt0.c. */ | ||
| 41 | |||
| 42 | #ifndef __GNUC__ | ||
| 43 | #define C_SWITCH_MACHINE -fsoft | ||
| 44 | #endif | ||
| 45 | |||
| 46 | /* This line is needed if you are linking with X windows | ||
| 47 | and the library xlib was compiled to use the 68881. | ||
| 48 | For maximum cleanliness, don't edit this file; | ||
| 49 | instead, insert this line in config.h. */ | ||
| 50 | /* #define START_FILES crt0.o /usr/lib/Mcrt1.o */ | ||
| 51 | |||
| 52 | /* arch-tag: d0559a79-2285-4a78-ad68-9694264d0d8a | ||
| 53 | (do not change this comment) */ | ||
diff --git a/src/m/sun386.h b/src/m/sun386.h deleted file mode 100644 index ed98960c809..00000000000 --- a/src/m/sun386.h +++ /dev/null | |||
| @@ -1,74 +0,0 @@ | |||
| 1 | /* machine description file for Sun's 386-based RoadRunner. This file borrows heavily from | ||
| 2 | "sun2.h", but since that file is heavily cpu-specific, it was easier | ||
| 3 | not to include it. | ||
| 4 | |||
| 5 | Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, | ||
| 6 | 2006, 2007 Free Software Foundation, Inc. | ||
| 7 | |||
| 8 | This file is part of GNU Emacs. | ||
| 9 | |||
| 10 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 11 | it under the terms of the GNU General Public License as published by | ||
| 12 | the Free Software Foundation; either version 3, or (at your option) | ||
| 13 | any later version. | ||
| 14 | |||
| 15 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 18 | GNU General Public License for more details. | ||
| 19 | |||
| 20 | You should have received a copy of the GNU General Public License | ||
| 21 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 22 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 23 | Boston, MA 02110-1301, USA. */ | ||
| 24 | |||
| 25 | /* The following line tells the configuration script what sort of | ||
| 26 | operating system this machine is likely to run. | ||
| 27 | USUAL-OPSYS="note" | ||
| 28 | |||
| 29 | NOTE-START | ||
| 30 | Use s-sunos4-0.h for operating system version 4.0, and s-sunos4-1.h | ||
| 31 | for later versions. See the file share-lib/SUNBUG for how to solve | ||
| 32 | problems caused by bugs in the "export" version of SunOS 4. | ||
| 33 | NOTE-END */ | ||
| 34 | |||
| 35 | /* Say this machine is a bird */ | ||
| 36 | #ifndef roadrunner | ||
| 37 | #define roadrunner | ||
| 38 | #endif | ||
| 39 | |||
| 40 | /* Actual cpu-specific defs */ | ||
| 41 | #include "intel386.h" | ||
| 42 | |||
| 43 | /* Data type of load average, as read out of kmem. */ | ||
| 44 | |||
| 45 | #define LOAD_AVE_TYPE long | ||
| 46 | |||
| 47 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 48 | |||
| 49 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 50 | |||
| 51 | /* Underscores are not prepended to C symbols on this machine. */ | ||
| 52 | #undef LDAV_SYMBOL | ||
| 53 | #define LDAV_SYMBOL "avenrun" | ||
| 54 | |||
| 55 | /* Must use the system's termcap. It does special things. */ | ||
| 56 | |||
| 57 | #define LIBS_TERMCAP -ltermcap | ||
| 58 | |||
| 59 | /* Roadrunner uses 'COFF' format */ | ||
| 60 | #define COFF | ||
| 61 | |||
| 62 | #define C_SWITCH_MACHINE -Bstatic /* avoid dynamic linking */ | ||
| 63 | #define LD_SWITCH_MACHINE -n -Bstatic | ||
| 64 | /* Get rid of the -e __start that s-sunos4.h does. */ | ||
| 65 | #undef LD_SWITCH_SYSTEM | ||
| 66 | |||
| 67 | #ifdef USG | ||
| 68 | /* USG detects Solaris. j.w.hawtin@lut.ac.uk says Solaris 2.1 | ||
| 69 | on the 386 needs this. */ | ||
| 70 | #define LIBS_MACHINE -lkvm | ||
| 71 | #endif | ||
| 72 | |||
| 73 | /* arch-tag: 861af4b4-ce5f-475e-876e-ebff6436a1fe | ||
| 74 | (do not change this comment) */ | ||
diff --git a/src/m/symmetry.h b/src/m/symmetry.h deleted file mode 100644 index ea3d9493504..00000000000 --- a/src/m/symmetry.h +++ /dev/null | |||
| @@ -1,95 +0,0 @@ | |||
| 1 | /* machine description file for SEQUENT SYMMETRY machines | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* CHANGE: [Eric H. Herrin II; eric@ms.uky.edu - 15 Sept 1988] | ||
| 23 | * Modified the sequent.h file for the Sequent Symmetry machine. | ||
| 24 | * Biggest change was to align the sections in the a.out to 4K | ||
| 25 | * boundaries (this is the page size). | ||
| 26 | */ | ||
| 27 | |||
| 28 | |||
| 29 | /* NOTICE: this file works for DYNIX release 3.0.12 on Sequent Symmetry | ||
| 30 | * (Intel 80386) machines. Hasn't been tested on anything else. | ||
| 31 | */ | ||
| 32 | |||
| 33 | /* The following line tells the configuration script what sort of | ||
| 34 | operating system this machine is likely to run. | ||
| 35 | USUAL-OPSYS="bsd4-3" */ | ||
| 36 | |||
| 37 | #include "intel386.h" | ||
| 38 | |||
| 39 | /* Data type of load average, as read out of kmem. */ | ||
| 40 | |||
| 41 | #define LOAD_AVE_TYPE unsigned long | ||
| 42 | |||
| 43 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 44 | |||
| 45 | #define FSCALE 1000.0 | ||
| 46 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 47 | |||
| 48 | /* Name of file the to look in | ||
| 49 | for the kernel symbol table (for load average) */ | ||
| 50 | |||
| 51 | #undef KERNEL_FILE | ||
| 52 | #define KERNEL_FILE "/dynix" | ||
| 53 | |||
| 54 | /* Avoids a compiler bug */ | ||
| 55 | |||
| 56 | #define TAHOE_REGISTER_BUG | ||
| 57 | |||
| 58 | /* Say that the text segment of a.out includes the header; | ||
| 59 | the header actually occupies the first few bytes of the text segment | ||
| 60 | and is counted in hdr.a_text. Furthermore, the value written | ||
| 61 | in the a_text in the file must have N_ADDRADJ added to it. */ | ||
| 62 | |||
| 63 | #define A_TEXT_OFFSET(HDR) (sizeof (HDR) + N_ADDRADJ (HDR)) | ||
| 64 | |||
| 65 | /* This is the offset of the executable's text, from the start of the file. */ | ||
| 66 | |||
| 67 | #define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) | ||
| 68 | |||
| 69 | /* The file sections in the Symmetry a.out must be on 4K boundaries. | ||
| 70 | */ | ||
| 71 | #define SEGSIZ 4096 | ||
| 72 | #define SECTION_ALIGNMENT (SEGSIZ-1) | ||
| 73 | |||
| 74 | /* (short) negative-int doesn't sign-extend correctly */ | ||
| 75 | #define SHORT_CAST_BUG | ||
| 76 | |||
| 77 | /* Cause compilations to be done in parallel in ymakefile. */ | ||
| 78 | #define MAKE_PARALLEL & | ||
| 79 | |||
| 80 | /* Define how to search all pty names. | ||
| 81 | This is for Dynix 3.0; delete next 5 definitions for older systems. */ | ||
| 82 | |||
| 83 | #define PTY_MAJOR "pqrstuvwPQRSTUVW" | ||
| 84 | #define PTY_MINOR "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" | ||
| 85 | #define PTY_ITERATION \ | ||
| 86 | register int ma, mi; \ | ||
| 87 | for (ma = 0; ma < sizeof(PTY_MAJOR) - 1; ma++) \ | ||
| 88 | for (mi = 0; mi < sizeof(PTY_MINOR) - 1; mi++) | ||
| 89 | #define PTY_NAME_SPRINTF \ | ||
| 90 | sprintf (pty_name, "/dev/pty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]); | ||
| 91 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 92 | sprintf (pty_name, "/dev/tty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]); | ||
| 93 | |||
| 94 | /* arch-tag: 4169a89e-3764-4147-98df-1ba3bdd45a5b | ||
| 95 | (do not change this comment) */ | ||
diff --git a/src/m/tad68k.h b/src/m/tad68k.h deleted file mode 100644 index c8be8763fb5..00000000000 --- a/src/m/tad68k.h +++ /dev/null | |||
| @@ -1,115 +0,0 @@ | |||
| 1 | /* Machine-dependent configuration for GNU Emacs for Tadpole 68k machines | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-3" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | /* #define NO_ARG_ARRAY */ | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | /* #define WORD_MACHINE */ | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically */ | ||
| 44 | |||
| 45 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 46 | /* This is desirable for most machines. */ | ||
| 47 | |||
| 48 | #define NO_UNION_TYPE | ||
| 49 | |||
| 50 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 51 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 52 | are always unsigned. | ||
| 53 | |||
| 54 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 55 | |||
| 56 | /* #define EXPLICIT_SIGN_EXTEND */ | ||
| 57 | |||
| 58 | /* Data type of load average, as read out of kmem. */ | ||
| 59 | /* #define LOAD_AVE_TYPE long */ | ||
| 60 | |||
| 61 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 62 | |||
| 63 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ | ||
| 64 | |||
| 65 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 66 | Then the function dump-emacs will not be defined | ||
| 67 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 68 | /* #define CANNOT_DUMP */ | ||
| 69 | |||
| 70 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 71 | pure and impure space as loaded can vary, and even their | ||
| 72 | relative order cannot be relied on. | ||
| 73 | |||
| 74 | Otherwise Emacs assumes that text space precedes data space, | ||
| 75 | numerically. */ | ||
| 76 | |||
| 77 | /* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */ | ||
| 78 | |||
| 79 | /* SysV has alloca in the PW library */ | ||
| 80 | |||
| 81 | #define LIB_STANDARD -lPW -lc | ||
| 82 | |||
| 83 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 84 | to change the boundary between the text section and data section | ||
| 85 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 86 | code will not be sharable; but that's better than failing completely. */ | ||
| 87 | |||
| 88 | /* #define NO_REMAP */ | ||
| 89 | |||
| 90 | /* Use Terminfo, not Termcap. */ | ||
| 91 | |||
| 92 | #define TERMINFO | ||
| 93 | |||
| 94 | /* TPIX extras */ | ||
| 95 | |||
| 96 | #define TPIX /* used in various source files */ | ||
| 97 | #define BSTRING /* we do have the BSTRING functions */ | ||
| 98 | #define CLASH_DETECTION /* we want to know about clashes */ | ||
| 99 | #undef ADDR_CORRECT /* don't need this bug fix */ | ||
| 100 | #define fchmod /* we don't have fchmod() */ | ||
| 101 | #define SECTION_ALIGNMENT (2048-1) /* 2k boundaries required in unexec */ | ||
| 102 | #define SEGMENT_MASK (128*1024-1) /* 128k offsets required in unexec */ | ||
| 103 | #define C_DEBUG_SWITCH -O /* build with -O (TPIX has GCC 1.34) */ | ||
| 104 | |||
| 105 | #define BROKEN_TIOCGWINSZ /* Don't try to use TIOCGWINSZ. */ | ||
| 106 | |||
| 107 | /* omit next four lines if no TCP installed */ | ||
| 108 | |||
| 109 | #define select gnu_select /* avoid select() name clash */ | ||
| 110 | #define HAVE_PTYS /* we do have PTYs if we have TCP */ | ||
| 111 | #define HAVE_SOCKETS /* we do have sockets if we have TCP */ | ||
| 112 | #define LIBS_SYSTEM -lsocket /* get TCP networking functions */ | ||
| 113 | |||
| 114 | /* arch-tag: e0c09754-b0f2-48da-a8a5-aee3c94838f4 | ||
| 115 | (do not change this comment) */ | ||
diff --git a/src/m/tahoe.h b/src/m/tahoe.h deleted file mode 100644 index 9b9271577fc..00000000000 --- a/src/m/tahoe.h +++ /dev/null | |||
| @@ -1,72 +0,0 @@ | |||
| 1 | /* machine description file for tahoe. | ||
| 2 | Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="note" | ||
| 26 | |||
| 27 | NOTE-START | ||
| 28 | Use -opsystem=bsd4-2 or -opsystem=bsd4-3, depending on the version of | ||
| 29 | Berkeley you are running. | ||
| 30 | NOTE-END */ | ||
| 31 | |||
| 32 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 33 | is the most significant byte. */ | ||
| 34 | |||
| 35 | #define WORDS_BIG_ENDIAN | ||
| 36 | |||
| 37 | /* XINT must explicitly sign-extend */ | ||
| 38 | |||
| 39 | #define EXPLICIT_SIGN_EXTEND | ||
| 40 | |||
| 41 | /* Say this machine is a tahoe */ | ||
| 42 | |||
| 43 | #ifndef tahoe | ||
| 44 | #define tahoe | ||
| 45 | #endif /* not tahoe */ | ||
| 46 | |||
| 47 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 48 | |||
| 49 | #define NO_UNION_TYPE | ||
| 50 | |||
| 51 | /* crt0.c should use the vax-bsd style of entry, with no dummy args. */ | ||
| 52 | |||
| 53 | #define CRT0_DUMMIES | ||
| 54 | |||
| 55 | /* crt0.c should define a symbol `start' and do .globl with a dot. */ | ||
| 56 | |||
| 57 | #define DOT_GLOBAL_START | ||
| 58 | |||
| 59 | /* Data type of load average, as read out of kmem. */ | ||
| 60 | |||
| 61 | #define LOAD_AVE_TYPE double | ||
| 62 | |||
| 63 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 64 | |||
| 65 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 66 | |||
| 67 | /* This triggers some stuff to avoid a compiler bug */ | ||
| 68 | |||
| 69 | #define TAHOE_REGISTER_BUG | ||
| 70 | |||
| 71 | /* arch-tag: dd452693-80e1-413f-a164-0141eb68d831 | ||
| 72 | (do not change this comment) */ | ||
diff --git a/src/m/targon31.h b/src/m/targon31.h deleted file mode 100644 index 39e995b076d..00000000000 --- a/src/m/targon31.h +++ /dev/null | |||
| @@ -1,98 +0,0 @@ | |||
| 1 | /* targon31 machine description file | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | /* #define NO_ARG_ARRAY */ | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #define WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 45 | are the ones defined so far. */ | ||
| 46 | |||
| 47 | /* #define m68k is defined by the Compiler */ | ||
| 48 | /* #define m68000 */ | ||
| 49 | |||
| 50 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 51 | /* This is desirable for most machines. */ | ||
| 52 | |||
| 53 | #define NO_UNION_TYPE | ||
| 54 | |||
| 55 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 56 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 57 | are always unsigned. | ||
| 58 | |||
| 59 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 60 | |||
| 61 | #define EXPLICIT_SIGN_EXTEND | ||
| 62 | |||
| 63 | /* Data type of load average, as read out of kmem. */ | ||
| 64 | |||
| 65 | /* #define LOAD_AVE_TYPE double */ | ||
| 66 | |||
| 67 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 68 | |||
| 69 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) | ||
| 70 | |||
| 71 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 72 | Then the function dump-emacs will not be defined | ||
| 73 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 74 | |||
| 75 | /* #define CANNOT_DUMP */ | ||
| 76 | |||
| 77 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 78 | pure and impure space as loaded can vary, and even their | ||
| 79 | relative order cannot be relied on. | ||
| 80 | |||
| 81 | Otherwise Emacs assumes that text space precedes data space, | ||
| 82 | numerically. */ | ||
| 83 | |||
| 84 | /* #define VIRT_ADDR_VARIES */ | ||
| 85 | |||
| 86 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 87 | to change the boundary between the text section and data section | ||
| 88 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 89 | code will not be sharable; but that's better than failing completely. */ | ||
| 90 | |||
| 91 | /* #define NO_REMAP */ | ||
| 92 | /* Supposedly NO_REMAP is not needed with the following change. */ | ||
| 93 | #define SEGMENT_MASK 0xffff | ||
| 94 | |||
| 95 | #define SWITCH_ENUM_BUG 1 | ||
| 96 | |||
| 97 | /* arch-tag: f2438018-7d4e-4be5-b368-4bf342b7785b | ||
| 98 | (do not change this comment) */ | ||
diff --git a/src/m/tek4300.h b/src/m/tek4300.h deleted file mode 100644 index 6498238461d..00000000000 --- a/src/m/tek4300.h +++ /dev/null | |||
| @@ -1,105 +0,0 @@ | |||
| 1 | /* machine description file for tek4300. | ||
| 2 | Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="bsd4-3" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #undef NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #undef WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically. */ | ||
| 44 | |||
| 45 | #ifndef tek4300 | ||
| 46 | #define tek4300 | ||
| 47 | #endif | ||
| 48 | |||
| 49 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 50 | |||
| 51 | #define NO_UNION_TYPE | ||
| 52 | |||
| 53 | /* Data type of load average, as read out of kmem. */ | ||
| 54 | |||
| 55 | #define LOAD_AVE_TYPE long | ||
| 56 | |||
| 57 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 58 | |||
| 59 | #define LOAD_AVE_CVT(x) (x) | ||
| 60 | |||
| 61 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 62 | to change the boundary between the text section and data section | ||
| 63 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 64 | code will not be sharable; but that's better than failing completely. */ | ||
| 65 | |||
| 66 | #define NO_REMAP | ||
| 67 | |||
| 68 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, */ | ||
| 69 | |||
| 70 | #define _longjmp longjmp | ||
| 71 | #define _setjmp setjmp | ||
| 72 | |||
| 73 | /* The text segment always starts at a fixed address. | ||
| 74 | This way we don't need to have a label _start defined. */ | ||
| 75 | |||
| 76 | #define TEXT_START 0 | ||
| 77 | |||
| 78 | /* The Tektronix exec struct for ZMAGIC files is struct zexec */ | ||
| 79 | |||
| 80 | #define EXEC_HDR_TYPE struct zexec | ||
| 81 | |||
| 82 | /* The entry-point label (start of text segment) is `start', not `__start'. */ | ||
| 83 | |||
| 84 | #define DEFAULT_ENTRY_ADDRESS start | ||
| 85 | |||
| 86 | /* Use the system's malloc calls, gmalloc.c won't work for us. */ | ||
| 87 | |||
| 88 | #define SYSTEM_MALLOC | ||
| 89 | |||
| 90 | /* In building xmakefile, "cc -E -g" forcibly reads from stdin. Since we | ||
| 91 | can't remove the CFLAGS from that "cc -E" invocation, make sure we | ||
| 92 | never pass -g. If you want to debug, remove the following, and fix | ||
| 93 | src/Makefile.in so it doesn't pass ${CFLAGS} when creating xmakefile. */ | ||
| 94 | |||
| 95 | #define C_DEBUG_SWITCH | ||
| 96 | |||
| 97 | /* eirik@elf.ithaca.ny.us said this was needed in 19.22. */ | ||
| 98 | #define NO_MODE_T | ||
| 99 | |||
| 100 | /* Process groups work in the traditional BSD manner. */ | ||
| 101 | |||
| 102 | #define BSD_PGRPS | ||
| 103 | |||
| 104 | /* arch-tag: afa06e53-094c-4a19-9219-155f8ba4bbcc | ||
| 105 | (do not change this comment) */ | ||
diff --git a/src/m/tekxd88.h b/src/m/tekxd88.h deleted file mode 100644 index f351229292f..00000000000 --- a/src/m/tekxd88.h +++ /dev/null | |||
| @@ -1,117 +0,0 @@ | |||
| 1 | /* Configuration file for the Tektronix XD88 running UTekV 3.2e, | ||
| 2 | contributed by Kaveh Ghazi (ghazi@caip.rutgers.edu) 1/15/93. | ||
| 3 | You probably need to use gnu make (version 3.63 or higher.) | ||
| 4 | Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, | ||
| 5 | 2006, 2007 Free Software Foundation, Inc. | ||
| 6 | |||
| 7 | This file is part of GNU Emacs. | ||
| 8 | |||
| 9 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 10 | it under the terms of the GNU General Public License as published by | ||
| 11 | the Free Software Foundation; either version 3, or (at your option) | ||
| 12 | any later version. | ||
| 13 | |||
| 14 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | GNU General Public License for more details. | ||
| 18 | |||
| 19 | You should have received a copy of the GNU General Public License | ||
| 20 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 21 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 22 | Boston, MA 02110-1301, USA. */ | ||
| 23 | |||
| 24 | |||
| 25 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 26 | is the most significant byte. */ | ||
| 27 | |||
| 28 | #define WORDS_BIG_ENDIAN | ||
| 29 | |||
| 30 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 31 | * group of arguments and treat it as an array of the arguments. */ | ||
| 32 | #define NO_ARG_ARRAY | ||
| 33 | |||
| 34 | /* Define WORD_MACHINE if addresses and such have | ||
| 35 | * to be corrected before they can be used as byte counts. */ | ||
| 36 | /* #define WORD_MACHINE */ | ||
| 37 | |||
| 38 | /* Now define a symbol for the cpu type, if your compiler | ||
| 39 | does not define it automatically: | ||
| 40 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 41 | orion, tahoe, APOLLO and many others */ | ||
| 42 | #ifndef m88000 /* Some 88k C compilers already define this */ | ||
| 43 | #define m88000 | ||
| 44 | #endif | ||
| 45 | |||
| 46 | /* Define how to take a char and sign-extend into an int. | ||
| 47 | On machines where char is signed, this is a no-op. */ | ||
| 48 | #define SIGN_EXTEND_CHAR(c) (c) | ||
| 49 | |||
| 50 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 51 | /* This is desirable for most machines. */ | ||
| 52 | #define NO_UNION_TYPE | ||
| 53 | |||
| 54 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 55 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 56 | are always unsigned. | ||
| 57 | |||
| 58 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 59 | /* #define EXPLICIT_SIGN_EXTEND */ | ||
| 60 | |||
| 61 | /* Data type of load average, as read out of kmem. */ | ||
| 62 | /* #define LOAD_AVE_TYPE double */ /* No load average on XD88. */ | ||
| 63 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 64 | /* #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) */ | ||
| 65 | |||
| 66 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 67 | Then the function dump-emacs will not be defined | ||
| 68 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 69 | /*#define CANNOT_DUMP*/ | ||
| 70 | |||
| 71 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 72 | pure and impure space as loaded can vary, and even their | ||
| 73 | relative order cannot be relied on. | ||
| 74 | |||
| 75 | Otherwise Emacs assumes that text space precedes data space, | ||
| 76 | numerically. */ | ||
| 77 | /* #define VIRT_ADDR_VARIES */ | ||
| 78 | |||
| 79 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 80 | to change the boundary between the text section and data section | ||
| 81 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 82 | code will not be sharable; but that's better than failing completely. */ | ||
| 83 | #define NO_REMAP | ||
| 84 | |||
| 85 | #ifndef __GNUC__ | ||
| 86 | # define C_OPTIMIZE_SWITCH -O | ||
| 87 | #endif /* __GNUC__ */ | ||
| 88 | |||
| 89 | #undef NOMULTIPLEJOBS /* we have job control */ | ||
| 90 | #define HAVE_SOCKETS /* sockets are available */ | ||
| 91 | #define BROKEN_FIONREAD /* is this needed ? */ | ||
| 92 | #define BSTRING /* its in libc but not declared in any header file. */ | ||
| 93 | #undef sigsetmask /* XD88 has sigsetmask() */ | ||
| 94 | |||
| 95 | #undef LIB_X11_LIB /* Don't use shared libraries defined in usg5-3.h */ | ||
| 96 | #undef LIBX11_SYSTEM | ||
| 97 | |||
| 98 | #define HAVE_TERMIOS /* We have termios. */ | ||
| 99 | #undef HAVE_TERMIO /* Make sure termios ifdef code is used, not termio. */ | ||
| 100 | #define NO_TERMIO /* Don't include both termios.h and termio.h */ | ||
| 101 | #define HAVE_PTYS /* XD88 SysV has PTYs. */ | ||
| 102 | #define SYSV_PTYS /* Requires <termios.h> */ | ||
| 103 | |||
| 104 | #ifdef ghs /* Stands for "Green Hills Software", defined only in /bin/cc */ | ||
| 105 | /* -X18 means do not allocate programmer-defined local variables to a | ||
| 106 | register unless they are declared register. (Copied from perl-4.036 | ||
| 107 | Green Hills C hints file. Might be needed for setjmp, I don't know.) */ | ||
| 108 | # define C_SWITCH_MACHINE -X18 | ||
| 109 | /* We need /lib/default.ld so that /bin/ld can read its link directives. */ | ||
| 110 | # define LD_SWITCH_SYSTEM /lib/default.ld | ||
| 111 | #endif /* ghs */ | ||
| 112 | |||
| 113 | /* We need this to get dumping to work */ | ||
| 114 | #define KEEP_OLD_TEXT_SCNPTR | ||
| 115 | |||
| 116 | /* arch-tag: fd3cebc3-2aed-4f8c-be9b-f37331c6e0ff | ||
| 117 | (do not change this comment) */ | ||
diff --git a/src/m/tower32.h b/src/m/tower32.h deleted file mode 100644 index 01daada2423..00000000000 --- a/src/m/tower32.h +++ /dev/null | |||
| @@ -1,115 +0,0 @@ | |||
| 1 | /* machine description file for the NCR Tower 32 running System V.2. | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | /* #define NO_ARG_ARRAY */ | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | /* #define WORD_MACHINE */ | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 45 | are the ones defined so far. */ | ||
| 46 | #define m68000 | ||
| 47 | |||
| 48 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 49 | /* This is desirable for most machines. */ | ||
| 50 | |||
| 51 | #define NO_UNION_TYPE | ||
| 52 | |||
| 53 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 54 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 55 | are always unsigned. | ||
| 56 | |||
| 57 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 58 | |||
| 59 | #define EXPLICIT_SIGN_EXTEND | ||
| 60 | |||
| 61 | /* Data type of load average, as read out of kmem. */ | ||
| 62 | |||
| 63 | /* #define LOAD_AVE_TYPE long */ | ||
| 64 | |||
| 65 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 66 | |||
| 67 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ | ||
| 68 | |||
| 69 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 70 | Then the function dump-emacs will not be defined | ||
| 71 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 72 | |||
| 73 | /* #define CANNOT_DUMP */ | ||
| 74 | |||
| 75 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 76 | pure and impure space as loaded can vary, and even their | ||
| 77 | relative order cannot be relied on. | ||
| 78 | |||
| 79 | Otherwise Emacs assumes that text space precedes data space, | ||
| 80 | numerically. */ | ||
| 81 | |||
| 82 | /* #define VIRT_ADDR_VARIES */ | ||
| 83 | |||
| 84 | /* Change some things to avoid bugs in compiler */ | ||
| 85 | |||
| 86 | #define SWITCH_ENUM_BUG 1 | ||
| 87 | |||
| 88 | /* The standard C library is -lcieee, not -lc. | ||
| 89 | Also use the PW library, which contains alloca. */ | ||
| 90 | |||
| 91 | #define LIB_STANDARD -lPW -lcieee | ||
| 92 | |||
| 93 | /* crt0.c should use the vax-bsd style of entry. Beware that if you have | ||
| 94 | OS release 2.00.00 or later, *and* change src/ymakefile so that CFLAGS | ||
| 95 | includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, you need to | ||
| 96 | uncomment CRT0_DUMMIES and C_OPTIMIZE_SWITCH below. */ | ||
| 97 | |||
| 98 | /* With the optimizer OFF */ | ||
| 99 | |||
| 100 | #define CRT0_DUMMIES zero, bogus_fp, | ||
| 101 | |||
| 102 | /* With the optimizer ON */ | ||
| 103 | |||
| 104 | /* #define CRT0_DUMMIES */ | ||
| 105 | /* #define C_OPTIMIZE_SWITCH -O2 */ | ||
| 106 | |||
| 107 | /* emacs's magic number isn't temacs's; | ||
| 108 | temacs is writable text (the default!). */ | ||
| 109 | |||
| 110 | #include <asld.h> | ||
| 111 | #define EXEC_MAGIC AOUT1MAGIC | ||
| 112 | #define EXEC_PAGESIZE DATACLICK | ||
| 113 | |||
| 114 | /* arch-tag: a08e7dea-d48e-44cc-b60d-c7f2e5187ff5 | ||
| 115 | (do not change this comment) */ | ||
diff --git a/src/m/tower32v3.h b/src/m/tower32v3.h deleted file mode 100644 index ff209edab41..00000000000 --- a/src/m/tower32v3.h +++ /dev/null | |||
| @@ -1,113 +0,0 @@ | |||
| 1 | /* machine description file for the NCR Tower 32 running System V.3. | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | /* The following line tells the configuration script what sort of | ||
| 25 | operating system this machine is likely to run. | ||
| 26 | USUAL-OPSYS="usg5-3" */ | ||
| 27 | |||
| 28 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 29 | is the most significant byte. */ | ||
| 30 | |||
| 31 | #define WORDS_BIG_ENDIAN | ||
| 32 | |||
| 33 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 34 | * group of arguments and treat it as an array of the arguments. */ | ||
| 35 | |||
| 36 | /* #define NO_ARG_ARRAY */ | ||
| 37 | |||
| 38 | /* Define WORD_MACHINE if addresses and such have | ||
| 39 | * to be corrected before they can be used as byte counts. */ | ||
| 40 | |||
| 41 | /* #define WORD_MACHINE */ | ||
| 42 | |||
| 43 | /* Now define a symbol for the cpu type, if your compiler | ||
| 44 | does not define it automatically: | ||
| 45 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 46 | are the ones defined so far. */ | ||
| 47 | #define m68000 | ||
| 48 | |||
| 49 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 50 | /* This is desirable for most machines. */ | ||
| 51 | |||
| 52 | #define NO_UNION_TYPE | ||
| 53 | |||
| 54 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 55 | the bit field into an int. In other words, if bit fields | ||
| 56 | are always unsigned. | ||
| 57 | |||
| 58 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 59 | |||
| 60 | #define EXPLICIT_SIGN_EXTEND | ||
| 61 | |||
| 62 | /* Data type of load average, as read out of kmem. */ | ||
| 63 | |||
| 64 | /* #define LOAD_AVE_TYPE long */ | ||
| 65 | |||
| 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 67 | |||
| 68 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ | ||
| 69 | |||
| 70 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 71 | Then the function dump-emacs will not be defined | ||
| 72 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 73 | |||
| 74 | /* #define CANNOT_DUMP */ | ||
| 75 | |||
| 76 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 77 | pure and impure space as loaded can vary, and even their | ||
| 78 | relative order cannot be relied on. | ||
| 79 | |||
| 80 | Otherwise Emacs assumes that text space precedes data space, | ||
| 81 | numerically. */ | ||
| 82 | |||
| 83 | /* #define VIRT_ADDR_VARIES */ | ||
| 84 | |||
| 85 | #ifdef __GNUC__ | ||
| 86 | #define C_OPTIMIZE_SWITCH -O -fstrength-reduce -fomit-frame-pointer | ||
| 87 | #define LIB_STANDARD -lc /lib/crtn.o | ||
| 88 | #else | ||
| 89 | /* This section is correct if you do *not* change src/ymakefile so that | ||
| 90 | CFLAGS includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH. */ | ||
| 91 | #define C_DEBUG_SWITCH -g -O0 | ||
| 92 | #define LIB_STANDARD -lc -lPW /lib/crtn.o | ||
| 93 | /* This section is correct if you do enable C_OPTIMIZE_SWITCH. */ | ||
| 94 | /* #define C_OPTIMIZE_SWITCH -O2 */ | ||
| 95 | /* #define LIB_STANDARD -lc /lib/crtn.o */ | ||
| 96 | #endif | ||
| 97 | |||
| 98 | /* The OS maps the data section far away from the text section. */ | ||
| 99 | #define NO_REMAP | ||
| 100 | #define TEXT_START 0 | ||
| 101 | #undef static | ||
| 102 | #define START_FILES pre-crt0.o /lib/crt1.o | ||
| 103 | |||
| 104 | /* The OS has an implementation of symlinks that is semantically different | ||
| 105 | from BSD, but for some silly reason it partly has the same syntax. */ | ||
| 106 | #undef S_IFLNK | ||
| 107 | |||
| 108 | /* The OS needs stream.h+ptem.h included in sysdep.c. */ | ||
| 109 | #define NO_SIOCTL_H | ||
| 110 | #define NEED_PTEM_H | ||
| 111 | |||
| 112 | /* arch-tag: 3dff1355-7cb6-49e3-8834-85a369e4ea8f | ||
| 113 | (do not change this comment) */ | ||
diff --git a/src/m/ustation.h b/src/m/ustation.h deleted file mode 100644 index 0ac833c28da..00000000000 --- a/src/m/ustation.h +++ /dev/null | |||
| @@ -1,132 +0,0 @@ | |||
| 1 | /* machine description file for U-station (Nihon Unisys, SS5E; Sumitomo Denkoh, U-Station E30). | ||
| 2 | Copyright (C) 1986, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-3" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #undef NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #undef WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO | ||
| 45 | are the ones defined so far. */ | ||
| 46 | /* Masscomp predefines mc68000. */ | ||
| 47 | |||
| 48 | #define m68000 mc68000 | ||
| 49 | |||
| 50 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 51 | /* This is desirable for most machines. */ | ||
| 52 | |||
| 53 | #define NO_UNION_TYPE | ||
| 54 | |||
| 55 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 56 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 57 | are always unsigned. | ||
| 58 | |||
| 59 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 60 | |||
| 61 | #undef EXPLICIT_SIGN_EXTEND | ||
| 62 | |||
| 63 | /* Data type of load average, as read out of kmem. */ | ||
| 64 | |||
| 65 | #define LOAD_AVE_TYPE double | ||
| 66 | |||
| 67 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 68 | |||
| 69 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) | ||
| 70 | |||
| 71 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 72 | Then the function dump-emacs will not be defined | ||
| 73 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 74 | |||
| 75 | #undef CANNOT_DUMP | ||
| 76 | |||
| 77 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 78 | pure and impure space as loaded can vary, and even their | ||
| 79 | relative order cannot be relied on. | ||
| 80 | |||
| 81 | Otherwise Emacs assumes that data space precedes text space, | ||
| 82 | numerically. */ | ||
| 83 | |||
| 84 | #undef VIRT_ADDR_VARIES | ||
| 85 | |||
| 86 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 87 | to change the boundary between the text section and data section | ||
| 88 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 89 | code will not be sharable; but that's better than failing completely. */ | ||
| 90 | |||
| 91 | #undef NO_REMAP | ||
| 92 | |||
| 93 | /* Name of file the to look in | ||
| 94 | for the kernel symbol table (for load average) */ | ||
| 95 | |||
| 96 | #define KERNEL_FILE "/unix" | ||
| 97 | |||
| 98 | /* This triggers some stuff to avoid a compiler bug */ | ||
| 99 | |||
| 100 | #define MASSC_REGISTER_BUG | ||
| 101 | |||
| 102 | /* Prevent -lg from being used for debugging. Not implemented? */ | ||
| 103 | |||
| 104 | #define LIBS_DEBUG | ||
| 105 | |||
| 106 | /* | ||
| 107 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 108 | * for terminal control. | ||
| 109 | */ | ||
| 110 | |||
| 111 | #define HAVE_TERMIO | ||
| 112 | |||
| 113 | /* -lnet is not standard library */ | ||
| 114 | |||
| 115 | #undef LIBS_SYSTEM | ||
| 116 | |||
| 117 | /* Compiler's bug */ | ||
| 118 | |||
| 119 | #define SWITCH_ENUM_BUG | ||
| 120 | |||
| 121 | /* Termcap is available */ | ||
| 122 | |||
| 123 | #define LIBS_TERMCAP -ltermcap | ||
| 124 | |||
| 125 | #define EXEC_PAGESIZE 1024 | ||
| 126 | #define PURESIZE 130000 | ||
| 127 | |||
| 128 | #define BROKEN_SIGIO | ||
| 129 | #define BROKEN_SIGTSTP | ||
| 130 | |||
| 131 | /* arch-tag: 797f1d3e-3077-4eee-a81b-03fcf3a988fe | ||
| 132 | (do not change this comment) */ | ||
diff --git a/src/m/wicat.h b/src/m/wicat.h deleted file mode 100644 index 3ac7b530739..00000000000 --- a/src/m/wicat.h +++ /dev/null | |||
| @@ -1,137 +0,0 @@ | |||
| 1 | /* machine description file for WICAT machines. | ||
| 2 | Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="usg5-2" */ | ||
| 26 | |||
| 27 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 28 | is the most significant byte. */ | ||
| 29 | |||
| 30 | #define WORDS_BIG_ENDIAN | ||
| 31 | |||
| 32 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 33 | * group of arguments and treat it as an array of the arguments. */ | ||
| 34 | |||
| 35 | #undef NO_ARG_ARRAY | ||
| 36 | |||
| 37 | /* Define WORD_MACHINE if addresses and such have | ||
| 38 | * to be corrected before they can be used as byte counts. */ | ||
| 39 | |||
| 40 | #undef WORD_MACHINE | ||
| 41 | |||
| 42 | /* Now define a symbol for the cpu type, if your compiler | ||
| 43 | does not define it automatically: | ||
| 44 | vax, m68000, ns16000 are the ones defined so far. */ | ||
| 45 | |||
| 46 | #ifndef m68000 | ||
| 47 | #define m68000 | ||
| 48 | #endif | ||
| 49 | |||
| 50 | /* This flag is used only in alloca.s. */ | ||
| 51 | #define WICAT | ||
| 52 | |||
| 53 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 54 | |||
| 55 | #define NO_UNION_TYPE | ||
| 56 | |||
| 57 | /* XINT must explicitly sign-extend */ | ||
| 58 | |||
| 59 | #define EXPLICIT_SIGN_EXTEND | ||
| 60 | |||
| 61 | /* Data type of load average, as read out of kmem. */ | ||
| 62 | |||
| 63 | #undef LOAD_AVE_TYPE | ||
| 64 | |||
| 65 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 66 | |||
| 67 | #undef LOAD_AVE_CVT | ||
| 68 | |||
| 69 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 70 | Then the function dump-emacs will not be defined | ||
| 71 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 72 | |||
| 73 | #undef CANNOT_DUMP | ||
| 74 | |||
| 75 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 76 | pure and impure space as loaded can vary, and even their | ||
| 77 | relative order cannot be relied on. | ||
| 78 | |||
| 79 | Otherwise Emacs assumes that text space precedes data space, | ||
| 80 | numerically. */ | ||
| 81 | |||
| 82 | #undef VIRT_ADDR_VARIES | ||
| 83 | |||
| 84 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 85 | to change the boundary between the text section and data section | ||
| 86 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 87 | code will not be sharable; but that's better than failing completely. */ | ||
| 88 | |||
| 89 | #undef NO_REMAP | ||
| 90 | |||
| 91 | /* For WICAT, define TAHOE_REGISTER_BUG if you have a pre-4.2 C compiler */ | ||
| 92 | |||
| 93 | #define TAHOE_REGISTER_BUG | ||
| 94 | |||
| 95 | /* pagesize definition */ | ||
| 96 | |||
| 97 | #define EXEC_PAGESIZE 0x1000 | ||
| 98 | |||
| 99 | /* Delete this for WICAT sys V releases before 2.0. */ | ||
| 100 | |||
| 101 | #define LIB_STANDARD -lc-nofp | ||
| 102 | |||
| 103 | /* Special magic number */ | ||
| 104 | |||
| 105 | #define EXEC_MAGIC MC68ROMAGIC | ||
| 106 | |||
| 107 | /* Special switches to give to ld. */ | ||
| 108 | |||
| 109 | #define LD_SWITCH_MACHINE -e __start -N | ||
| 110 | |||
| 111 | /* Sigh...cannot define this for WICAT cuz 0 length memcpy blows chunks */ | ||
| 112 | |||
| 113 | #undef BSTRING | ||
| 114 | |||
| 115 | /* | ||
| 116 | * Define optimflags if you want to optimize. | ||
| 117 | * - Set to null string for pre-4.2 C compiler | ||
| 118 | * - Set to "-O -Wopt,-O-f" for 4.2 | ||
| 119 | */ | ||
| 120 | |||
| 121 | #define C_OPTIMIZE_SWITCH /* -O -Wopt,-O-f */ | ||
| 122 | |||
| 123 | /* For WICAT version supporting PTYs and select (currently internal only) */ | ||
| 124 | |||
| 125 | #ifdef HAVE_PTYS | ||
| 126 | #undef FIRST_PTY_LETTER | ||
| 127 | #define FIRST_PTY_LETTER 'q' | ||
| 128 | #endif | ||
| 129 | |||
| 130 | /* there is a select() in libcurses.a that causes a conflict so use termlib */ | ||
| 131 | #ifdef HAVE_SELECT | ||
| 132 | #undef TERMINFO | ||
| 133 | #define LIBS_TERMCAP select.o -ltermlib | ||
| 134 | #endif | ||
| 135 | |||
| 136 | /* arch-tag: b181c512-0275-4d25-9bbc-be0c8ca7bcad | ||
| 137 | (do not change this comment) */ | ||
diff --git a/src/m/xps100.h b/src/m/xps100.h deleted file mode 100644 index 3b378319ceb..00000000000 --- a/src/m/xps100.h +++ /dev/null | |||
| @@ -1,98 +0,0 @@ | |||
| 1 | /* xps100.h for the Honeywell XPS100 running UNIX System V.2 | ||
| 2 | Mark J. Hewitt (mjh@uk.co.kernel) | ||
| 3 | |||
| 4 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 5 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 6 | |||
| 7 | This file is part of GNU Emacs. | ||
| 8 | |||
| 9 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 10 | it under the terms of the GNU General Public License as published by | ||
| 11 | the Free Software Foundation; either version 3, or (at your option) | ||
| 12 | any later version. | ||
| 13 | |||
| 14 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | GNU General Public License for more details. | ||
| 18 | |||
| 19 | You should have received a copy of the GNU General Public License | ||
| 20 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 21 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 22 | Boston, MA 02110-1301, USA. */ | ||
| 23 | |||
| 24 | |||
| 25 | /* The following line tells the configuration script what sort of | ||
| 26 | operating system this machine is likely to run. | ||
| 27 | USUAL-OPSYS="usg5-2" */ | ||
| 28 | |||
| 29 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word | ||
| 30 | is the most significant byte. */ | ||
| 31 | |||
| 32 | #define WORDS_BIG_ENDIAN | ||
| 33 | |||
| 34 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a | ||
| 35 | * group of arguments and treat it as an array of the arguments. */ | ||
| 36 | |||
| 37 | /* #define NO_ARG_ARRAY */ | ||
| 38 | |||
| 39 | /* Define WORD_MACHINE if addresses and such have | ||
| 40 | * to be corrected before they can be used as byte counts. */ | ||
| 41 | |||
| 42 | /* #define WORD_MACHINE */ | ||
| 43 | |||
| 44 | /* Now define a symbol for the cpu type, if your compiler | ||
| 45 | does not define it automatically: | ||
| 46 | Ones defined so far include vax, m68000, ns16000, pyramid, | ||
| 47 | orion, tahoe, APOLLO and many others */ | ||
| 48 | |||
| 49 | /* Use type int rather than a union, to represent Lisp_Object */ | ||
| 50 | /* This is desirable for most machines. */ | ||
| 51 | |||
| 52 | #define NO_UNION_TYPE | ||
| 53 | |||
| 54 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 55 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 56 | are always unsigned. | ||
| 57 | |||
| 58 | If you use NO_UNION_TYPE, this flag does not matter. */ | ||
| 59 | |||
| 60 | #define EXPLICIT_SIGN_EXTEND | ||
| 61 | |||
| 62 | /* Data type of load average, as read out of kmem. */ | ||
| 63 | |||
| 64 | /* #define LOAD_AVE_TYPE long */ | ||
| 65 | |||
| 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 67 | |||
| 68 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ | ||
| 69 | |||
| 70 | /* Define CANNOT_DUMP on machines where unexec does not work. | ||
| 71 | Then the function dump-emacs will not be defined | ||
| 72 | and temacs will do (load "loadup") automatically unless told otherwise. */ | ||
| 73 | |||
| 74 | /* #define CANNOT_DUMP */ | ||
| 75 | |||
| 76 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 77 | pure and impure space as loaded can vary, and even their | ||
| 78 | relative order cannot be relied on. | ||
| 79 | |||
| 80 | Otherwise Emacs assumes that text space precedes data space, | ||
| 81 | numerically. */ | ||
| 82 | |||
| 83 | /* #define VIRT_ADDR_VARIES */ | ||
| 84 | |||
| 85 | /* Define NO_REMAP if memory segmentation makes it not work well | ||
| 86 | to change the boundary between the text section and data section | ||
| 87 | when Emacs is dumped. If you define this, the preloaded Lisp | ||
| 88 | code will not be sharable; but that's better than failing completely. */ | ||
| 89 | |||
| 90 | #define NO_REMAP | ||
| 91 | #define TERMINFO | ||
| 92 | #define SWITCH_ENUM_BUG | ||
| 93 | #define LIB_STANDARD -lc | ||
| 94 | #define LD_SWITCH_MACHINE -X | ||
| 95 | #define SECTION_ALIGNMENT (0x3ff) | ||
| 96 | |||
| 97 | /* arch-tag: 42316eb5-74b2-4762-970a-e372c6a2783d | ||
| 98 | (do not change this comment) */ | ||
diff --git a/src/s/cxux.h b/src/s/cxux.h deleted file mode 100644 index d5abebf1ae1..00000000000 --- a/src/s/cxux.h +++ /dev/null | |||
| @@ -1,236 +0,0 @@ | |||
| 1 | /* Header file for Harris CXUX. | ||
| 2 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* | ||
| 24 | * Define symbols to identify the version of Unix this is. | ||
| 25 | * Define all the symbols that apply correctly. | ||
| 26 | */ | ||
| 27 | |||
| 28 | /* #define UNIPLUS */ | ||
| 29 | #define USG5 | ||
| 30 | #define USG | ||
| 31 | /* #define HPUX */ | ||
| 32 | /* #define UMAX */ | ||
| 33 | /* #define BSD4_1 */ | ||
| 34 | /* #define BSD4_2 */ | ||
| 35 | /* #define BSD4_3 */ | ||
| 36 | /* #define BSD_SYSTEM */ | ||
| 37 | /* #define VMS */ | ||
| 38 | |||
| 39 | #ifndef _CX_UX | ||
| 40 | #define _CX_UX 1 | ||
| 41 | #endif | ||
| 42 | |||
| 43 | /* Define this symbol if you are running CX/UX 7.0 or later (7.0 introduced | ||
| 44 | * support for ELF files, and while we still build emacs in COFF format, the | ||
| 45 | * way it is linked is different for 7.0). | ||
| 46 | */ | ||
| 47 | /* #define USING_CX_UX_7 */ | ||
| 48 | |||
| 49 | #ifdef USING_CX_UX_7 | ||
| 50 | #define LINKER /usr/sde/coff/usr/bin/ld | ||
| 51 | #define LD_SWITCH_SYSTEM -L/usr/sde/coff/usr/lib -zzero_word | ||
| 52 | #define START_FILES pre-crt0.o /usr/sde/coff/usr/lib/crt0.o /usr/sde/coff/usr/lib/m88100.o | ||
| 53 | #else /* !USING_CX_UX_7 */ | ||
| 54 | #ifdef _M88K | ||
| 55 | #define START_FILES pre-crt0.o /lib/crt0.o | ||
| 56 | #else | ||
| 57 | #define START_FILES cxux-crt0.o /lib/crt0.o | ||
| 58 | #endif | ||
| 59 | #endif /* USING_CX_UX_7 */ | ||
| 60 | |||
| 61 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 62 | It sets the Lisp variable system-type. */ | ||
| 63 | |||
| 64 | #define SYSTEM_TYPE "usg-unix-v" | ||
| 65 | |||
| 66 | #define C_SWITCH_SYSTEM -Xa | ||
| 67 | |||
| 68 | #define POSIX_SIGNALS | ||
| 69 | |||
| 70 | /* With POSIX signals, also need to use sigaction rather than signal to | ||
| 71 | * setup signal handlers | ||
| 72 | */ | ||
| 73 | #define signal sys_signal | ||
| 74 | |||
| 75 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 76 | does not have "job control" (the ability to stop a program, | ||
| 77 | run some other program, then continue the first one). */ | ||
| 78 | |||
| 79 | /* #define NOMULTIPLEJOBS */ | ||
| 80 | |||
| 81 | /* Emacs can read input using SIGIO and buffering characters itself, | ||
| 82 | or using CBREAK mode and making C-g cause SIGINT. | ||
| 83 | The choice is controlled by the variable interrupt_input. | ||
| 84 | |||
| 85 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | ||
| 86 | |||
| 87 | Emacs uses the presence or absence of the SIGIO macro to indicate | ||
| 88 | whether or not signal-driven I/O is possible. It uses | ||
| 89 | INTERRUPT_INPUT to decide whether to use it by default. | ||
| 90 | |||
| 91 | SIGIO can be used only on systems that implement it (4.2 and 4.3). | ||
| 92 | CBREAK mode has two disadvantages | ||
| 93 | 1) At least in 4.2, it is impossible to handle the Meta key properly. | ||
| 94 | I hear that in system V this problem does not exist. | ||
| 95 | 2) Control-G causes output to be discarded. | ||
| 96 | I do not know whether this can be fixed in system V. | ||
| 97 | |||
| 98 | Another method of doing input is planned but not implemented. | ||
| 99 | It would have Emacs fork off a separate process | ||
| 100 | to read the input and send it to the true Emacs process | ||
| 101 | through a pipe. */ | ||
| 102 | |||
| 103 | #define INTERRUPT_INPUT | ||
| 104 | /* #define BROKEN_FIONREAD */ | ||
| 105 | |||
| 106 | /* Letter to use in finding device name of first pty, | ||
| 107 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 108 | |||
| 109 | #define FIRST_PTY_LETTER 'A' | ||
| 110 | #define PTY_ITERATION for (c = 'A'; c <= 'P'; c++) for (i = 0; i < 16; i++) | ||
| 111 | |||
| 112 | /* | ||
| 113 | * Define HAVE_TERMIOS if the system provides POSIX-style | ||
| 114 | * functions and macros for terminal control. | ||
| 115 | * | ||
| 116 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 117 | * for terminal control. | ||
| 118 | * | ||
| 119 | * Do not define both. HAVE_TERMIOS is preferred, if it is | ||
| 120 | * supported on your system. | ||
| 121 | */ | ||
| 122 | |||
| 123 | #define HAVE_TERMIOS | ||
| 124 | /* #define HAVE_TERMIO */ | ||
| 125 | #define NO_TERMIO | ||
| 126 | |||
| 127 | /* | ||
| 128 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 129 | */ | ||
| 130 | |||
| 131 | #define HAVE_PTYS | ||
| 132 | |||
| 133 | /* | ||
| 134 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 135 | * The 4.2 opendir, etc., library functions. | ||
| 136 | */ | ||
| 137 | |||
| 138 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 139 | |||
| 140 | #define SYSV_SYSTEM_DIR | ||
| 141 | |||
| 142 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 143 | |||
| 144 | #define BSTRING | ||
| 145 | |||
| 146 | /* subprocesses should be defined if you want to | ||
| 147 | have code for asynchronous subprocesses | ||
| 148 | (as used in M-x compile and M-x shell). | ||
| 149 | This is generally OS dependent, and not supported | ||
| 150 | under most USG systems. */ | ||
| 151 | |||
| 152 | #define subprocesses | ||
| 153 | |||
| 154 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 155 | preprocessor symbol "COFF". */ | ||
| 156 | |||
| 157 | #define COFF | ||
| 158 | |||
| 159 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 160 | to interlock access to /usr/spool/mail/$USER. | ||
| 161 | The alternative is that a lock file named | ||
| 162 | /usr/spool/mail/$USER.lock. */ | ||
| 163 | |||
| 164 | #define MAIL_USE_FLOCK | ||
| 165 | |||
| 166 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 167 | so that Emacs can tell instantly when you try to modify | ||
| 168 | a file that someone else has modified in his Emacs. */ | ||
| 169 | |||
| 170 | #define CLASH_DETECTION | ||
| 171 | |||
| 172 | /* Define this if your operating system declares signal handlers to | ||
| 173 | have a type other than the usual. `The usual' is `void' for ANSI C | ||
| 174 | systems (i.e. when the __STDC__ macro is defined), and `int' for | ||
| 175 | pre-ANSI systems. If you're using GCC on an older system, __STDC__ | ||
| 176 | will be defined, but the system's include files will still say that | ||
| 177 | signal returns int or whatever; in situations like that, define | ||
| 178 | this to be what the system's include files want. */ | ||
| 179 | /* #define SIGTYPE int */ | ||
| 180 | #define SIGTYPE void | ||
| 181 | |||
| 182 | /* If the character used to separate elements of the executable path | ||
| 183 | is not ':', #define this to be the appropriate character constant. */ | ||
| 184 | /* #define SEPCHAR ':' */ | ||
| 185 | |||
| 186 | /* Here, on a separate page, add any special hacks needed | ||
| 187 | to make Emacs work on this system. For example, | ||
| 188 | you might define certain system call names that don't | ||
| 189 | exist on your system, or that do different things on | ||
| 190 | your system and must be used only through an encapsulation | ||
| 191 | (Which you should place, by convention, in sysdep.c). */ | ||
| 192 | |||
| 193 | /* Yes! The Night Hawk has sockets! */ | ||
| 194 | |||
| 195 | #define HAVE_SOCKETS | ||
| 196 | |||
| 197 | /* The symbol in the kernel where the load average is found | ||
| 198 | is named _avenrun. */ | ||
| 199 | |||
| 200 | #define LDAV_SYMBOL "_avenrun" | ||
| 201 | |||
| 202 | #define KERNEL_FILE "/unix" | ||
| 203 | |||
| 204 | /* There are too many kludges required to redefine malloc - use the system | ||
| 205 | one */ | ||
| 206 | #define SYSTEM_MALLOC | ||
| 207 | |||
| 208 | #define _setjmp setjmp | ||
| 209 | #define _longjmp longjmp | ||
| 210 | |||
| 211 | /* const really does work, but I can't get configure to run the C compiler | ||
| 212 | * with the right options so it figures that out. | ||
| 213 | */ | ||
| 214 | #undef const | ||
| 215 | |||
| 216 | #ifdef sigmask | ||
| 217 | #undef sigmask | ||
| 218 | #endif | ||
| 219 | |||
| 220 | /* | ||
| 221 | * <pwd.h> already declares getpwuid, and with a uid_t argument in ANSI C | ||
| 222 | * mode. Define this so xrdb.c will compile | ||
| 223 | */ | ||
| 224 | #ifdef __STDC__ | ||
| 225 | #define DECLARE_GETPWUID_WITH_UID_T | ||
| 226 | #endif | ||
| 227 | |||
| 228 | /* Some compilers tend to put everything declared static | ||
| 229 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 230 | On these systems, you must #define static as nothing to foil this. | ||
| 231 | Note that emacs carefully avoids static vars inside functions. */ | ||
| 232 | |||
| 233 | /* #define static */ | ||
| 234 | |||
| 235 | /* arch-tag: 5febe5fe-f0b0-49cb-9280-9d5a9fa43710 | ||
| 236 | (do not change this comment) */ | ||
diff --git a/src/s/cxux7.h b/src/s/cxux7.h deleted file mode 100644 index b9ecf45f6bb..00000000000 --- a/src/s/cxux7.h +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | /* Define this symbol if you are running CX/UX 7.0 or later (7.0 introduced | ||
| 2 | * support for ELF files, and while we still build emacs in COFF format, the | ||
| 3 | * way it is linked is different for 7.0). | ||
| 4 | */ | ||
| 5 | #define USING_CX_UX_7 | ||
| 6 | |||
| 7 | #include "cxux.h" | ||
| 8 | |||
| 9 | /* arch-tag: 520cfbad-fd5c-4b3b-ace4-66e9bcd31a60 | ||
| 10 | (do not change this comment) */ | ||
diff --git a/src/s/dgux.h b/src/s/dgux.h deleted file mode 100644 index f7ce0a6fd38..00000000000 --- a/src/s/dgux.h +++ /dev/null | |||
| @@ -1,355 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Data General's DG/UX | ||
| 2 | version 4.32 upto and including 5.4.1. | ||
| 3 | Copyright (C) 1994, 1999, 2001, 2002, 2003, 2004, | ||
| 4 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | /* | ||
| 24 | * Define symbols to identify the version of Unix this is. | ||
| 25 | * Define all the symbols that apply correctly. | ||
| 26 | */ | ||
| 27 | |||
| 28 | /* #define UNIPLUS */ | ||
| 29 | /* #define USG5 */ | ||
| 30 | /* #define USG */ | ||
| 31 | /* #define HPUX */ | ||
| 32 | /* #define UMAX */ | ||
| 33 | /* #define BSD4_1 */ | ||
| 34 | #define BSD4_2 | ||
| 35 | #define BSD4_3 | ||
| 36 | #define BSD4_4 | ||
| 37 | #define BSD_SYSTEM | ||
| 38 | |||
| 39 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 40 | It sets the Lisp variable system-type. */ | ||
| 41 | |||
| 42 | #define SYSTEM_TYPE "dgux" | ||
| 43 | |||
| 44 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 45 | does not have "job control" (the ability to stop a program, | ||
| 46 | run some other program, then continue the first one). */ | ||
| 47 | |||
| 48 | /* #define NOMULTIPLEJOBS */ | ||
| 49 | |||
| 50 | /* Emacs can read input using SIGIO and buffering characters itself, | ||
| 51 | or using CBREAK mode and making C-g cause SIGINT. | ||
| 52 | The choice is controlled by the variable interrupt_input. | ||
| 53 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | ||
| 54 | |||
| 55 | SIGIO can be used only on systems that implement it (4.2 and 4.3). | ||
| 56 | CBREAK mode has two disadvantages | ||
| 57 | 1) At least in 4.2, it is impossible to handle the Meta key properly. | ||
| 58 | I hear that in system V this problem does not exist. | ||
| 59 | 2) Control-G causes output to be discarded. | ||
| 60 | I do not know whether this can be fixed in system V. | ||
| 61 | |||
| 62 | Another method of doing input is planned but not implemented. | ||
| 63 | It would have Emacs fork off a separate process | ||
| 64 | to read the input and send it to the true Emacs process | ||
| 65 | through a pipe. | ||
| 66 | |||
| 67 | */ | ||
| 68 | |||
| 69 | #define INTERRUPT_INPUT | ||
| 70 | |||
| 71 | /* | ||
| 72 | * Define HAVE_SOCKETS if the system supports sockets. | ||
| 73 | */ | ||
| 74 | |||
| 75 | #define HAVE_SOCKETS | ||
| 76 | |||
| 77 | /* | ||
| 78 | * Define HAVE_UNIX_DOMAIN if the system supports Unix | ||
| 79 | * domain sockets. | ||
| 80 | */ | ||
| 81 | |||
| 82 | #define HAVE_UNIX_DOMAIN | ||
| 83 | |||
| 84 | /* | ||
| 85 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 86 | */ | ||
| 87 | |||
| 88 | #define HAVE_PTYS | ||
| 89 | |||
| 90 | /* | ||
| 91 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 92 | * The 4.2 opendir, etc., library functions. | ||
| 93 | */ | ||
| 94 | |||
| 95 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 96 | |||
| 97 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 98 | |||
| 99 | #define BSTRING | ||
| 100 | |||
| 101 | /* subprocesses should be defined if you want to | ||
| 102 | have code for asynchronous subprocesses | ||
| 103 | (as used in M-x compile and M-x shell). | ||
| 104 | This is generally OS dependent, and not supported | ||
| 105 | under most USG systems. */ | ||
| 106 | |||
| 107 | #define subprocesses | ||
| 108 | |||
| 109 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 110 | preprocessor symbol "COFF". | ||
| 111 | |||
| 112 | DGUX can use either COFF or ELF; the default is ELF. | ||
| 113 | To compile for COFF (or BCS) use the TARGET_BINARY_INTERFACE | ||
| 114 | environment variable. */ | ||
| 115 | |||
| 116 | #if defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) | ||
| 117 | #undef ELF | ||
| 118 | #ifndef COFF | ||
| 119 | #define COFF | ||
| 120 | #endif /* COFF */ | ||
| 121 | #else /* defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) */ | ||
| 122 | #undef COFF | ||
| 123 | #ifndef ELF | ||
| 124 | #define ELF | ||
| 125 | #endif /* ELF */ | ||
| 126 | #endif /* defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) */ | ||
| 127 | |||
| 128 | #ifndef COFF /* People will probably find this apparently unreliable | ||
| 129 | till the NFS dumping bug is fixed. */ | ||
| 130 | |||
| 131 | /* It is possible to undump to ELF with DG/UX 5.4, but for revisions below | ||
| 132 | 5.4.1 the undump MUST be done on a local file system, or the kernel will | ||
| 133 | panic. ELF executables have the advantage of using shared libraries, | ||
| 134 | while COFF executables will still work on 4.2x systems. */ | ||
| 135 | |||
| 136 | #define UNEXEC unexelf.o | ||
| 137 | |||
| 138 | /* This makes sure that all segments in the executable are undumped, | ||
| 139 | not just text, data, and bss. In the case of Mxdb and shared | ||
| 140 | libraries, additional information is stored in other sections. | ||
| 141 | It does not hurt to have this defined if you don't use Mxdb or | ||
| 142 | shared libraries. In fact, it makes no difference. */ | ||
| 143 | |||
| 144 | /* Necessary for shared libraries and Mxdb debugging information. */ | ||
| 145 | #define USG_SHARED_LIBRARIES | ||
| 146 | #endif | ||
| 147 | |||
| 148 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 149 | to interlock access to /usr/spool/mail/$USER. | ||
| 150 | The alternative is that a lock file named | ||
| 151 | /usr/spool/mail/$USER.lock. */ | ||
| 152 | |||
| 153 | /* #define MAIL_USE_FLOCK */ | ||
| 154 | |||
| 155 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 156 | so that Emacs can tell instantly when you try to modify | ||
| 157 | a file that someone else has modified in his Emacs. */ | ||
| 158 | |||
| 159 | /* #define CLASH_DETECTION */ | ||
| 160 | |||
| 161 | /* Define a replacement for the baud rate switch, since DG/UX uses a different | ||
| 162 | from BSD. */ | ||
| 163 | |||
| 164 | #define BAUD_CONVERT { 0, 110, 134, 150, 300, 600, 1200, 1800, 2400, \ | ||
| 165 | 4800, 9600, 19200, 38400 } | ||
| 166 | |||
| 167 | /* | ||
| 168 | * Make WM Interface Compliant. | ||
| 169 | */ | ||
| 170 | |||
| 171 | #define XICCC | ||
| 172 | |||
| 173 | /* Here, on a separate page, add any special hacks needed | ||
| 174 | to make Emacs work on this system. For example, | ||
| 175 | you might define certain system call names that don't | ||
| 176 | exist on your system, or that do different things on | ||
| 177 | your system and must be used only through an encapsulation | ||
| 178 | (Which you should place, by convention, in sysdep.c). */ | ||
| 179 | |||
| 180 | /* Some compilers tend to put everything declared static | ||
| 181 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 182 | On these systems, you must #define static as nothing to foil this. | ||
| 183 | Note that emacs carefully avoids static vars inside functions. */ | ||
| 184 | |||
| 185 | /* #define static */ | ||
| 186 | |||
| 187 | /* DG/UX SPECIFIC ADDITIONS TO TEMPLATE FOLLOW: */ | ||
| 188 | |||
| 189 | /* Use the Berkeley flavors of the library routines, instead of System V. */ | ||
| 190 | |||
| 191 | #define setpgrp(pid,pgrp) setpgrp2(pid,pgrp) | ||
| 192 | #define getpgrp(pid) getpgrp2(pid) | ||
| 193 | |||
| 194 | /* Act like Berkeley. */ | ||
| 195 | |||
| 196 | #define _setjmp(env) sigsetjmp(env,0) | ||
| 197 | #define _longjmp(env,val) longjmp(env,val) | ||
| 198 | |||
| 199 | /* Use TERMINFO instead of termcap */ | ||
| 200 | |||
| 201 | #define TERMINFO | ||
| 202 | |||
| 203 | /* | ||
| 204 | * Send signals to subprocesses using characters. | ||
| 205 | * | ||
| 206 | */ | ||
| 207 | |||
| 208 | #define SIGNALS_VIA_CHARACTERS | ||
| 209 | |||
| 210 | /* | ||
| 211 | * Define HAVE_TERMIOS since this is POSIX, | ||
| 212 | * for terminal control. Prevent redundant inclusion of termio.h. | ||
| 213 | */ | ||
| 214 | |||
| 215 | #define HAVE_TERMIOS | ||
| 216 | #define NO_TERMIO | ||
| 217 | |||
| 218 | /* | ||
| 219 | * Use a Berkeley style sys/wait.h. | ||
| 220 | * This makes WIF* macros operate on structures instead of ints. | ||
| 221 | */ | ||
| 222 | |||
| 223 | #define _BSD_WAIT_FLAVOR | ||
| 224 | |||
| 225 | /* | ||
| 226 | * Use BSD and POSIX-style signals. This is crucial! | ||
| 227 | */ | ||
| 228 | |||
| 229 | /* #define SYSTEM_MALLOC */ | ||
| 230 | |||
| 231 | /* MAKING_MAKEFILE must be defined in "ymakefile" before including config.h */ | ||
| 232 | #ifndef NOT_C_CODE | ||
| 233 | |||
| 234 | /* Make sure signal.h is included so macros below don't mess with it. */ | ||
| 235 | /* DG/UX include files prevent multiple inclusion. */ | ||
| 236 | |||
| 237 | #include <signal.h> | ||
| 238 | |||
| 239 | /* but undefine the sigmask and sigpause macros since they will get | ||
| 240 | #define'd later. */ | ||
| 241 | #undef sigmask | ||
| 242 | #undef sigpause | ||
| 243 | |||
| 244 | #define POSIX_SIGNALS | ||
| 245 | |||
| 246 | #ifndef NO_DGUX_SIGNAL_REDEF | ||
| 247 | /* Can't use sys_signal because then etc/server.c would need sysdep.o. */ | ||
| 248 | extern struct sigaction act, oact; | ||
| 249 | #define signal(SIG,FUNC) berk_signal(SIG,FUNC) | ||
| 250 | #endif | ||
| 251 | |||
| 252 | #endif /* not NOT_C_CODE */ | ||
| 253 | |||
| 254 | #ifndef __GNUC__ | ||
| 255 | #error You must use GCC to compiler Emascs on DGUX | ||
| 256 | #endif | ||
| 257 | |||
| 258 | #define ORDINARY_LINK | ||
| 259 | #define START_FILES pre-crt0.o | ||
| 260 | #define LIB_GCC /usr/lib/gcc/libgcc.a | ||
| 261 | |||
| 262 | #ifdef _M88KBCS_TARGET | ||
| 263 | /* Karl Berry says: the environment | ||
| 264 | recommended by gcc (88/open, a.k.a. m88kbcs) doesn't support some system | ||
| 265 | functions, and gcc doesn't make it easy to switch environments. */ | ||
| 266 | #define NO_GET_LOAD_AVG | ||
| 267 | #endif | ||
| 268 | |||
| 269 | /* definitions for xmakefile production */ | ||
| 270 | #ifdef COFF | ||
| 271 | |||
| 272 | /* Define the following to use all of the available pty's. */ | ||
| 273 | |||
| 274 | #define PTY_ITERATION \ | ||
| 275 | for (c = 'p'; c < 't'; c++) \ | ||
| 276 | for (i = 0; (((c == 'p') && (i < 64)) || ((c != 'p') && (i < 16))); i++) | ||
| 277 | |||
| 278 | #define PTY_NAME_SPRINTF \ | ||
| 279 | if (c == 'p') \ | ||
| 280 | sprintf (pty_name, "/dev/pty%c%d", c, i); \ | ||
| 281 | else \ | ||
| 282 | sprintf (pty_name, "/dev/pty%c%x", c, i); | ||
| 283 | |||
| 284 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 285 | if (c == 'p') \ | ||
| 286 | sprintf (pty_name, "/dev/tty%c%d", c, i); \ | ||
| 287 | else \ | ||
| 288 | sprintf (pty_name, "/dev/tty%c%x", c, i); | ||
| 289 | |||
| 290 | #define C_DEBUG_SWITCH -g | ||
| 291 | |||
| 292 | #else /* not COFF */ | ||
| 293 | |||
| 294 | /* We are generating ELF object format. This makes the system more | ||
| 295 | SVR4 like. */ | ||
| 296 | |||
| 297 | #define SVR4 | ||
| 298 | |||
| 299 | /* Pseudo-terminal support under SVR4 only loops to deal with errors. */ | ||
| 300 | |||
| 301 | #define PTY_ITERATION for (i = 0; i < 1; i++) | ||
| 302 | |||
| 303 | /* This sets the name of the master side of the PTY. */ | ||
| 304 | |||
| 305 | #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); | ||
| 306 | |||
| 307 | /* This sets the name of the slave side of the PTY. On SysVr4, | ||
| 308 | grantpt(3) forks a subprocess, so keep sigchld_handler() from | ||
| 309 | intercepting that death. If any child but grantpt's should die | ||
| 310 | within, it should be caught after sigrelse(2). */ | ||
| 311 | |||
| 312 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 313 | { \ | ||
| 314 | char *ptsname(), *ptyname; \ | ||
| 315 | \ | ||
| 316 | sigblock(sigmask(SIGCLD)); \ | ||
| 317 | if (grantpt(fd) == -1) \ | ||
| 318 | fatal("could not grant slave pty"); \ | ||
| 319 | sigunblock(sigmask(SIGCLD)); \ | ||
| 320 | if (unlockpt(fd) == -1) \ | ||
| 321 | fatal("could not unlock slave pty"); \ | ||
| 322 | if (!(ptyname = ptsname(fd))) \ | ||
| 323 | fatal ("could not enable slave pty"); \ | ||
| 324 | strncpy(pty_name, ptyname, sizeof(pty_name)); \ | ||
| 325 | pty_name[sizeof(pty_name) - 1] = 0; \ | ||
| 326 | } | ||
| 327 | |||
| 328 | /* Push various streams modules onto a PTY channel. */ | ||
| 329 | |||
| 330 | #define SETUP_SLAVE_PTY \ | ||
| 331 | if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ | ||
| 332 | fatal ("ioctl I_PUSH ptem", errno); \ | ||
| 333 | if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \ | ||
| 334 | fatal ("ioctl I_PUSH ldterm", errno); \ | ||
| 335 | if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ | ||
| 336 | fatal ("ioctl I_PUSH ttcompat", errno); | ||
| 337 | |||
| 338 | #ifdef __GNUC__ | ||
| 339 | #define C_DEBUG_SWITCH -g -V2 -mversion-03.00 -mstandard | ||
| 340 | #endif | ||
| 341 | |||
| 342 | #endif /* ELF */ | ||
| 343 | |||
| 344 | /* Extra stuff which probably should be someplace else but is here out | ||
| 345 | of expediency. */ | ||
| 346 | |||
| 347 | #define LIB_X11_LIB -lX11 | ||
| 348 | #define LIB_MOTIF -lXm -lgen | ||
| 349 | |||
| 350 | /* Process groups work in the traditional BSD manner. */ | ||
| 351 | |||
| 352 | #define BSD_PGRPS | ||
| 353 | |||
| 354 | /* arch-tag: 1b6d117d-82d2-4480-a6d0-3f7a8360f658 | ||
| 355 | (do not change this comment) */ | ||
diff --git a/src/s/dgux4.h b/src/s/dgux4.h deleted file mode 100644 index bf5a1b0e597..00000000000 --- a/src/s/dgux4.h +++ /dev/null | |||
| @@ -1,144 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Data General's DG/UX | ||
| 2 | Release 4.10 and above. | ||
| 3 | Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, | ||
| 4 | 2006, 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | /* This file was written by Roderick Schertler <roderick@ibcinc.com>, | ||
| 24 | contact me if you have problems with or comments about running Emacs | ||
| 25 | on dgux. | ||
| 26 | |||
| 27 | A number of things in the older dgux*.h files don't make sense to me, | ||
| 28 | but since I'm relying on memory and I don't have any older dgux | ||
| 29 | systems installed on which to test changes I'm undoing or fixing them | ||
| 30 | here rather than fixing them at the source. */ | ||
| 31 | |||
| 32 | /* In dgux.h it says "Can't use sys_signal because then etc/server.c | ||
| 33 | would need sysdep.o." and then it #defines signal() to be | ||
| 34 | berk_signal(), but emacsserver.c does `#undef signal' anyway, so that | ||
| 35 | doesn't make sense. | ||
| 36 | |||
| 37 | Further, sys_signal() in sysdep.c already had a special case for | ||
| 38 | #ifdef DGUX, it called berk_signal() explicitly. I've removed that | ||
| 39 | special case because it also didn't make sense: All versions of dgux | ||
| 40 | which the dgux*.h headers take into account have POSIX signals | ||
| 41 | (POSIX_SIGNALS is #defined in dgux.h). The comments in sys_signal() | ||
| 42 | even acknowledged this (saying that the special berk_signal() case | ||
| 43 | wasn't really necessary), they said that sys_signal() was using | ||
| 44 | berk_signal() instead of sigaction() for efficiency. Since both give | ||
| 45 | reliable signals neither has to be invoked within the handler. If | ||
| 46 | the efficiency that the comments were talking about is the overhead | ||
| 47 | of setting up the sigaction struct rather than just passing the | ||
| 48 | function pointer in (which is the only efficiency I can think of) | ||
| 49 | then that's a needless optimization, the Emacs sources do better | ||
| 50 | without the special case. | ||
| 51 | |||
| 52 | The following definition will prevent dgux.h from re-defining | ||
| 53 | signal(). I can't just say `#undef signal' after including dgux.h | ||
| 54 | because signal() is already a macro, defined in <sys/signal.h>, and | ||
| 55 | the original definition would be lost. */ | ||
| 56 | #define NO_DGUX_SIGNAL_REDEF | ||
| 57 | |||
| 58 | #include "dgux5-4-3.h" | ||
| 59 | |||
| 60 | #define LIBS_DEBUG /* nothing, -lg doesn't exist */ | ||
| 61 | #define LIBS_SYSTEM -lsocket -lnsl | ||
| 62 | |||
| 63 | #ifndef NOT_C_CODE | ||
| 64 | |||
| 65 | /* dgux.h defines _setjmp() to be sigsetjmp(), but it defines _longjmp | ||
| 66 | to be longjmp() rather than siglongjmp(). Further, it doesn't define | ||
| 67 | jmp_buf, so sigsetjmp() is being called with a jmp_buf rather than a | ||
| 68 | sigjmp_buf, and the buffer is then passed to vanilla longjmp(). This | ||
| 69 | provides a more complete emulation of the Berkeley semantics. */ | ||
| 70 | |||
| 71 | #include <setjmp.h> | ||
| 72 | #undef jmp_buf | ||
| 73 | #undef _setjmp | ||
| 74 | #undef setjmp | ||
| 75 | #undef _longjmp | ||
| 76 | #undef longjmp | ||
| 77 | #define jmp_buf sigjmp_buf | ||
| 78 | #define _setjmp(env) sigsetjmp(env, 0) | ||
| 79 | #define setjmp(env) sigsetjmp(env, 1) | ||
| 80 | #define _longjmp siglongjmp | ||
| 81 | #define longjmp siglongjmp | ||
| 82 | |||
| 83 | /* The BAUD_CONVERT definition in dgux.h is wrong with this version | ||
| 84 | of dgux, but I'm not sure when it changed. | ||
| 85 | |||
| 86 | With the current system Emacs' standard handling of ospeed and | ||
| 87 | baud_rate don't work. The baud values (B9600 and so on) returned by | ||
| 88 | cfgetospeed() aren't compatible with those used by ospeed. speed_t, | ||
| 89 | the type returned by cfgetospeed(), is unsigned long and speed_t | ||
| 90 | values are large. Further, it isn't possible to get at both the | ||
| 91 | SysV3 (ospeed) and POSIX (cfgetospeed()) values through symbolic | ||
| 92 | constants simultaneously because they both use the same names | ||
| 93 | (B9600). To get both baud_rate and ospeed right at the same time | ||
| 94 | it's necessary to hardcode the values for one set of values, here I'm | ||
| 95 | hardcoding ospeed. */ | ||
| 96 | #undef BAUD_CONVERT | ||
| 97 | #define INIT_BAUD_RATE() \ | ||
| 98 | struct termios sg; \ | ||
| 99 | \ | ||
| 100 | tcgetattr (input_fd, &sg); \ | ||
| 101 | switch (cfgetospeed (&sg)) { \ | ||
| 102 | case B50: baud_rate = 50; ospeed = 0x1; break; \ | ||
| 103 | case B75: baud_rate = 75; ospeed = 0x2; break; \ | ||
| 104 | case B110: baud_rate = 110; ospeed = 0x3; break; \ | ||
| 105 | case B134: baud_rate = 134; ospeed = 0x4; break; \ | ||
| 106 | case B150: baud_rate = 150; ospeed = 0x5; break; \ | ||
| 107 | case B200: baud_rate = 200; ospeed = 0x6; break; \ | ||
| 108 | case B300: baud_rate = 300; ospeed = 0x7; break; \ | ||
| 109 | case B600: baud_rate = 600; ospeed = 0x8; break; \ | ||
| 110 | default: \ | ||
| 111 | case B1200: baud_rate = 1200; ospeed = 0x9; break; \ | ||
| 112 | case B1800: baud_rate = 1800; ospeed = 0xa; break; \ | ||
| 113 | case B2400: baud_rate = 2400; ospeed = 0xb; break; \ | ||
| 114 | case B4800: baud_rate = 4800; ospeed = 0xc; break; \ | ||
| 115 | case B9600: baud_rate = 9600; ospeed = 0xd; break; \ | ||
| 116 | case B19200: baud_rate = 19200; ospeed = 0xe; break; \ | ||
| 117 | case B38400: baud_rate = 38400; ospeed = 0xf; break; \ | ||
| 118 | } \ | ||
| 119 | return; | ||
| 120 | |||
| 121 | |||
| 122 | #if 0 /* Ehud Karni <ehud@unix.simonwiesel.co.il> says that the problem | ||
| 123 | still exists on m88k-dg-dguxR4.11MU04 and i586-dg-dguxR4.11MU04. */ | ||
| 124 | /* The `stop on tty output' problem which occurs when using | ||
| 125 | INTERRUPT_INPUT and when Emacs is invoked under X11 using a job | ||
| 126 | control shell (csh, ksh, etc.) in the background doesn't look to be | ||
| 127 | present in R4.11. (At least, I can't reproduce it using jsh, csh, | ||
| 128 | ksh or zsh.) */ | ||
| 129 | #undef BROKEN_FIONREAD | ||
| 130 | #define INTERRUPT_INPUT | ||
| 131 | #endif /* 0 - never */ | ||
| 132 | |||
| 133 | /* In R4.11 (or maybe R4.10, I don't have a system with that version | ||
| 134 | loaded) some of the internal stdio semantics were changed. One I | ||
| 135 | found while working on MH is that _cnt has to be 0 before _filbuf() | ||
| 136 | is called. Another is that (_ptr - _base) doesn't indicate how many | ||
| 137 | characters are waiting to be sent. I can't spot a good way to get | ||
| 138 | that info from the FILE internals. */ | ||
| 139 | #define PENDING_OUTPUT_COUNT(FILE) (1) | ||
| 140 | |||
| 141 | #endif /* NOT_C_CODE */ | ||
| 142 | |||
| 143 | /* arch-tag: c7013e7b-6e2e-44f2-ba61-90b6d5e2ea45 | ||
| 144 | (do not change this comment) */ | ||
diff --git a/src/s/dgux5-4-3.h b/src/s/dgux5-4-3.h deleted file mode 100644 index d959b8c6f1b..00000000000 --- a/src/s/dgux5-4-3.h +++ /dev/null | |||
| @@ -1,68 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Data General's DG/UX | ||
| 2 | version 5.4 Release 3.00 and above. | ||
| 3 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, | ||
| 4 | 2006, 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | /* NOTE: DGUX5.4R3.00 will not build with the delivered gcc-2.4.5 | ||
| 24 | compiler. You must upgraded to at least gcc-2.5.8. If you are | ||
| 25 | running DGUX 5.4R3.00 check on the system dg-rtp.dg.com:/pub/gnu | ||
| 26 | for gcc-2.5.8 or later compiler. | ||
| 27 | -pmr@pajato.com */ | ||
| 28 | |||
| 29 | #include "dgux5-4r2.h" | ||
| 30 | |||
| 31 | /* DGUX 5.4R3.00 brought the definition of `struct inet_addr' into | ||
| 32 | compliance with the majority of Unix systems. The workaround | ||
| 33 | introduced in 5.4R2 is no longer necessary. */ | ||
| 34 | |||
| 35 | #ifdef HAVE_BROKEN_INET_ADDR | ||
| 36 | #undef HAVE_BROKEN_INET_ADDR | ||
| 37 | #endif | ||
| 38 | |||
| 39 | /* The `stop on tty output' problem which occurs when using | ||
| 40 | INTERRUPT_INPUT and when Emacs is invoked under X11 using a job | ||
| 41 | control shell (csh, ksh, etc.) in the background has not been fixed in | ||
| 42 | DGUX 5.4R3.00. | ||
| 43 | -pmr@pajato.com */ | ||
| 44 | |||
| 45 | #if 0 | ||
| 46 | #ifdef BROKEN_FIONREAD | ||
| 47 | #undef BROKEN_FIONREAD | ||
| 48 | #endif | ||
| 49 | #ifndef INTERRUPT_INPUT | ||
| 50 | #define INTERRUPT_INPUT | ||
| 51 | #endif | ||
| 52 | #endif | ||
| 53 | |||
| 54 | /* Under DGUX 5.4R3.00, getting a debuggable executable has been | ||
| 55 | greatly simplified and applies to either COFF or ELF | ||
| 56 | environments. */ | ||
| 57 | |||
| 58 | #ifdef C_DEBUG_SWITCH | ||
| 59 | #undef C_DEBUG_SWITCH | ||
| 60 | #define C_DEBUG_SWITCH -g | ||
| 61 | #endif | ||
| 62 | |||
| 63 | /* This is needed according to Ehud Karni <ehud@unix.simonwiesel.co.il> | ||
| 64 | for m88k-dg-dgux5.4R3.10. */ | ||
| 65 | #undef BSD_PGRPS | ||
| 66 | |||
| 67 | /* arch-tag: c11938c9-0cb0-4652-88aa-7eb80bf1cda9 | ||
| 68 | (do not change this comment) */ | ||
diff --git a/src/s/dgux5-4r2.h b/src/s/dgux5-4r2.h deleted file mode 100644 index 570e90e9ac1..00000000000 --- a/src/s/dgux5-4r2.h +++ /dev/null | |||
| @@ -1,51 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Data General's DG/UX | ||
| 2 | 5.4 Release 2.xx systems. | ||
| 3 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, | ||
| 4 | 2006, 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | #include "dgux.h" | ||
| 24 | |||
| 25 | /* There is a known kernel bug in DGUX 5.4R2.xx when using | ||
| 26 | INTERRUPT_INPUT and invoking Emacs with a job control shell (csh, | ||
| 27 | ksh, etc.) in the background. This bug manifests itself by | ||
| 28 | outputting `stop on tty output' and hanging. The workaround is to | ||
| 29 | set BROKEN_FIONREAD. | ||
| 30 | -pmr@pajato.com */ | ||
| 31 | |||
| 32 | #ifndef BROKEN_FIONREAD | ||
| 33 | #define BROKEN_FIONREAD | ||
| 34 | #endif | ||
| 35 | #ifdef INTERRUPT_INPUT | ||
| 36 | #undef INTERRUPT_INPUT | ||
| 37 | #endif | ||
| 38 | |||
| 39 | /* In DGUX 5.4R2.xx the function inet_addr() returns a `struct | ||
| 40 | in_addr' instead of the more common `unsigned long'. | ||
| 41 | -pmr@pajato.com */ | ||
| 42 | |||
| 43 | #define HAVE_BROKEN_INET_ADDR | ||
| 44 | |||
| 45 | #if 0 /* Shawn M. Carey <smcarey@mailbox.syr.edu> found this | ||
| 46 | caused trouble on DGUX 5.4.2. */ | ||
| 47 | #define LIBS_SYSTEM -ldgc | ||
| 48 | #endif | ||
| 49 | |||
| 50 | /* arch-tag: a14f4043-6caa-4f01-a9b9-ae0fb0d2c96e | ||
| 51 | (do not change this comment) */ | ||
diff --git a/src/s/esix.h b/src/s/esix.h deleted file mode 100644 index 357e7736476..00000000000 --- a/src/s/esix.h +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | /* Definitions for ESIX, a variant of v.5.3 for the 386. */ | ||
| 2 | /* These are based on reports for ESIX 5.3.2 D. */ | ||
| 3 | |||
| 4 | #include "usg5-3.h" | ||
| 5 | |||
| 6 | /* Some versions of V.3 have this, but not all. ESIX does. */ | ||
| 7 | #define HAVE_PTYS | ||
| 8 | #define SYSV_PTYS | ||
| 9 | |||
| 10 | /* Have -lg be used for debugging. */ | ||
| 11 | #undef LIBS_DEBUG | ||
| 12 | #define LIBS_DEBUG -lg | ||
| 13 | |||
| 14 | /* If using Roell's X server, define X11R4 */ | ||
| 15 | #ifdef X11R4 /* Roell's X server */ | ||
| 16 | #define select sys_select /* Emacs select() not good enough? */ | ||
| 17 | #undef LIBX11_SYSTEM | ||
| 18 | #define LIBX11_SYSTEM -lpt | ||
| 19 | #endif /* X11R4 */ | ||
| 20 | |||
| 21 | /* ESIX does not need <sys/sioctl.h>, but needs <sys/ptem.h> */ | ||
| 22 | #define NO_SIOCTL_H | ||
| 23 | #define NEED_PTEM_H | ||
| 24 | #define BROKEN_FIONREAD | ||
| 25 | |||
| 26 | /* arch-tag: d66e6a70-0812-437d-aa35-9b01bd474941 | ||
| 27 | (do not change this comment) */ | ||
diff --git a/src/s/esix5r4.h b/src/s/esix5r4.h deleted file mode 100644 index 4240f3d7f4a..00000000000 --- a/src/s/esix5r4.h +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | /* Definitions for ESIX System V 4.0.4, a variant of V.4 for the 386. */ | ||
| 2 | /* Redone by zircon!joe@uunet.uu.net (Joe Kelsey). */ | ||
| 3 | |||
| 4 | #include "usg5-4.h" | ||
| 5 | |||
| 6 | #define SYSTEM_MALLOC 1 | ||
| 7 | #if defined (HAVE_XFREE386) | ||
| 8 | # undef LIB_STANDARD | ||
| 9 | # define LIB_STANDARD -lc | ||
| 10 | #else | ||
| 11 | # define LIB_X11_LIB -lsocket -lc -lX11 | ||
| 12 | # undef LIB_STANDARD | ||
| 13 | # ifdef ORDINARY_LINK | ||
| 14 | # define LIB_STANDARD -lnsl -lns -lelf /usr/ucblib/libucb.a | ||
| 15 | # else | ||
| 16 | # define LIB_STANDARD -lnsl -lns -lelf /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o | ||
| 17 | # endif | ||
| 18 | |||
| 19 | /* Resolve BSD string functions in X Window library from libucb.a. */ | ||
| 20 | # define BSTRING | ||
| 21 | |||
| 22 | /* zircon!joe says this makes X windows work. */ | ||
| 23 | # define BROKEN_FIONREAD | ||
| 24 | #endif | ||
| 25 | |||
| 26 | /* arch-tag: 2d314ae9-0357-4ddf-96e5-cf821071ba4b | ||
| 27 | (do not change this comment) */ | ||
diff --git a/src/s/hiuxmpp.h b/src/s/hiuxmpp.h deleted file mode 100644 index 7538adb1634..00000000000 --- a/src/s/hiuxmpp.h +++ /dev/null | |||
| @@ -1,67 +0,0 @@ | |||
| 1 | /* System description file for HI-UX. | ||
| 2 | |||
| 3 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 | ||
| 4 | Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | #define BSD 198911 /* system version (year & month) */ | ||
| 25 | #define DBL_DIG 15 /* same as the definition of <float.h> */ | ||
| 26 | #include "bsd4-3.h" | ||
| 27 | |||
| 28 | /* Identify OSF1 for the m- files. */ | ||
| 29 | |||
| 30 | #define OSF1 | ||
| 31 | |||
| 32 | /* To avoid to include the non-existant header file <sys/vlimit.h>, | ||
| 33 | we define BSD4_2. | ||
| 34 | This definition does not mean that the OS is based on BSD 4.2. */ | ||
| 35 | #define BSD4_2 | ||
| 36 | |||
| 37 | /* Define _BSD to tell the include files we're running under | ||
| 38 | the BSD universe and not the SYSV universe. | ||
| 39 | Define HITACHI and OSF for Xt's Boolean type as int intead of char. | ||
| 40 | (But for these defines, /usr/include/X11/Intrinsic.h defines | ||
| 41 | Boolean as char, but libXt.a on HI-UX/MPP requires it as int.) */ | ||
| 42 | |||
| 43 | #define C_SWITCH_SYSTEM -D_BSD -DHITACHI -DOSF | ||
| 44 | #define LIBS_SYSTEM -lbsd | ||
| 45 | |||
| 46 | #define GETPGRP_NO_ARG | ||
| 47 | |||
| 48 | #define SYSV_SYSTEM_DIR | ||
| 49 | |||
| 50 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 51 | preprocessor symbol "COFF". */ | ||
| 52 | |||
| 53 | /* #define COFF */ | ||
| 54 | |||
| 55 | /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option | ||
| 56 | says where to find X windows at run time. We convert it to a -rpath option | ||
| 57 | which is what OSF1 uses. */ | ||
| 58 | #define LD_SWITCH_SYSTEM | ||
| 59 | |||
| 60 | #undef KERNEL_FILE | ||
| 61 | #define KERNEL_FILE "/mach_kernel" | ||
| 62 | |||
| 63 | #undef LDAV_SYMBOL | ||
| 64 | #define LDAV_SYMBOL "avenrun" | ||
| 65 | |||
| 66 | /* arch-tag: c5422584-cd86-4e10-8089-9f604523dab7 | ||
| 67 | (do not change this comment) */ | ||
diff --git a/src/s/hiuxwe2.h b/src/s/hiuxwe2.h deleted file mode 100644 index 418ea14cc99..00000000000 --- a/src/s/hiuxwe2.h +++ /dev/null | |||
| @@ -1,67 +0,0 @@ | |||
| 1 | /* System description file for HI-UX. | ||
| 2 | |||
| 3 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 4 | 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | #define BSD 198911 /* system version (year & month) */ | ||
| 25 | #define DBL_DIG 15 /* same as the definition of <float.h> */ | ||
| 26 | #include "bsd4-3.h" | ||
| 27 | |||
| 28 | /* Identify OSF1 for the m- files. */ | ||
| 29 | |||
| 30 | #define OSF1 | ||
| 31 | |||
| 32 | /* To avoid to include the non-existant header file <sys/vlimit.h>, | ||
| 33 | we define BSD4_2. | ||
| 34 | This definition does not mean that the OS is based on BSD 4.2. */ | ||
| 35 | #define BSD4_2 | ||
| 36 | |||
| 37 | /* Define _BSD to tell the include files we're running under | ||
| 38 | the BSD universe and not the SYSV universe. | ||
| 39 | Define HITACHI and OSF for Xt's Boolean type as int intead of char. | ||
| 40 | (But for these defines, /usr/include/X11/Intrinsic.h defines | ||
| 41 | Boolean as char, but libXt.a on HI-UX/MPP requires it as int.) */ | ||
| 42 | |||
| 43 | #define C_SWITCH_SYSTEM -D_BSD -DHITACHI -DOSF | ||
| 44 | #define LIBS_SYSTEM -lbsd | ||
| 45 | |||
| 46 | #define GETPGRP_NO_ARG | ||
| 47 | |||
| 48 | #define SYSV_SYSTEM_DIR | ||
| 49 | |||
| 50 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 51 | preprocessor symbol "COFF". */ | ||
| 52 | |||
| 53 | /* #define COFF */ | ||
| 54 | |||
| 55 | /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option | ||
| 56 | says where to find X windows at run time. We convert it to a -rpath option | ||
| 57 | which is what OSF1 uses. */ | ||
| 58 | #define LD_SWITCH_SYSTEM | ||
| 59 | |||
| 60 | #undef KERNEL_FILE | ||
| 61 | #define KERNEL_FILE "/mach_kernel" | ||
| 62 | |||
| 63 | #undef LDAV_SYMBOL | ||
| 64 | #define LDAV_SYMBOL "avenrun" | ||
| 65 | |||
| 66 | /* arch-tag: c56449e1-6d1b-4537-a596-0b08b8e4ec73 | ||
| 67 | (do not change this comment) */ | ||
diff --git a/src/s/iris3-5.h b/src/s/iris3-5.h deleted file mode 100644 index c3d16cbf611..00000000000 --- a/src/s/iris3-5.h +++ /dev/null | |||
| @@ -1,166 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Silicon Graphics 3.5 | ||
| 2 | Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* | ||
| 24 | * Define symbols to identify the version of Unix this is. | ||
| 25 | * Define all the symbols that apply correctly. | ||
| 26 | */ | ||
| 27 | |||
| 28 | #define USG | ||
| 29 | #define USG5 | ||
| 30 | #define IRIS | ||
| 31 | |||
| 32 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 33 | It sets the Lisp variable system-type. */ | ||
| 34 | |||
| 35 | #define SYSTEM_TYPE "irix" | ||
| 36 | |||
| 37 | /* nomultiplejobs should be defined if your system's shell | ||
| 38 | does not have "job control" (the ability to stop a program, | ||
| 39 | run some other program, then continue the first one). */ | ||
| 40 | |||
| 41 | #define NOMULTIPLEJOBS | ||
| 42 | |||
| 43 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 44 | |||
| 45 | /* #define INTERRUPT_INPUT */ | ||
| 46 | |||
| 47 | /* Letter to use in finding device name of first pty, | ||
| 48 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 49 | |||
| 50 | #define FIRST_PTY_LETTER 'a' | ||
| 51 | |||
| 52 | /* | ||
| 53 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 54 | * for terminal control. | ||
| 55 | */ | ||
| 56 | |||
| 57 | #define HAVE_TERMIO | ||
| 58 | |||
| 59 | /* | ||
| 60 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 61 | */ | ||
| 62 | |||
| 63 | #define HAVE_PTYS | ||
| 64 | |||
| 65 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 66 | |||
| 67 | #define HAVE_SOCKETS | ||
| 68 | |||
| 69 | /* | ||
| 70 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 71 | * The 4.2 opendir, etc., library functions. | ||
| 72 | */ | ||
| 73 | |||
| 74 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 75 | |||
| 76 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 77 | |||
| 78 | #define BSTRING | ||
| 79 | |||
| 80 | /* subprocesses should be defined if you want to | ||
| 81 | have code for asynchronous subprocesses | ||
| 82 | (as used in M-x compile and M-x shell). | ||
| 83 | This is generally OS dependent, and not supported | ||
| 84 | under most USG systems. */ | ||
| 85 | |||
| 86 | #define subprocesses | ||
| 87 | |||
| 88 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 89 | preprocessor symbol "COFF". */ | ||
| 90 | |||
| 91 | /* #define COFF */ | ||
| 92 | |||
| 93 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 94 | to interlock access to /usr/spool/mail/$USER. | ||
| 95 | The alternative is that a lock file named | ||
| 96 | /usr/spool/mail/$USER.lock. */ | ||
| 97 | |||
| 98 | #define MAIL_USE_FLOCK | ||
| 99 | |||
| 100 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 101 | so that Emacs can tell instantly when you try to modify | ||
| 102 | a file that someone else has modified in his Emacs. */ | ||
| 103 | |||
| 104 | /* #define CLASH_DETECTION */ | ||
| 105 | |||
| 106 | /* The file containing the kernel's symbol table is called /vmunix. */ | ||
| 107 | |||
| 108 | #define KERNEL_FILE "/vmunix" | ||
| 109 | |||
| 110 | /* The symbol in the kernel where the load average is found | ||
| 111 | is named _avenrun. */ | ||
| 112 | |||
| 113 | #define LDAV_SYMBOL "_avenrun" | ||
| 114 | |||
| 115 | |||
| 116 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 117 | |||
| 118 | /* | ||
| 119 | * Make the sigsetmask function go away. Don't know what the | ||
| 120 | * ramifications of this are, but doesn't seem possible to | ||
| 121 | * emulate it properly anyway at this point. | ||
| 122 | */ | ||
| 123 | |||
| 124 | #define sigsetmask(mask) /* Null expansion */ | ||
| 125 | |||
| 126 | /* The IRIS defines SIGIO in signal.h, but doesn't implement it. */ | ||
| 127 | #define BROKEN_SIGIO | ||
| 128 | |||
| 129 | #define LIBS_MACHINE -lbsd -ldbm -lPW | ||
| 130 | #define C_SWITCH_MACHINE -I/usr/include/bsd | ||
| 131 | |||
| 132 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 133 | but they will run slower. */ | ||
| 134 | |||
| 135 | #define _setjmp setjmp | ||
| 136 | #define _longjmp longjmp | ||
| 137 | |||
| 138 | /* On USG systems these have different names */ | ||
| 139 | |||
| 140 | #define index strchr | ||
| 141 | #define rindex strrchr | ||
| 142 | |||
| 143 | /* USG systems tend to put everything declared static | ||
| 144 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 145 | Foil this. Emacs carefully avoids static vars inside functions. */ | ||
| 146 | |||
| 147 | /* #define static */ | ||
| 148 | |||
| 149 | /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ | ||
| 150 | |||
| 151 | #define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0) | ||
| 152 | |||
| 153 | /* some errno.h's don't actually allocate the variable itself */ | ||
| 154 | |||
| 155 | #define NEED_ERRNO | ||
| 156 | |||
| 157 | /* The symbol FIONREAD is defined, but the feature does not work. */ | ||
| 158 | |||
| 159 | #define BROKEN_FIONREAD | ||
| 160 | |||
| 161 | /* This is how to get the device name of the tty end of a pty. */ | ||
| 162 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 163 | sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev)); | ||
| 164 | |||
| 165 | /* arch-tag: 41161051-477f-44be-bb2a-0eead3142157 | ||
| 166 | (do not change this comment) */ | ||
diff --git a/src/s/iris3-6.h b/src/s/iris3-6.h deleted file mode 100644 index 85a13167ed0..00000000000 --- a/src/s/iris3-6.h +++ /dev/null | |||
| @@ -1,163 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Silicon Graphics system 3.6. | ||
| 2 | Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* | ||
| 24 | * Define symbols to identify the version of Unix this is. | ||
| 25 | * Define all the symbols that apply correctly. | ||
| 26 | */ | ||
| 27 | |||
| 28 | #define USG | ||
| 29 | #define USG5 | ||
| 30 | #define IRIS | ||
| 31 | |||
| 32 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 33 | It sets the Lisp variable system-type. */ | ||
| 34 | |||
| 35 | #define SYSTEM_TYPE "irix" | ||
| 36 | |||
| 37 | /* nomultiplejobs should be defined if your system's shell | ||
| 38 | does not have "job control" (the ability to stop a program, | ||
| 39 | run some other program, then continue the first one). */ | ||
| 40 | |||
| 41 | #define NOMULTIPLEJOBS | ||
| 42 | |||
| 43 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 44 | |||
| 45 | /* #define INTERRUPT_INPUT */ | ||
| 46 | |||
| 47 | /* Letter to use in finding device name of first pty, | ||
| 48 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 49 | |||
| 50 | #define FIRST_PTY_LETTER 'a' | ||
| 51 | |||
| 52 | /* | ||
| 53 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 54 | * for terminal control. | ||
| 55 | */ | ||
| 56 | |||
| 57 | #define HAVE_TERMIO | ||
| 58 | |||
| 59 | /* | ||
| 60 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 61 | */ | ||
| 62 | |||
| 63 | #define HAVE_PTYS | ||
| 64 | |||
| 65 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 66 | |||
| 67 | #define HAVE_SOCKETS | ||
| 68 | |||
| 69 | /* | ||
| 70 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 71 | * The 4.2 opendir, etc., library functions. | ||
| 72 | */ | ||
| 73 | |||
| 74 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 75 | |||
| 76 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 77 | |||
| 78 | #define BSTRING | ||
| 79 | |||
| 80 | /* subprocesses should be defined if you want to | ||
| 81 | have code for asynchronous subprocesses | ||
| 82 | (as used in M-x compile and M-x shell). | ||
| 83 | This is generally OS dependent, and not supported | ||
| 84 | under most USG systems. */ | ||
| 85 | |||
| 86 | #define subprocesses | ||
| 87 | |||
| 88 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 89 | preprocessor symbol "COFF". */ | ||
| 90 | |||
| 91 | /* #define COFF */ | ||
| 92 | |||
| 93 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 94 | to interlock access to /usr/spool/mail/$USER. | ||
| 95 | The alternative is that a lock file named | ||
| 96 | /usr/spool/mail/$USER.lock. */ | ||
| 97 | |||
| 98 | #define MAIL_USE_FLOCK | ||
| 99 | |||
| 100 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 101 | so that Emacs can tell instantly when you try to modify | ||
| 102 | a file that someone else has modified in his Emacs. */ | ||
| 103 | |||
| 104 | /* #define CLASH_DETECTION */ | ||
| 105 | |||
| 106 | /* The file containing the kernel's symbol table is called /vmunix. */ | ||
| 107 | |||
| 108 | #define KERNEL_FILE "/vmunix" | ||
| 109 | |||
| 110 | /* The symbol in the kernel where the load average is found | ||
| 111 | is named _avenrun. */ | ||
| 112 | |||
| 113 | #define LDAV_SYMBOL "_avenrun" | ||
| 114 | |||
| 115 | |||
| 116 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 117 | |||
| 118 | /* | ||
| 119 | * Make the sigsetmask function go away. Don't know what the | ||
| 120 | * ramifications of this are, but doesn't seem possible to | ||
| 121 | * emulate it properly anyway at this point. | ||
| 122 | */ | ||
| 123 | |||
| 124 | #define sigsetmask(mask) /* Null expansion */ | ||
| 125 | #define sigblock(x) x | ||
| 126 | |||
| 127 | /* The IRIS defines SIGIO in signal.h, but doesn't implement it. */ | ||
| 128 | #define BROKEN_SIGIO | ||
| 129 | |||
| 130 | #define LIBS_MACHINE -lbsd -ldbm -lPW | ||
| 131 | #define C_SWITCH_MACHINE -I/usr/include/bsd | ||
| 132 | |||
| 133 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 134 | but they will run slower. */ | ||
| 135 | |||
| 136 | #define _setjmp setjmp | ||
| 137 | #define _longjmp longjmp | ||
| 138 | |||
| 139 | /* On USG systems these have different names */ | ||
| 140 | |||
| 141 | #define index strchr | ||
| 142 | #define rindex strrchr | ||
| 143 | |||
| 144 | /* USG systems tend to put everything declared static | ||
| 145 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 146 | Foil this. Emacs carefully avoids static vars inside functions. */ | ||
| 147 | |||
| 148 | /* #define static */ | ||
| 149 | |||
| 150 | /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ | ||
| 151 | |||
| 152 | #define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0) | ||
| 153 | |||
| 154 | /* some errno.h's don't actually allocate the variable itself */ | ||
| 155 | |||
| 156 | #define NEED_ERRNO | ||
| 157 | |||
| 158 | /* This is how to get the device name of the tty end of a pty. */ | ||
| 159 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 160 | sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev)); | ||
| 161 | |||
| 162 | /* arch-tag: cdf2033e-a2d5-43e1-a1a2-a7243cf41a11 | ||
| 163 | (do not change this comment) */ | ||
diff --git a/src/s/isc2-2.h b/src/s/isc2-2.h deleted file mode 100644 index 34c79f17ea1..00000000000 --- a/src/s/isc2-2.h +++ /dev/null | |||
| @@ -1,100 +0,0 @@ | |||
| 1 | /* system description file for Interactive (ISC) Unix version 2.2 on the 386. | ||
| 2 | |||
| 3 | Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 4 | 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | #include "usg5-3.h" | ||
| 25 | |||
| 26 | /* select (in -linet) works okay on X ptys, but not on the serial port. | ||
| 27 | karl@cs.umb.edu says that with that select call, subprocesses made by | ||
| 28 | (e.g.) M-x grep don't exit cleanly, they just hang. Similar problems | ||
| 29 | have been observed in ISC 3.0. */ | ||
| 30 | #define BROKEN_SELECT_NON_X | ||
| 31 | |||
| 32 | /* karl@cs.umb.edu says that ISC's socket support (in -linet) isn't | ||
| 33 | what Emacs needs; it makes interrupt-shell-subjob and the like do | ||
| 34 | nothing. But that appears to have been another manifestation of | ||
| 35 | the broken select, so it should now be safe to define this again. */ | ||
| 36 | #define HAVE_SOCKETS | ||
| 37 | |||
| 38 | #define NO_SOCKETS_IN_FILE_SYSTEM | ||
| 39 | #define NEED_NET_ERRNO_H | ||
| 40 | |||
| 41 | /* This keeps the .cdbx section that gcc puts out when generating | ||
| 42 | stabs-in-coff output, so Emacs can be debugged. --karl@cs.umb.edu. */ | ||
| 43 | #define USG_SHARED_LIBRARIES | ||
| 44 | |||
| 45 | /* We can support lock files. */ | ||
| 46 | #define CLASH_DETECTION | ||
| 47 | #define NO_FCHMOD | ||
| 48 | |||
| 49 | #define HAVE_PTYS | ||
| 50 | #define MAXNAMLEN 512 | ||
| 51 | #define O_NDELAY O_NONBLOCK | ||
| 52 | #define MEMORY_IN_STRING_H | ||
| 53 | |||
| 54 | /* Tell gmalloc.c that we don't have memmove (system include files to the | ||
| 55 | contrary!). */ | ||
| 56 | #define MEMMOVE_MISSING | ||
| 57 | |||
| 58 | /* Send a signal to a subprocess by "typing" a signal character. */ | ||
| 59 | #define SIGNALS_VIA_CHARACTERS | ||
| 60 | |||
| 61 | /* -lPW is only needed if not using Gcc. We used to include -lcposix here | ||
| 62 | for the rename function, but some people say ISC's rename doesn't | ||
| 63 | work correctly with Emacs so we use Emacs' emulation instead. */ | ||
| 64 | #if defined (__GNUC__) | ||
| 65 | # define LIB_STANDARD_1 -lcposix | ||
| 66 | #else /* !__GNUC__ */ | ||
| 67 | # define LIB_STANDARD_1 -lPW | ||
| 68 | #endif /* !__GNUC__ */ | ||
| 69 | |||
| 70 | /* LIB_STANDARD_1 is used both here and in LIBS_SYSTEM | ||
| 71 | (the latter for the sake of configure). */ | ||
| 72 | #define LIB_STANDARD LIB_STANDARD_1 -lc | ||
| 73 | |||
| 74 | #define NO_X_DESTROY_DATABASE | ||
| 75 | |||
| 76 | /* -linet may be needed to avoid undefined symbols such as gethostname, | ||
| 77 | inet_addr, gethostbyname, socket, connect, ... */ | ||
| 78 | #define LIBS_SYSTEM -linet LIB_STANDARD_1 | ||
| 79 | |||
| 80 | /* This system has job control. */ | ||
| 81 | #undef NOMULTIPLEJOBS | ||
| 82 | |||
| 83 | /* Inhibit asm code in netinet/in.h. Strictly speaking, only necessary | ||
| 84 | when -traditional is being used, but it doesn't hurt to | ||
| 85 | unconditionally define this. */ | ||
| 86 | #define NO_ASM | ||
| 87 | |||
| 88 | /* -traditional is not necessary if the system header files are fixed to | ||
| 89 | define getc and putc in the absence of _POSIX_SOURCE. GCC's from 2.4.4 | ||
| 90 | on do this. */ | ||
| 91 | #if !defined (__GNUC__) || __GNUC__ < 2 | ||
| 92 | # define C_SWITCH_SYSTEM -traditional | ||
| 93 | #endif | ||
| 94 | |||
| 95 | /* Some versions of ISC are said to define S_IFLNK even tho | ||
| 96 | they don't really support symlinks. */ | ||
| 97 | #undef S_IFLNK | ||
| 98 | |||
| 99 | /* arch-tag: 4de02713-eac5-4360-9d36-fd82c7a3ae44 | ||
| 100 | (do not change this comment) */ | ||
diff --git a/src/s/isc3-0.h b/src/s/isc3-0.h deleted file mode 100644 index 3df55031778..00000000000 --- a/src/s/isc3-0.h +++ /dev/null | |||
| @@ -1,70 +0,0 @@ | |||
| 1 | /* s- file for Interactive (ISC) Unix version 3.0 on the 386. | ||
| 2 | |||
| 3 | Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 4 | 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | #include "isc2-2.h" | ||
| 25 | |||
| 26 | /* This has been moved into isc2-2.h. */ | ||
| 27 | /* #define HAVE_SOCKETS */ | ||
| 28 | |||
| 29 | /* This appears on 3.0, presumably as part of what SunSoft call X2. */ | ||
| 30 | #undef NO_X_DESTROY_DATABASE | ||
| 31 | |||
| 32 | #ifdef __GNUC__ /* Currently we use -lcposix only with gcc */ | ||
| 33 | #define POSIX_SIGNALS | ||
| 34 | |||
| 35 | /* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */ | ||
| 36 | #undef sigsetmask | ||
| 37 | #undef HAVE_SYSV_SIGPAUSE | ||
| 38 | #endif | ||
| 39 | |||
| 40 | /* People say that using -traditional causes lossage with `const', | ||
| 41 | so we might as well try getting rid of -traditional. */ | ||
| 42 | #undef C_SWITCH_SYSTEM | ||
| 43 | |||
| 44 | /* We indirectly #include s/usg5-3.h, which says to use libX11_s and | ||
| 45 | libc_s. Martin Tomes <mt00@controls.eurotherm.co.uk> says that ISC | ||
| 46 | has no libX11_s, and that linking with libc_s causes sbrk not to work. */ | ||
| 47 | #undef LIB_X11_LIB | ||
| 48 | #undef LIBX11_SYSTEM | ||
| 49 | #define LIBX11_SYSTEM -lpt -lnls -lnsl_s | ||
| 50 | |||
| 51 | /* TIOCGWINSZ isn't broken; you just have to know where to find it. */ | ||
| 52 | #undef BROKEN_TIOCGWINSZ | ||
| 53 | #define NEED_SIOCTL | ||
| 54 | |||
| 55 | /* We need either _XOPEN_SOURCE or _POSIX_SOURCE to import the posix | ||
| 56 | signal symbols; might as well use _XOPEN_SOURCE. Defining _SYSV3 | ||
| 57 | ensures that we don't lose the traditional symbols as a side effect | ||
| 58 | from this or __STDC__ being defined. It can't hurt to Define | ||
| 59 | _XOPEN_SOURCE=500, the latest and greatest value as of this writing. */ | ||
| 60 | #define C_SWITCH_SYSTEM -D_XOPEN_SOURCE=500 -D_SYSV3 | ||
| 61 | |||
| 62 | #ifdef __GNUC__ /* Currently we use -lcposix only with gcc */ | ||
| 63 | /* This works around a bug in ISC 4.0 and 3.0; it fails | ||
| 64 | to clear the "POSIX process" flag on an exec. | ||
| 65 | It won't be needed for 4.1. */ | ||
| 66 | #define EXTRA_INITIALIZE __setostype (0) | ||
| 67 | #endif | ||
| 68 | |||
| 69 | /* arch-tag: c1aca3f2-813d-4c1c-ad64-ca6c20ec9bfb | ||
| 70 | (do not change this comment) */ | ||
diff --git a/src/s/isc4-0.h b/src/s/isc4-0.h deleted file mode 100644 index d180b5d182c..00000000000 --- a/src/s/isc4-0.h +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | #include "isc3-0.h" | ||
| 2 | |||
| 3 | #undef LIBS_SYSTEM | ||
| 4 | #define LIBS_SYSTEM -linet -lcposix | ||
| 5 | |||
| 6 | #define ISC4_0 | ||
| 7 | |||
| 8 | /* fmcphers@csugrad.cs.vt.edu reported this was necessary. | ||
| 9 | He used GCC. I don't know what is needed with other compilers. */ | ||
| 10 | #ifdef __GNUC__ | ||
| 11 | #undef LIBX11_SYSTEM | ||
| 12 | #define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lcposix -lc | ||
| 13 | #endif | ||
| 14 | |||
| 15 | /* Tobias Herbert <herbert@clipper.ikp.physik.th-darmstadt.de> | ||
| 16 | says this is needed. */ | ||
| 17 | |||
| 18 | #ifndef POSIX_SIGNALS | ||
| 19 | #ifndef sigblock | ||
| 20 | #ifndef SIG_BLOCK | ||
| 21 | #define SIG_BLOCK 0 | ||
| 22 | #endif | ||
| 23 | #define sigblock(sig) \ | ||
| 24 | (sigprocmask_set = SIGEMPTYMASK | (sig), \ | ||
| 25 | sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL)) | ||
| 26 | #define sigunblock(sig) \ | ||
| 27 | (sigprocmask_set = SIGFULLMASK & ~(sig), \ | ||
| 28 | sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL)) | ||
| 29 | #endif | ||
| 30 | #endif /* not POSIX_SIGNALS */ | ||
| 31 | |||
| 32 | /* arch-tag: 1278f86f-17f2-462d-88c9-85e4b5faa5c3 | ||
| 33 | (do not change this comment) */ | ||
diff --git a/src/s/isc4-1.h b/src/s/isc4-1.h deleted file mode 100644 index c37537e629c..00000000000 --- a/src/s/isc4-1.h +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | #include "isc3-0.h" | ||
| 2 | |||
| 3 | /* ISC 4.1 has renamed __setostype, but also has fixed the bug | ||
| 4 | for which we needed to call it; so just do nothing. uddeborg@carmen.se. */ | ||
| 5 | #undef EXTRA_INITIALIZE | ||
| 6 | |||
| 7 | #define ISC4_1 | ||
| 8 | |||
| 9 | #undef LIBS_SYSTEM | ||
| 10 | #define LIBS_SYSTEM -linet | ||
| 11 | |||
| 12 | /* uddeborg@carmen.se recommends the rest of this file. */ | ||
| 13 | |||
| 14 | /* A special startup file is used when compiling with Posix. */ | ||
| 15 | #define START_FILES pre-crt0.o /lib/crtp1.o | ||
| 16 | |||
| 17 | /* -lPW is only needed if not using Gcc. */ | ||
| 18 | #undef LIB_STANDARD | ||
| 19 | #if defined (__GNUC__) | ||
| 20 | # define LIB_STANDARD -lcposix -lc /lib/crtn.o | ||
| 21 | #else /* !__GNUC__ */ | ||
| 22 | # define LIB_STANDARD -lPW -lcposix -lc /lib/crtn.o | ||
| 23 | #endif /* !__GNUC__ */ | ||
| 24 | |||
| 25 | /* We have Posix termios. */ | ||
| 26 | #define HAVE_TERMIOS | ||
| 27 | /* According to template.h HAVE_TERMIO and HAVE_TERMIOS shouldn't be */ | ||
| 28 | /* defined at the same time. */ | ||
| 29 | #undef HAVE_TERMIO | ||
| 30 | |||
| 31 | /* ISC 4.1 has sys/wait.h but it does not work right. */ | ||
| 32 | #undef HAVE_SYS_WAIT_H | ||
| 33 | |||
| 34 | /* arch-tag: ec5c77d9-a330-4d93-8117-d2b374531c67 | ||
| 35 | (do not change this comment) */ | ||
diff --git a/src/s/newsos5.h b/src/s/newsos5.h deleted file mode 100644 index 9e149bc5ed0..00000000000 --- a/src/s/newsos5.h +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Sony's NEWS-OS 5.0.2 | ||
| 2 | Copyright (C) 1992, 1994, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* Use the SysVr4 file for at least base configuration. */ | ||
| 23 | |||
| 24 | #include "usg5-4.h" | ||
| 25 | |||
| 26 | #define NEWSOS5 | ||
| 27 | |||
| 28 | /* These will be defined by "m-mips.h". */ | ||
| 29 | #undef START_FILES | ||
| 30 | #undef LIB_STANDARD | ||
| 31 | |||
| 32 | #undef LIBS_SYSTEM | ||
| 33 | #define LIBS_SYSTEM -lsocket -lnsl -lgen | ||
| 34 | |||
| 35 | /* Disable use of "unexelf.c" and shared libraries, because | ||
| 36 | "unexelf.c" doesn't work correctly on NEWS-OS. "unexmips.c" does | ||
| 37 | work correctly if the program is linked statically without ELF. */ | ||
| 38 | #undef UNEXEC | ||
| 39 | #undef USG_SHARED_LIBRARIES | ||
| 40 | |||
| 41 | /* Use `ld' directly rather than ordinary link, because ordinary link | ||
| 42 | can't produce a non-ELF executable. */ | ||
| 43 | #undef ORDINARY_LINK | ||
| 44 | #define LINKER /usr/lib/cmplrs/cc/ld | ||
| 45 | #define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o | ||
| 46 | #define LIB_STANDARD -lc /usr/ccs/lib/crtn.o /usr/ccs/lib/values-Xt.o | ||
| 47 | |||
| 48 | #ifndef HAVE_SOCKETS | ||
| 49 | #define HAVE_SOCKETS | ||
| 50 | #endif | ||
| 51 | |||
| 52 | /* arch-tag: 2bb78fcd-fbc4-46dd-a14b-e4a9be957fe0 | ||
| 53 | (do not change this comment) */ | ||
diff --git a/src/s/newsos6.h b/src/s/newsos6.h deleted file mode 100644 index ca3dbe706d0..00000000000 --- a/src/s/newsos6.h +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Sony's NEWS-OS 6.x */ | ||
| 2 | |||
| 3 | #include "usg5-4-2.h" | ||
| 4 | |||
| 5 | #define NEWSOS6 | ||
| 6 | #define HAVE_TEXT_START | ||
| 7 | |||
| 8 | /* arch-tag: a0db9cb0-43bb-4f9e-85fa-384e30f02d74 | ||
| 9 | (do not change this comment) */ | ||
diff --git a/src/s/osf1.h b/src/s/osf1.h deleted file mode 100644 index 7e55ce4fb6d..00000000000 --- a/src/s/osf1.h +++ /dev/null | |||
| @@ -1,99 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on osf1. | ||
| 2 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 3 | 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | #include "bsd4-3.h" | ||
| 24 | |||
| 25 | /* Identify OSF1 for the m- files. */ | ||
| 26 | |||
| 27 | #define OSF1 | ||
| 28 | |||
| 29 | #define C_SWITCH_SYSTEM -D_BSD | ||
| 30 | #define LIBS_SYSTEM -lbsd | ||
| 31 | |||
| 32 | #define GETPGRP_NO_ARG | ||
| 33 | |||
| 34 | #define SYSV_SYSTEM_DIR | ||
| 35 | |||
| 36 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 37 | preprocessor symbol "COFF". */ | ||
| 38 | |||
| 39 | #define COFF | ||
| 40 | |||
| 41 | /* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option | ||
| 42 | says where to find X windows at run time. We convert it to a -rpath option | ||
| 43 | which is what OSF1 uses. */ | ||
| 44 | #define LD_SWITCH_SYSTEM `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'` | ||
| 45 | |||
| 46 | #define HAVE_TERMIOS | ||
| 47 | |||
| 48 | #ifndef __GNUC__ | ||
| 49 | /* Optimize, inaccurate debugging. */ | ||
| 50 | #define C_DEBUG_SWITCH -g3 | ||
| 51 | #endif | ||
| 52 | |||
| 53 | #ifndef NOT_C_CODE | ||
| 54 | #ifndef OSF5 /* fixed in 5.0 */ | ||
| 55 | /* Hack alert! For reasons unknown to mankind the string.h file insists | ||
| 56 | on defining bcopy etc. as taking char pointers as arguments. With | ||
| 57 | Emacs this produces an endless amount of warning which are harmless, | ||
| 58 | but tends to flood the real errors. This hack works around this problem | ||
| 59 | by not prototyping. */ | ||
| 60 | #define bcopy string_h_bcopy | ||
| 61 | #define bzero string_h_bzero | ||
| 62 | #define bcmp string_h_bcmp | ||
| 63 | #include <string.h> | ||
| 64 | #undef bcopy | ||
| 65 | #undef bzero | ||
| 66 | #undef bcmp | ||
| 67 | #endif | ||
| 68 | #endif | ||
| 69 | |||
| 70 | #define ORDINARY_LINK | ||
| 71 | |||
| 72 | /* Some systems seem to have this, others don't. */ | ||
| 73 | #ifdef HAVE_LIBDNET | ||
| 74 | #define LIBS_MACHINE -ldnet | ||
| 75 | #else | ||
| 76 | #define LIBS_MACHINE -ldnet_stub | ||
| 77 | #endif | ||
| 78 | |||
| 79 | #define LIBS_DEBUG | ||
| 80 | #define START_FILES pre-crt0.o | ||
| 81 | |||
| 82 | #define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */ | ||
| 83 | #define PTY_NAME_SPRINTF /* none */ | ||
| 84 | #define PTY_TTY_NAME_SPRINTF /* none */ | ||
| 85 | #define PTY_OPEN \ | ||
| 86 | do \ | ||
| 87 | { \ | ||
| 88 | int dummy; \ | ||
| 89 | SIGMASKTYPE mask; \ | ||
| 90 | mask = sigblock (sigmask (SIGCHLD)); \ | ||
| 91 | if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \ | ||
| 92 | fd = -1; \ | ||
| 93 | sigsetmask (mask); \ | ||
| 94 | emacs_close (dummy); \ | ||
| 95 | } \ | ||
| 96 | while (0) | ||
| 97 | |||
| 98 | /* arch-tag: 65eaea67-fcc3-4de7-8574-d46beb82d4ed | ||
| 99 | (do not change this comment) */ | ||
diff --git a/src/s/osf5-0.h b/src/s/osf5-0.h deleted file mode 100644 index 4f22f6d641b..00000000000 --- a/src/s/osf5-0.h +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | #define OSF5 | ||
| 2 | #include "osf1.h" | ||
| 3 | |||
| 4 | /* It's enough to define _OSF_SOURCE instead of _BSD. */ | ||
| 5 | |||
| 6 | #undef C_SWITCH_SYSTEM | ||
| 7 | #define C_SWITCH_SYSTEM -D_OSF_SOURCE | ||
| 8 | |||
| 9 | #ifndef NSIG /* _OSF_SOURCE seems to get us this */ | ||
| 10 | #define NSIG __sys_nsig | ||
| 11 | #endif | ||
| 12 | |||
| 13 | /* We have missing/inconsistent prototypes on 5.0, at least. */ | ||
| 14 | #define INHIBIT_X11R6_XIM | ||
| 15 | |||
| 16 | #define USE_MMAP_FOR_BUFFERS 1 | ||
| 17 | |||
| 18 | #define TERMINFO | ||
| 19 | #define LIBS_TERMCAP -lcurses | ||
| 20 | |||
| 21 | #define GC_SETJMP_WORKS 1 | ||
| 22 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
| 23 | |||
| 24 | /* arch-tag: 89580064-dd8c-4533-a47c-0f92d8090945 | ||
| 25 | (do not change this comment) */ | ||
diff --git a/src/s/riscix1-1.h b/src/s/riscix1-1.h deleted file mode 100644 index cccbbd3b2c8..00000000000 --- a/src/s/riscix1-1.h +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on RISCiX 1.1 (bsd 4.3) */ | ||
| 2 | |||
| 3 | #define RISCiX_1_1 1 | ||
| 4 | #define RISCiX 11 | ||
| 5 | #define CRT0_O /lib/crt0.o | ||
| 6 | #include "bsd4-3.h" | ||
| 7 | |||
| 8 | /* arch-tag: 382df034-9843-4a82-8a3a-2e50a4dd532c | ||
| 9 | (do not change this comment) */ | ||
diff --git a/src/s/riscix12.h b/src/s/riscix12.h deleted file mode 100644 index cc81c7da1c7..00000000000 --- a/src/s/riscix12.h +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on RISCiX 1.2 (bsd 4.3) | ||
| 2 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, | ||
| 3 | 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | #define RISCiX_1_2 1 | ||
| 24 | #define RISCiX 12 | ||
| 25 | #define CRT0_O /usr/lib/crt0.o | ||
| 26 | #include "bsd4-3.h" | ||
| 27 | |||
| 28 | /* arch-tag: f6b21e0a-f676-418a-9c8a-10fa8cd9dba7 | ||
| 29 | (do not change this comment) */ | ||
diff --git a/src/s/sco4.h b/src/s/sco4.h deleted file mode 100644 index d16bcbead49..00000000000 --- a/src/s/sco4.h +++ /dev/null | |||
| @@ -1,145 +0,0 @@ | |||
| 1 | /* System description file for SCO 3.2v4. | ||
| 2 | Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* Contributed by Ian Lance Taylor, ian@cygnus.com. */ | ||
| 23 | |||
| 24 | /* SCO is sort of like SVR3. */ | ||
| 25 | #include "usg5-3.h" | ||
| 26 | #define SCO_R4 | ||
| 27 | |||
| 28 | #if 0 /* Turned off rather than make the Lisp code check for this. -- rms. | ||
| 29 | I am assuming that (at least most of) the tests for usg-unix-v | ||
| 30 | do the right thing for sco3.2v4 also. Things that *might* be wrong | ||
| 31 | as a result of turning off these lines include the values of | ||
| 32 | ange-ftp-remote-shell-file-name (now remsh) | ||
| 33 | dired-chown-program (now just chown) | ||
| 34 | lpr-command (now lp) | ||
| 35 | nntp-buggy-select (now t) | ||
| 36 | rmail-spool-directory (now /usr/mail?) | ||
| 37 | and the actions of the function print-region-1. */ | ||
| 38 | |||
| 39 | /* SYSTEM_TYPE should indicate the kind of system you are using. */ | ||
| 40 | #undef SYSTEM_TYPE | ||
| 41 | #define SYSTEM_TYPE "SCO 3.2v4" | ||
| 42 | #endif | ||
| 43 | |||
| 44 | /* SCO supports job control. */ | ||
| 45 | #undef NOMULTIPLEJOBS | ||
| 46 | |||
| 47 | /* SCO has termios. */ | ||
| 48 | #define HAVE_TERMIOS | ||
| 49 | |||
| 50 | /* SCO has ptys with unusual names. */ | ||
| 51 | #define HAVE_PTYS | ||
| 52 | |||
| 53 | #define PTY_ITERATION \ | ||
| 54 | for (i = 0; ; i++) | ||
| 55 | #define PTY_NAME_SPRINTF \ | ||
| 56 | sprintf (pty_name, "/dev/ptyp%d", i); | ||
| 57 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 58 | sprintf (pty_name, "/dev/ttyp%d", i); | ||
| 59 | |||
| 60 | /* Sockets are an option on SCO. If you have X, you have them. | ||
| 61 | They also exist if you have TCP, but we don't know how to test | ||
| 62 | for that. */ | ||
| 63 | #ifdef HAVE_X_WINDOWS | ||
| 64 | #define HAVE_SOCKETS | ||
| 65 | #endif | ||
| 66 | |||
| 67 | /* Must use 'cc' to link when build with motif toolkit. */ | ||
| 68 | #ifndef __GNUC__ | ||
| 69 | #define LINKER cc | ||
| 70 | #endif | ||
| 71 | |||
| 72 | /* This is safe since we already assumed HAVE_SOCKET | ||
| 73 | if using X windows. */ | ||
| 74 | #undef LIBX11_SYSTEM | ||
| 75 | #define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s -lsocket | ||
| 76 | |||
| 77 | /* Motif needs -lintl on some (maybe all) ofthese systems. */ | ||
| 78 | #ifdef HAVE_LIBINTL | ||
| 79 | #define LIB_MOTIF -lXm -lintl | ||
| 80 | #endif | ||
| 81 | |||
| 82 | #ifdef HAVE_INET_SOCKETS /* This comes from autoconf. */ | ||
| 83 | #define HAVE_SOCKETS | ||
| 84 | #endif | ||
| 85 | |||
| 86 | #ifdef HAVE_SOCKETS | ||
| 87 | #define LIBS_SYSTEM -lsocket -lPW | ||
| 88 | |||
| 89 | /* SCO has gettimeofday in socket library */ | ||
| 90 | /* Autoconf should determine this, but for now, | ||
| 91 | play safe to avoid error rather than deleting this | ||
| 92 | and risking the wrong result. */ | ||
| 93 | #ifndef HAVE_GETTIMEOFDAY | ||
| 94 | #define HAVE_GETTIMEOFDAY | ||
| 95 | #endif | ||
| 96 | #endif | ||
| 97 | |||
| 98 | /* This enables configure to tell that we have alloca. */ | ||
| 99 | #ifndef LIBS_SYSTEM | ||
| 100 | #define LIBS_SYSTEM -lPW | ||
| 101 | #endif | ||
| 102 | |||
| 103 | /* configure can't get this right linking fails unless -lsocket is used. */ | ||
| 104 | #undef HAVE_XSCREENNUMBEROFSCREEN | ||
| 105 | #define HAVE_XSCREENNUMBEROFSCREEN | ||
| 106 | |||
| 107 | /* We don't have -loldX, and we don't need it. */ | ||
| 108 | #define LIB_XMENU_LIB | ||
| 109 | |||
| 110 | /* SCO does have TIOCGWINSZ. */ | ||
| 111 | #undef BROKEN_TIOCGWINSZ | ||
| 112 | #define NEED_PTEM_H | ||
| 113 | |||
| 114 | /* We need to link with crt1.o and crtn.o. */ | ||
| 115 | #define START_FILES pre-crt0.o /lib/crt1.o | ||
| 116 | #define LIB_STANDARD -lc /lib/crtn.o | ||
| 117 | |||
| 118 | /* Send signals to subprocesses by "typing" signal chars at them. */ | ||
| 119 | #define SIGNALS_VIA_CHARACTERS | ||
| 120 | |||
| 121 | /* Specify program for etc/fakemail to run. Define SMAIL if you are | ||
| 122 | using smail, don't for MMDF. */ | ||
| 123 | |||
| 124 | #ifdef SMAIL | ||
| 125 | #define MAIL_PROGRAM_NAME "/bin/smail -q0" | ||
| 126 | #else | ||
| 127 | #define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail" | ||
| 128 | #endif | ||
| 129 | |||
| 130 | /* Tell process_send_signal to use VSUSP instead of VSWTCH. */ | ||
| 131 | #define PREFER_VSUSP | ||
| 132 | |||
| 133 | /* wjs@wang.com (William Smith) says this is needed on 3.2.4.2. */ | ||
| 134 | #define POSIX_SIGNALS | ||
| 135 | |||
| 136 | /* wjs@wiis.wang.com says SCO 3.2 v4.2 "has sockets", | ||
| 137 | but only for network connections. | ||
| 138 | It doesn't have the kind of sockets that emacsclient.c | ||
| 139 | and emacsserver.c would use. */ | ||
| 140 | #define NO_SOCKETS_IN_FILE_SYSTEM | ||
| 141 | |||
| 142 | #define NARROWPROTO 1 | ||
| 143 | |||
| 144 | /* arch-tag: 4dd6fe94-bcb7-4be0-942a-ff4bc3cd914e | ||
| 145 | (do not change this comment) */ | ||
diff --git a/src/s/sco5.h b/src/s/sco5.h deleted file mode 100644 index 1f56a998014..00000000000 --- a/src/s/sco5.h +++ /dev/null | |||
| @@ -1,175 +0,0 @@ | |||
| 1 | /* System description file for SCO 3.2v5. | ||
| 2 | Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 3 | 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 19 | Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* Contributed by Mark Diekhans <markd@grizzly.com>. */ | ||
| 23 | |||
| 24 | /* SCO is sort of like SVR3. */ | ||
| 25 | #include "usg5-3.h" | ||
| 26 | #define SCO_R5 | ||
| 27 | |||
| 28 | #if 0 /* Turned off rather than make the Lisp code check for this. -- rms. | ||
| 29 | I am assuming that (at least most of) the tests for usg-unix-v | ||
| 30 | do the right thing for sco3.2v4 also. Things that *might* be wrong | ||
| 31 | as a result of turning off these lines include the values of | ||
| 32 | ange-ftp-remote-shell-file-name (now remsh) | ||
| 33 | dired-chown-program (now just chown) | ||
| 34 | lpr-command (now lp) | ||
| 35 | nntp-buggy-select (now t) | ||
| 36 | rmail-spool-directory (now /usr/mail?) | ||
| 37 | and the actions of the function print-region-1. */ | ||
| 38 | |||
| 39 | /* SYSTEM_TYPE should indicate the kind of system you are using. */ | ||
| 40 | #undef SYSTEM_TYPE | ||
| 41 | #define SYSTEM_TYPE "SCO 3.2v4" | ||
| 42 | #endif | ||
| 43 | |||
| 44 | /* SCO supports job control. */ | ||
| 45 | #undef NOMULTIPLEJOBS | ||
| 46 | |||
| 47 | /* SCO has termios. */ | ||
| 48 | #define HAVE_TERMIOS | ||
| 49 | |||
| 50 | /* SCO has ptys with unusual names. */ | ||
| 51 | #define HAVE_PTYS | ||
| 52 | |||
| 53 | #define PTY_ITERATION \ | ||
| 54 | for (i = 0; ; i++) | ||
| 55 | #define PTY_NAME_SPRINTF \ | ||
| 56 | sprintf (pty_name, "/dev/ptyp%d", i); | ||
| 57 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 58 | sprintf (pty_name, "/dev/ttyp%d", i); | ||
| 59 | |||
| 60 | /* Sockets are an option on SCO. If you have X, you have them. | ||
| 61 | They also exist if you have TCP, but we don't know how to test | ||
| 62 | for that. */ | ||
| 63 | #ifdef HAVE_X_WINDOWS | ||
| 64 | #define HAVE_SOCKETS | ||
| 65 | #endif | ||
| 66 | |||
| 67 | #ifndef __GNUC__ | ||
| 68 | #define LINKER ld | ||
| 69 | #endif | ||
| 70 | |||
| 71 | /* This is safe since we already assumed HAVE_SOCKET | ||
| 72 | if using X windows. */ | ||
| 73 | #undef LIBX11_SYSTEM | ||
| 74 | #define LIBX11_SYSTEM_COMMON -lpt -lnls -lnsl -lc -lsocket | ||
| 75 | #ifdef MOTIF | ||
| 76 | # define LIBX11_SYSTEM -lgen LIBX11_SYSTEM_COMMON | ||
| 77 | #else /* ndef MOTIF */ | ||
| 78 | # define LIBX11_SYSTEM LIBX11_SYSTEM_COMMON | ||
| 79 | #endif /* ndef MOTIF */ | ||
| 80 | |||
| 81 | #undef LIB_X11_LIB | ||
| 82 | #define LIB_X11_LIB -lX11 | ||
| 83 | |||
| 84 | #ifdef HAVE_INET_SOCKETS /* This comes from autoconf. */ | ||
| 85 | #define HAVE_SOCKETS | ||
| 86 | #endif | ||
| 87 | |||
| 88 | #ifdef HAVE_SOCKETS | ||
| 89 | #define LIBS_SYSTEM -lsocket -lPW | ||
| 90 | #endif | ||
| 91 | |||
| 92 | #ifndef HAVE_GETTIMEOFDAY | ||
| 93 | #define HAVE_GETTIMEOFDAY | ||
| 94 | #endif | ||
| 95 | |||
| 96 | /* This enables configure to tell that we have alloca. */ | ||
| 97 | #ifndef LIBS_SYSTEM | ||
| 98 | #define LIBS_SYSTEM -lPW | ||
| 99 | #endif | ||
| 100 | |||
| 101 | /* configure can't get this right linking fails unless -lsocket is used. */ | ||
| 102 | #undef HAVE_XSCREENNUMBEROFSCREEN | ||
| 103 | #define HAVE_XSCREENNUMBEROFSCREEN | ||
| 104 | |||
| 105 | /* We don't have -loldX, and we don't need it. */ | ||
| 106 | #define LIB_XMENU_LIB | ||
| 107 | |||
| 108 | /* SCO does have TIOCGWINSZ. */ | ||
| 109 | #undef BROKEN_TIOCGWINSZ | ||
| 110 | #define NEED_PTEM_H | ||
| 111 | |||
| 112 | /* We need to link with crt1.o and crtn.o. */ | ||
| 113 | #define START_FILES pre-crt0.o /lib/crt1.o | ||
| 114 | #define LIB_STANDARD -lc /lib/crtn.o | ||
| 115 | |||
| 116 | /* Send signals to subprocesses by "typing" signal chars at them. */ | ||
| 117 | #define SIGNALS_VIA_CHARACTERS | ||
| 118 | |||
| 119 | /* Specify program for etc/fakemail to run. Define SMAIL if you are | ||
| 120 | using smail, don't for MMDF. */ | ||
| 121 | |||
| 122 | #ifdef SMAIL | ||
| 123 | #define MAIL_PROGRAM_NAME "/bin/smail -q0" | ||
| 124 | #else | ||
| 125 | #define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail" | ||
| 126 | #endif | ||
| 127 | |||
| 128 | /* Tell process_send_signal to use VSUSP instead of VSWTCH. */ | ||
| 129 | #define PREFER_VSUSP | ||
| 130 | |||
| 131 | /* SCO Unix has Posix signals, but in 3.2.5 something broken that causes | ||
| 132 | * all keyboard-quit signals to be lost after the first one. */ | ||
| 133 | #undef POSIX_SIGNALS | ||
| 134 | |||
| 135 | #define SIGMASKTYPE long | ||
| 136 | |||
| 137 | #ifndef NOT_C_CODE | ||
| 138 | extern SIGMASKTYPE sigprocmask_set; | ||
| 139 | #endif /* not NOT_C_CODE */ | ||
| 140 | |||
| 141 | #define sigblock(sig) \ | ||
| 142 | (sigprocmask_set = SIGEMPTYMASK | (sig), \ | ||
| 143 | sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL)) | ||
| 144 | #define sigunblock(sig) \ | ||
| 145 | (sigprocmask_set = SIGFULLMASK & ~(sig), \ | ||
| 146 | sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL)) | ||
| 147 | |||
| 148 | #ifndef PENDING_OUTPUT_COUNT | ||
| 149 | #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base) | ||
| 150 | #endif | ||
| 151 | |||
| 152 | /* Use ELF and get real shared libraries */ | ||
| 153 | |||
| 154 | #undef COFF | ||
| 155 | #define ELF | ||
| 156 | |||
| 157 | #define UNEXEC unexelf.o | ||
| 158 | |||
| 159 | #ifndef __GNUC__ | ||
| 160 | #define C_SWITCH_SYSTEM -belf | ||
| 161 | #define LD_SWITCH_SYSTEM -belf | ||
| 162 | #endif | ||
| 163 | |||
| 164 | /* Don't disable static function, as SCO's header files have some.*/ | ||
| 165 | #undef static | ||
| 166 | |||
| 167 | #undef START_FILES | ||
| 168 | #define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/values-Xt.o | ||
| 169 | #undef LIB_STANDARD | ||
| 170 | #define LIB_STANDARD -lc /usr/ccs/lib/crtn.o | ||
| 171 | |||
| 172 | #define NARROWPROTO 1 | ||
| 173 | |||
| 174 | /* arch-tag: 930541b5-52d9-4cbe-b73c-f4c72091f5df | ||
| 175 | (do not change this comment) */ | ||
diff --git a/src/s/sunos4-0.h b/src/s/sunos4-0.h deleted file mode 100644 index bf77812f32c..00000000000 --- a/src/s/sunos4-0.h +++ /dev/null | |||
| @@ -1,75 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on sunos 4.0. | ||
| 2 | |||
| 3 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 4 | 2007 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. */ | ||
| 22 | |||
| 23 | |||
| 24 | #include "bsd4-2.h" | ||
| 25 | |||
| 26 | #ifndef SUNOS4 | ||
| 27 | #define SUNOS4 | ||
| 28 | #endif | ||
| 29 | |||
| 30 | #if 0 /* This may have been needed for an earlier version of Sun OS 4. | ||
| 31 | It seems to cause warnings in 4.0.3 and 4.1. */ | ||
| 32 | #define O_NDELAY FNDELAY /* Non-blocking I/O (4.2 style) */ | ||
| 33 | #endif | ||
| 34 | |||
| 35 | /* We use the Sun syntax -Bstatic unconditionally, because even when we | ||
| 36 | use GCC, these are passed through to the linker, not handled by GCC | ||
| 37 | directly. */ | ||
| 38 | #define LD_SWITCH_SYSTEM -Bstatic | ||
| 39 | |||
| 40 | /* We use this for linking temacs, but not for other programs | ||
| 41 | or for tests in configure. */ | ||
| 42 | #define LD_SWITCH_SYSTEM_TEMACS -e __start | ||
| 43 | |||
| 44 | /* In SunOS 4.1, a static function called by tzsetwall reportedly | ||
| 45 | clears the byte just past an eight byte region it mallocs, corrupting | ||
| 46 | GNU malloc's memory pool. But Sun's malloc doesn't seem to mind. */ | ||
| 47 | |||
| 48 | #define SYSTEM_MALLOC | ||
| 49 | |||
| 50 | /* SunOS 4.x cc <stdlib.h> declares abort and free to return int. */ | ||
| 51 | |||
| 52 | #ifndef __STDC__ | ||
| 53 | #define ABORT_RETURN_TYPE int | ||
| 54 | #define FREE_RETURN_TYPE int | ||
| 55 | #endif | ||
| 56 | |||
| 57 | #ifdef __GNUC__ | ||
| 58 | /* We must define mkdir with this arg prototype | ||
| 59 | to match GCC's fixed stat.h. */ | ||
| 60 | #define MKDIR_PROTOTYPE \ | ||
| 61 | int mkdir (const char *dpath, unsigned short dmode) | ||
| 62 | #endif /* __GNUC__ */ | ||
| 63 | |||
| 64 | /* Must use the system's termcap, if we use any termcap. | ||
| 65 | It does special things. */ | ||
| 66 | |||
| 67 | #ifndef TERMINFO | ||
| 68 | #define LIBS_TERMCAP -ltermcap | ||
| 69 | #endif | ||
| 70 | |||
| 71 | #define GC_SETJMP_WORKS 1 | ||
| 72 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | ||
| 73 | |||
| 74 | /* arch-tag: 362f3bfc-810d-4f6e-9b83-5a32f8f1a926 | ||
| 75 | (do not change this comment) */ | ||
diff --git a/src/s/sunos4-1.h b/src/s/sunos4-1.h deleted file mode 100644 index 2e41c55bbfe..00000000000 --- a/src/s/sunos4-1.h +++ /dev/null | |||
| @@ -1,36 +0,0 @@ | |||
| 1 | #include "sunos4-0.h" | ||
| 2 | |||
| 3 | /* Cause the compilation of oldxmenu to use the right -I option. */ | ||
| 4 | #define OLDXMENU_OPTIONS CFLAGS=C_SWITCH_SYSTEM | ||
| 5 | |||
| 6 | #if 0 /* This isn't right. Apparently some sites do have -lresolv | ||
| 7 | but don't use that. On those systems, the code below loses. | ||
| 8 | There's no way to win automatically unless someone | ||
| 9 | figures out a way of determining automatically which way is right | ||
| 10 | on any given system. */ | ||
| 11 | /* Some systems do not run the Network Information Service, but have | ||
| 12 | modified the shared C library to include resolver support without | ||
| 13 | also changing the C archive library (/usr/lib/libc.a). If we | ||
| 14 | detect the presence of libresolv.a, use -lresolv to supplement libc.a. | ||
| 15 | |||
| 16 | We used to have #ifdef HAVE_GETHOSTNAME is to prevent configure from | ||
| 17 | setting libsrc_libs to -lresolv in lib-src/Makefile. But nowadays | ||
| 18 | configure is smarter about computing libsrc_libs, and would not | ||
| 19 | be fooled. Anyway, why not use -lresolv in lib-src? */ | ||
| 20 | /* #ifdef HAVE_GETHOSTNAME */ | ||
| 21 | #ifdef HAVE_LIBRESOLV | ||
| 22 | #define LIBS_SYSTEM -lresolv | ||
| 23 | #endif | ||
| 24 | /* #endif */ | ||
| 25 | #endif | ||
| 26 | |||
| 27 | #if 0 /* Not necessary, since SYSTEM_MALLOC is defined in sunos4-0.h. */ | ||
| 28 | /* Tell GNU malloc to compensate for a bug in localtime. */ | ||
| 29 | #define SUNOS_LOCALTIME_BUG | ||
| 30 | #endif | ||
| 31 | |||
| 32 | /* Define dlopen, dlclose, dlsym. */ | ||
| 33 | #define USE_DL_STUBS | ||
| 34 | |||
| 35 | /* arch-tag: 154e2eb2-2180-4d66-90b9-7e56a22004f2 | ||
| 36 | (do not change this comment) */ | ||
diff --git a/src/s/sunos413.h b/src/s/sunos413.h deleted file mode 100644 index 9f40f2fa3af..00000000000 --- a/src/s/sunos413.h +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | #include "sunos4-1.h" | ||
| 2 | |||
| 3 | /* jik@gza.com says this works now. */ | ||
| 4 | /* The bug that corrupts GNU malloc's memory pool is fixed in SunOS 4.1.3. */ | ||
| 5 | |||
| 6 | #undef SYSTEM_MALLOC | ||
| 7 | |||
| 8 | /* barrie@calvin.demon.co.uk says memmove is missing. */ | ||
| 9 | #ifndef SYSTEM_MALLOC | ||
| 10 | #define MEMMOVE_MISSING | ||
| 11 | #endif | ||
| 12 | |||
| 13 | #define USE_MMAP_FOR_BUFFERS 1 | ||
| 14 | |||
| 15 | /* arch-tag: ebd184b0-9084-4306-8e71-c0437330e1e1 | ||
| 16 | (do not change this comment) */ | ||
diff --git a/src/s/sunos4shr.h b/src/s/sunos4shr.h deleted file mode 100644 index 5ebbae3a0a2..00000000000 --- a/src/s/sunos4shr.h +++ /dev/null | |||
| @@ -1,84 +0,0 @@ | |||
| 1 | /* | ||
| 2 | Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 3 | 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* This file permits building Emacs with a shared libc on Sunos 4. | ||
| 24 | To make this work, you must completely replace your C shared library | ||
| 25 | using one of the SunOS 4.1.x jumbo replacement patches from Sun. | ||
| 26 | Here are the patch numbers for Sunos 4.1.3: | ||
| 27 | 100890-10 SunOS 4.1.3: domestic libc jumbo patch | ||
| 28 | 100891-10 SunOS 4.1.3: international libc jumbo patch */ | ||
| 29 | |||
| 30 | |||
| 31 | #include "sunos4-1.h" | ||
| 32 | |||
| 33 | /* Say that the text segment of a.out includes the header; | ||
| 34 | the header actually occupies the first few bytes of the text segment | ||
| 35 | and is counted in hdr.a_text. */ | ||
| 36 | |||
| 37 | /* Misleading! Actually gets loaded after crt0.o */ | ||
| 38 | #define START_FILES pre-crt0.o | ||
| 39 | |||
| 40 | /* | ||
| 41 | * Kludge! can't get at symbol "start" in std crt0.o | ||
| 42 | * Who the #$%&* decided to remove the __ characters! | ||
| 43 | * Someone needs to fix this in sysdep.c with an #ifdef BROKEN_START in | ||
| 44 | * sysdep.c. We do not use this address so any value should do really. Still | ||
| 45 | * may need it in the future? | ||
| 46 | */ | ||
| 47 | #define BROKEN_START | ||
| 48 | #define TEXT_START 0x2020 | ||
| 49 | |||
| 50 | #define UNEXEC unexsunos4.o | ||
| 51 | #define RUN_TIME_REMAP | ||
| 52 | #define ORDINARY_LINK | ||
| 53 | #define SUNOS4_SHARED_LIBRARIES | ||
| 54 | |||
| 55 | #undef LD_SWITCH_SYSTEM | ||
| 56 | #undef LD_SWITCH_SYSTEM_TEMACS | ||
| 57 | |||
| 58 | #undef SYSTEM_MALLOC | ||
| 59 | #ifndef GNU_MALLOC | ||
| 60 | #define GNU_MALLOC | ||
| 61 | #endif | ||
| 62 | #ifndef REL_ALLOC | ||
| 63 | #define REL_ALLOC | ||
| 64 | #endif | ||
| 65 | |||
| 66 | /* khera@cs.duke.edu says this is needed. */ | ||
| 67 | #define memmove(to, from, size) bcopy (from, to, size) | ||
| 68 | |||
| 69 | #undef USE_DL_STUBS | ||
| 70 | |||
| 71 | #ifndef HAVE_X11R6 | ||
| 72 | /* With X11R5 it was reported that linking -lXmu dynamically | ||
| 73 | did not work. With X11R6, it does work; and since normally | ||
| 74 | only the dynamic libraries are available, we should use them. */ | ||
| 75 | #ifdef __GNUC__ | ||
| 76 | #define LIBXMU -Xlinker -Bstatic -lXmu -Xlinker -Bdynamic | ||
| 77 | #else | ||
| 78 | #define LIBXMU -Bstatic -lXmu -Bdynamic | ||
| 79 | #endif | ||
| 80 | |||
| 81 | #endif /* not HAVE_X11R6 */ | ||
| 82 | |||
| 83 | /* arch-tag: cb54321a-ed45-4c17-a23e-1c157758da78 | ||
| 84 | (do not change this comment) */ | ||
diff --git a/src/s/umax.h b/src/s/umax.h deleted file mode 100644 index aa73faa4917..00000000000 --- a/src/s/umax.h +++ /dev/null | |||
| @@ -1,170 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on UMAX 4.2 | ||
| 2 | Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* | ||
| 24 | * Define symbols to identify the version of Unix this is. | ||
| 25 | * Define all the symbols that apply correctly. | ||
| 26 | */ | ||
| 27 | |||
| 28 | /* #define UNIPLUS */ | ||
| 29 | /* #define USG5 */ | ||
| 30 | /* #define USG */ | ||
| 31 | /* #define BSD4_1 */ | ||
| 32 | #define BSD4_2 | ||
| 33 | /* #define BSD4_3 */ | ||
| 34 | #define BSD_SYSTEM | ||
| 35 | #define UMAX4_2 | ||
| 36 | #define UMAX | ||
| 37 | /* #define VMS */ | ||
| 38 | |||
| 39 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 40 | It sets the Lisp variable system-type. */ | ||
| 41 | |||
| 42 | #define SYSTEM_TYPE "berkeley-unix" | ||
| 43 | |||
| 44 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 45 | does not have "job control" (the ability to stop a program, | ||
| 46 | run some other program, then continue the first one). */ | ||
| 47 | |||
| 48 | /* #define NOMULTIPLEJOBS */ | ||
| 49 | |||
| 50 | /* Emacs can read input using SIGIO and buffering characters itself, | ||
| 51 | or using CBREAK mode and making C-g cause SIGINT. | ||
| 52 | The choice is controlled by the variable interrupt_input. | ||
| 53 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | ||
| 54 | |||
| 55 | SIGIO can be used only on systems that implement it (4.2 and 4.3). | ||
| 56 | CBREAK mode has two disadvantages | ||
| 57 | 1) At least in 4.2, it is impossible to handle the Meta key properly. | ||
| 58 | I hear that in system V this problem does not exist. | ||
| 59 | 2) Control-G causes output to be discarded. | ||
| 60 | I do not know whether this can be fixed in system V. | ||
| 61 | |||
| 62 | Another method of doing input is planned but not implemented. | ||
| 63 | It would have Emacs fork off a separate process | ||
| 64 | to read the input and send it to the true Emacs process | ||
| 65 | through a pipe. | ||
| 66 | */ | ||
| 67 | |||
| 68 | #define INTERRUPT_INPUT | ||
| 69 | |||
| 70 | /* Letter to use in finding device name of first pty, | ||
| 71 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 72 | |||
| 73 | #define FIRST_PTY_LETTER 'p' | ||
| 74 | |||
| 75 | /* | ||
| 76 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 77 | */ | ||
| 78 | |||
| 79 | #define HAVE_PTYS | ||
| 80 | |||
| 81 | /* Define this macro if system defines a type `union wait'. */ | ||
| 82 | |||
| 83 | #define HAVE_UNION_WAIT | ||
| 84 | |||
| 85 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 86 | |||
| 87 | #define HAVE_SOCKETS | ||
| 88 | |||
| 89 | /* | ||
| 90 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 91 | * The 4.2 opendir, etc., library functions. | ||
| 92 | */ | ||
| 93 | |||
| 94 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 95 | |||
| 96 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 97 | |||
| 98 | #define BSTRING | ||
| 99 | |||
| 100 | /* subprocesses should be defined if you want to | ||
| 101 | have code for asynchronous subprocesses | ||
| 102 | (as used in M-x compile and M-x shell). | ||
| 103 | This is generally OS dependent, and not supported | ||
| 104 | under most USG systems. */ | ||
| 105 | |||
| 106 | #define subprocesses | ||
| 107 | |||
| 108 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 109 | preprocessor symbol "COFF". */ | ||
| 110 | |||
| 111 | #define COFF | ||
| 112 | |||
| 113 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 114 | to interlock access to /usr/spool/mail/$USER. | ||
| 115 | The alternative is that a lock file named | ||
| 116 | /usr/spool/mail/$USER.lock. */ | ||
| 117 | |||
| 118 | #define MAIL_USE_FLOCK | ||
| 119 | |||
| 120 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 121 | so that Emacs can tell instantly when you try to modify | ||
| 122 | a file that someone else has modified in his Emacs. */ | ||
| 123 | |||
| 124 | #define CLASH_DETECTION | ||
| 125 | |||
| 126 | /* The file containing the kernel's symbol table is called /vmunix. */ | ||
| 127 | |||
| 128 | #define KERNEL_FILE "/vmunix" | ||
| 129 | |||
| 130 | /* The symbol in the kernel where the load average is found | ||
| 131 | is named _avenrun. */ | ||
| 132 | |||
| 133 | #define LDAV_SYMBOL "_avenrun" | ||
| 134 | |||
| 135 | /* Here, on a separate page, add any special hacks needed | ||
| 136 | to make Emacs work on this system. For example, | ||
| 137 | you might define certain system call names that don't | ||
| 138 | exist on your system, or that do different things on | ||
| 139 | your system and must be used only through an encapsulation | ||
| 140 | (Which you should place, by convention, in sysdep.c). */ | ||
| 141 | |||
| 142 | /* Specify alignment requirement for start of text and data sections | ||
| 143 | in the executable file. */ | ||
| 144 | |||
| 145 | #define SECTION_ALIGNMENT pagemask | ||
| 146 | |||
| 147 | |||
| 148 | #define SEGMENT_MASK (64 * 1024 - 1) | ||
| 149 | |||
| 150 | |||
| 151 | /* crt0.c needs this for compilation because it uses asm. */ | ||
| 152 | |||
| 153 | #define C_SWITCH_ASM -q nodirect_code | ||
| 154 | |||
| 155 | /* Encore machines with APC processor boards align sections on 4M | ||
| 156 | boundaries, so it is not easy to remap the start of the text segment | ||
| 157 | in the unexec() routine. For them you need the following two lines. | ||
| 158 | For DPC processors you can enable these or not, as you wish, but | ||
| 159 | you will get better performance without them. */ | ||
| 160 | |||
| 161 | /* #define NO_REMAP | ||
| 162 | #define TEXT_START 0 | ||
| 163 | */ | ||
| 164 | |||
| 165 | /* Process groups work in the traditional BSD manner. */ | ||
| 166 | |||
| 167 | #define BSD_PGRPS | ||
| 168 | |||
| 169 | /* arch-tag: 2860edda-ce9e-4cfa-943d-3a06c7045854 | ||
| 170 | (do not change this comment) */ | ||
diff --git a/src/s/unipl5-2.h b/src/s/unipl5-2.h deleted file mode 100644 index 5730fa65284..00000000000 --- a/src/s/unipl5-2.h +++ /dev/null | |||
| @@ -1,160 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.2 | ||
| 2 | Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | |||
| 23 | /* | ||
| 24 | * Define symbols to identify the version of Unix this is. | ||
| 25 | * Define all the symbols that apply correctly. | ||
| 26 | */ | ||
| 27 | |||
| 28 | #define USG /* System III, System V, etc */ | ||
| 29 | |||
| 30 | #define USG5 | ||
| 31 | |||
| 32 | #define UNIPLUS | ||
| 33 | |||
| 34 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 35 | It sets the Lisp variable system-type. */ | ||
| 36 | |||
| 37 | #define SYSTEM_TYPE "unisoft-unix" | ||
| 38 | |||
| 39 | /* nomultiplejobs should be defined if your system's shell | ||
| 40 | does not have "job control" (the ability to stop a program, | ||
| 41 | run some other program, then continue the first one). */ | ||
| 42 | |||
| 43 | /* #define NOMULTIPLEJOBS */ | ||
| 44 | |||
| 45 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 46 | |||
| 47 | /* #define INTERRUPT_INPUT */ | ||
| 48 | |||
| 49 | /* Letter to use in finding device name of first pty, | ||
| 50 | if system supports pty's. 'p' means it is /dev/ptyp0 */ | ||
| 51 | |||
| 52 | #define FIRST_PTY_LETTER 'p' | ||
| 53 | |||
| 54 | /* | ||
| 55 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 56 | * for terminal control. | ||
| 57 | */ | ||
| 58 | |||
| 59 | #define HAVE_TERMIO | ||
| 60 | |||
| 61 | /* | ||
| 62 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 63 | */ | ||
| 64 | |||
| 65 | #define HAVE_PTYS | ||
| 66 | |||
| 67 | /* Define this macro if system defines a type `union wait'. */ | ||
| 68 | |||
| 69 | #define HAVE_UNION_WAIT | ||
| 70 | |||
| 71 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 72 | |||
| 73 | /* #define HAVE_SOCKETS */ | ||
| 74 | |||
| 75 | /* | ||
| 76 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 77 | * The 4.2 opendir, etc., library functions. | ||
| 78 | */ | ||
| 79 | |||
| 80 | #define NONSYSTEM_DIR_LIBRARY | ||
| 81 | |||
| 82 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 83 | |||
| 84 | /* #define BSTRING */ | ||
| 85 | |||
| 86 | /* subprocesses should be defined if you want to | ||
| 87 | have code for asynchronous subprocesses | ||
| 88 | (as used in M-x compile and M-x shell). | ||
| 89 | This is generally OS dependent, and not supported | ||
| 90 | under most USG systems. It is supported under UniPlus | ||
| 91 | System V Release 2. */ | ||
| 92 | |||
| 93 | #define subprocesses | ||
| 94 | |||
| 95 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 96 | preprocessor symbol "COFF". */ | ||
| 97 | |||
| 98 | #define COFF | ||
| 99 | |||
| 100 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 101 | to interlock access to /usr/spool/mail/$USER. | ||
| 102 | The alternative is that a lock file named | ||
| 103 | /usr/spool/mail/$USER.lock. */ | ||
| 104 | |||
| 105 | /* #define MAIL_USE_FLOCK */ | ||
| 106 | |||
| 107 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 108 | so that Emacs can tell instantly when you try to modify | ||
| 109 | a file that someone else has modified in his Emacs. */ | ||
| 110 | |||
| 111 | /* #define CLASH_DETECTION */ | ||
| 112 | |||
| 113 | /* Uniplus 5.2 supports long names in C */ | ||
| 114 | |||
| 115 | /* #define SHORTNAMES */ | ||
| 116 | |||
| 117 | /* The file containing the kernel's symbol table is called /unix. */ | ||
| 118 | |||
| 119 | #define KERNEL_FILE "/unix" | ||
| 120 | |||
| 121 | /* The symbol in the kernel where the load average is found | ||
| 122 | is named avenrun. */ | ||
| 123 | |||
| 124 | #define LDAV_SYMBOL "avenrun" | ||
| 125 | |||
| 126 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 127 | |||
| 128 | /* | ||
| 129 | * Make the sigsetmask function go away. Don't know what the | ||
| 130 | * ramifications of this are, but doesn't seem possible to | ||
| 131 | * emulate it properly anyway at this point. | ||
| 132 | */ | ||
| 133 | |||
| 134 | #define sigsetmask(mask) /* Null expansion */ | ||
| 135 | |||
| 136 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 137 | but they will run slower. */ | ||
| 138 | |||
| 139 | #define _setjmp setjmp | ||
| 140 | #define _longjmp longjmp | ||
| 141 | |||
| 142 | /* On USG systems these have different names */ | ||
| 143 | |||
| 144 | #define index strchr | ||
| 145 | #define rindex strrchr | ||
| 146 | |||
| 147 | /* Compiler bug bites when default ADDR_CORRECT is used. */ | ||
| 148 | |||
| 149 | #define ADDR_CORRECT(x) (x) | ||
| 150 | |||
| 151 | /* Special library needed for linking for Uniplus */ | ||
| 152 | |||
| 153 | #define LIBS_SYSTEM -lnet | ||
| 154 | |||
| 155 | /* A system-specific loader switch is needed. */ | ||
| 156 | |||
| 157 | #define LD_SWITCH_SYSTEM -N -L/lib/libg /usr/lib/unshared.ld | ||
| 158 | |||
| 159 | /* arch-tag: d3f952a9-fef5-45d5-9c1e-c1c32bfef86c | ||
| 160 | (do not change this comment) */ | ||
diff --git a/src/s/xenix.h b/src/s/xenix.h deleted file mode 100644 index c5b3cf225e0..00000000000 --- a/src/s/xenix.h +++ /dev/null | |||
| @@ -1,212 +0,0 @@ | |||
| 1 | /* Definitions file for GNU Emacs running SCO Xenix 386 Release 2.2 | ||
| 2 | Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* | ||
| 23 | * Define symbols to identify the version of Unix this is. | ||
| 24 | * Define all the symbols that apply correctly. | ||
| 25 | */ | ||
| 26 | |||
| 27 | /* #define UNIPLUS */ | ||
| 28 | #define XENIX | ||
| 29 | #define USG5 | ||
| 30 | #define USG | ||
| 31 | /* #define HPUX */ | ||
| 32 | /* #define UMAX */ | ||
| 33 | /* #define BSD4_1 */ | ||
| 34 | /* #define BSD4_2 */ | ||
| 35 | /* #define BSD4_3 */ | ||
| 36 | /* #define BSD_SYSTEM */ | ||
| 37 | /* #define VMS */ | ||
| 38 | |||
| 39 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 40 | It sets the Lisp variable system-type. */ | ||
| 41 | |||
| 42 | #define SYSTEM_TYPE "xenix" | ||
| 43 | |||
| 44 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 45 | does not have "job control" (the ability to stop a program, | ||
| 46 | run some other program, then continue the first one). */ | ||
| 47 | |||
| 48 | #define NOMULTIPLEJOBS | ||
| 49 | |||
| 50 | /* Emacs can read input using SIGIO and buffering characters itself, | ||
| 51 | or using CBREAK mode and making C-g cause SIGINT. | ||
| 52 | The choice is controlled by the variable interrupt_input. | ||
| 53 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | ||
| 54 | |||
| 55 | SIGIO can be used only on systems that implement it (4.2 and 4.3). | ||
| 56 | CBREAK mode has two disadvantages: | ||
| 57 | 1) At least in 4.2, it is impossible to handle the Meta key properly. | ||
| 58 | I hear that in system V this problem does not exist. | ||
| 59 | 2) Control-G causes output to be discarded. | ||
| 60 | I do not know whether this can be fixed in system V. | ||
| 61 | |||
| 62 | Another method of doing input is planned but not implemented. | ||
| 63 | It would have Emacs fork off a separate process | ||
| 64 | to read the input and send it to the true Emacs process | ||
| 65 | through a pipe. | ||
| 66 | */ | ||
| 67 | |||
| 68 | /* #define INTERRUPT_INPUT */ | ||
| 69 | |||
| 70 | /* Letter to use in finding device name of first pty, | ||
| 71 | if system supports pty's. 'p' means it is /dev/ptyp0 */ | ||
| 72 | |||
| 73 | /* #define FIRST_PTY_LETTER 'p' */ | ||
| 74 | |||
| 75 | /* | ||
| 76 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 77 | * for terminal control. | ||
| 78 | */ | ||
| 79 | |||
| 80 | #define HAVE_TERMIO | ||
| 81 | |||
| 82 | /* | ||
| 83 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 84 | */ | ||
| 85 | |||
| 86 | /* #define HAVE_PTYS */ | ||
| 87 | |||
| 88 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 89 | |||
| 90 | /* #define HAVE_SOCKETS */ | ||
| 91 | |||
| 92 | /* | ||
| 93 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 94 | * The 4.2 opendir, etc., library functions. | ||
| 95 | */ | ||
| 96 | |||
| 97 | #define NONSYSTEM_DIR_LIBRARY | ||
| 98 | |||
| 99 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 100 | |||
| 101 | /* #define BSTRING */ | ||
| 102 | |||
| 103 | /* subprocesses should be defined if you want to | ||
| 104 | have code for asynchronous subprocesses | ||
| 105 | (as used in M-x compile and M-x shell). | ||
| 106 | This is supposed to work now on system V release 2. */ | ||
| 107 | |||
| 108 | #define subprocesses | ||
| 109 | |||
| 110 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 111 | preprocessor symbol "COFF". */ | ||
| 112 | |||
| 113 | /* #define COFF */ | ||
| 114 | |||
| 115 | /* Xenix requires completely different unexec code | ||
| 116 | which lives in a separate file. Specify the file name. */ | ||
| 117 | |||
| 118 | #define UNEXEC unexenix.o | ||
| 119 | |||
| 120 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 121 | to interlock access to /usr/spool/mail/$USER. | ||
| 122 | The alternative is that a lock file named | ||
| 123 | /usr/spool/mail/$USER.lock. */ | ||
| 124 | |||
| 125 | #define MAIL_USE_FLOCK | ||
| 126 | |||
| 127 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 128 | so that Emacs can tell instantly when you try to modify | ||
| 129 | a file that someone else has modified in his Emacs. */ | ||
| 130 | |||
| 131 | /* The way this is implemented requires long filenames... */ | ||
| 132 | /* #define CLASH_DETECTION */ | ||
| 133 | |||
| 134 | /* Define SHORTNAMES if the C compiler can distinguish only | ||
| 135 | short names. It means that the stuff in ../shortnames | ||
| 136 | must be run to convert the long names to short ones. */ | ||
| 137 | |||
| 138 | /* #define SHORTNAMES */ | ||
| 139 | |||
| 140 | /* Compensate for one incompatibility between Xenix and V.0. */ | ||
| 141 | #define n_zeroes n_name[0] | ||
| 142 | |||
| 143 | /* The file containing the kernel's symbol table is called /xenix. */ | ||
| 144 | |||
| 145 | #define KERNEL_FILE "/xenix" | ||
| 146 | |||
| 147 | /* The symbol in the kernel where the load average is found | ||
| 148 | is named avenrun. */ | ||
| 149 | |||
| 150 | #define LDAV_SYMBOL "_avenrun" | ||
| 151 | |||
| 152 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 153 | |||
| 154 | /* | ||
| 155 | * Make the sigsetmask function go away. Don't know what the | ||
| 156 | * ramifications of this are, but doesn't seem possible to | ||
| 157 | * emulate it properly anyway at this point. | ||
| 158 | */ | ||
| 159 | |||
| 160 | #define sigsetmask(mask) /* Null expansion */ | ||
| 161 | |||
| 162 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 163 | but they will run slower. */ | ||
| 164 | |||
| 165 | #define _setjmp setjmp | ||
| 166 | #define _longjmp longjmp | ||
| 167 | |||
| 168 | /* On USG systems these have different names */ | ||
| 169 | |||
| 170 | #define index strchr | ||
| 171 | #define rindex strrchr | ||
| 172 | |||
| 173 | /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ | ||
| 174 | |||
| 175 | #define ADDR_CORRECT(x) (x) | ||
| 176 | |||
| 177 | /* Prevent -lg from being used for debugging. Not implemented? */ | ||
| 178 | |||
| 179 | #define LIBS_DEBUG | ||
| 180 | |||
| 181 | /* Switches for linking temacs. */ | ||
| 182 | |||
| 183 | #define LD_SWITCH_SYSTEM -i | ||
| 184 | |||
| 185 | /* Xenix implements sysV style IPC. */ | ||
| 186 | |||
| 187 | #define HAVE_SYSVIPC | ||
| 188 | |||
| 189 | /* Use terminfo instead of termcap. */ | ||
| 190 | |||
| 191 | /* Tell Emacs to use Terminfo. */ | ||
| 192 | |||
| 193 | #define TERMINFO | ||
| 194 | |||
| 195 | /* Tell Xenix curses to BE Terminfo. */ | ||
| 196 | #define M_TERMINFO | ||
| 197 | |||
| 198 | /* Control program name for etc/fakemail to run. */ | ||
| 199 | |||
| 200 | #ifdef SMAIL | ||
| 201 | #define MAIL_PROGRAM_NAME "/usr/bin/smail -q0" | ||
| 202 | #else | ||
| 203 | #define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail" | ||
| 204 | #endif | ||
| 205 | |||
| 206 | /* Some variants have TIOCGETC, but the structures to go with it | ||
| 207 | are not declared. */ | ||
| 208 | |||
| 209 | #define BROKEN_TIOCGETC | ||
| 210 | |||
| 211 | /* arch-tag: 71d3985d-4e53-4572-8276-5dce26bbd076 | ||
| 212 | (do not change this comment) */ | ||
diff --git a/src/sysdep.c b/src/sysdep.c index d1f378a3f87..d421c55f2c2 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -33,12 +33,6 @@ Boston, MA 02110-1301, USA. */ | |||
| 33 | /* Including stdlib.h isn't necessarily enough to get srandom | 33 | /* Including stdlib.h isn't necessarily enough to get srandom |
| 34 | declared, e.g. without __USE_XOPEN_EXTENDED with glibc 2. */ | 34 | declared, e.g. without __USE_XOPEN_EXTENDED with glibc 2. */ |
| 35 | #ifdef HAVE_RANDOM | 35 | #ifdef HAVE_RANDOM |
| 36 | #if 0 /* It turns out that defining _OSF_SOURCE in osf5-0.h gets | ||
| 37 | random prototyped as returning `int'. It looks to me as | ||
| 38 | though the best way to DTRT is to prefer the rand48 functions | ||
| 39 | (per libc.info). -- fx */ | ||
| 40 | extern long int random P_ ((void)); | ||
| 41 | #endif | ||
| 42 | #if 0 /* Don't prototype srandom; it takes an unsigned argument on | 36 | #if 0 /* Don't prototype srandom; it takes an unsigned argument on |
| 43 | some systems, and an unsigned long on others, like FreeBSD | 37 | some systems, and an unsigned long on others, like FreeBSD |
| 44 | 4.1. */ | 38 | 4.1. */ |
diff --git a/src/unexapollo.c b/src/unexapollo.c deleted file mode 100644 index 4facf823e19..00000000000 --- a/src/unexapollo.c +++ /dev/null | |||
| @@ -1,301 +0,0 @@ | |||
| 1 | /* unexapollo.c -- COFF File UNEXEC for GNU Emacs on Apollo SR10.x | ||
| 2 | Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, | ||
| 3 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 3, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | Boston, MA 02110-1301, USA. */ | ||
| 21 | |||
| 22 | /* Written by Leonard N. Zubkoff. */ | ||
| 23 | |||
| 24 | #ifdef HAVE_CONFIG_H | ||
| 25 | #include <config.h> | ||
| 26 | #endif | ||
| 27 | |||
| 28 | #include <fcntl.h> | ||
| 29 | |||
| 30 | |||
| 31 | #include <a.out.h> | ||
| 32 | #include <sys/file.h> | ||
| 33 | #include <apollo/base.h> | ||
| 34 | #include <apollo/ios.h> | ||
| 35 | #include <apollo/type_uids.h> | ||
| 36 | #include <apollo/dst.h> | ||
| 37 | |||
| 38 | |||
| 39 | #define DST_RECORD_HDR_SIZE 2 | ||
| 40 | #define LONG_ALIGN(X) (((X)+3)&(~3)) | ||
| 41 | |||
| 42 | |||
| 43 | void | ||
| 44 | unexec (target_file_name, source_file_name) | ||
| 45 | char *target_file_name, *source_file_name; | ||
| 46 | { | ||
| 47 | struct filehdr file_header; | ||
| 48 | struct aouthdr domain_header; | ||
| 49 | struct scnhdr *section, *sections, *sections_limit; | ||
| 50 | struct scnhdr *first_data_section, *last_data_section; | ||
| 51 | struct scnhdr *rwdi_section, *blocks_section; | ||
| 52 | struct reloc reloc_entry; | ||
| 53 | unsigned long data_size, old_data_section_size, source_file_offset_past_rwdi; | ||
| 54 | unsigned char buffer[4096]; | ||
| 55 | long delta_before_rwdi, delta_after_rwdi, byte_count; | ||
| 56 | long first_changed_vaddr, old_rwdi_vaddr, i; | ||
| 57 | ios_$id_t target_file, source_file; | ||
| 58 | status_$t status; | ||
| 59 | /* Open the Source File. */ | ||
| 60 | if ((source_file = open (source_file_name, O_RDONLY)) < 0) | ||
| 61 | error ("cannot open source file for input"); | ||
| 62 | /* Read the File Header. */ | ||
| 63 | if (read (source_file, &file_header, sizeof (file_header)) != sizeof (file_header)) | ||
| 64 | error ("cannot read file header"); | ||
| 65 | |||
| 66 | /* Read the Domain Header. */ | ||
| 67 | if (read (source_file, &domain_header, sizeof (domain_header)) | ||
| 68 | != sizeof (domain_header)) | ||
| 69 | error ("cannot read domain header"); | ||
| 70 | /* Read the Section Headers. */ | ||
| 71 | sections = | ||
| 72 | (struct scnhdr *) malloc (file_header.f_nscns*sizeof (struct scnhdr)); | ||
| 73 | if (sections == (struct scnhdr *) 0) | ||
| 74 | error ("cannot allocate section header storage"); | ||
| 75 | sections_limit = sections + file_header.f_nscns; | ||
| 76 | if (read (source_file, sections, file_header.f_nscns*sizeof (struct scnhdr)) | ||
| 77 | != file_header.f_nscns*sizeof (struct scnhdr)) | ||
| 78 | error ("cannot read section headers"); | ||
| 79 | /* Compute the new Size of the Data Section. */ | ||
| 80 | data_size = sbrk (0) - domain_header.data_start; | ||
| 81 | delta_before_rwdi = delta_after_rwdi = data_size - domain_header.dsize; | ||
| 82 | old_rwdi_vaddr = 0; | ||
| 83 | /* Find and Deallocate the .rwdi Section Information. */ | ||
| 84 | for (rwdi_section = sections; rwdi_section != sections_limit; rwdi_section++) | ||
| 85 | if (strcmp (rwdi_section->s_name, ".rwdi") == 0) | ||
| 86 | { | ||
| 87 | /* If there are relocation entries, we cannot "unrelocate" them. */ | ||
| 88 | if (rwdi_section->s_nreloc > 0) | ||
| 89 | error (".rwdi section needs relocation - cannot dump Emacs"); | ||
| 90 | delta_after_rwdi = delta_before_rwdi - rwdi_section->s_size; | ||
| 91 | old_rwdi_vaddr = rwdi_section->s_vaddr; | ||
| 92 | rwdi_section->s_paddr = 0; | ||
| 93 | rwdi_section->s_vaddr = 0; | ||
| 94 | rwdi_section->s_scnptr = 0; | ||
| 95 | rwdi_section->s_size = 0; | ||
| 96 | source_file_offset_past_rwdi = (rwdi_section+1)->s_scnptr; | ||
| 97 | break; | ||
| 98 | } | ||
| 99 | /* Skip over the Text Section Headers. */ | ||
| 100 | for (section = sections; (section->s_flags & STYP_TEXT) != 0; section++) ; | ||
| 101 | /* | ||
| 102 | Find the First and Last Data Sections and Fixup | ||
| 103 | Section Header Relocation Pointers. | ||
| 104 | */ | ||
| 105 | first_data_section = last_data_section = (struct scnhdr *) 0; | ||
| 106 | for (; section != sections_limit; section++) | ||
| 107 | { | ||
| 108 | if ((section->s_flags & STYP_DATA) != 0) | ||
| 109 | { | ||
| 110 | if (first_data_section == (struct scnhdr *) 0) | ||
| 111 | first_data_section = section; | ||
| 112 | last_data_section = section; | ||
| 113 | } | ||
| 114 | if (section->s_relptr != 0) | ||
| 115 | section->s_relptr += delta_after_rwdi; | ||
| 116 | } | ||
| 117 | /* Increment the Size of the Last Data Section. */ | ||
| 118 | old_data_section_size = last_data_section->s_size; | ||
| 119 | last_data_section->s_size += delta_before_rwdi; | ||
| 120 | |||
| 121 | /* Update the File Header and Domain Header. */ | ||
| 122 | file_header.f_symptr += delta_after_rwdi; | ||
| 123 | domain_header.dsize = data_size; | ||
| 124 | domain_header.bsize = 0; | ||
| 125 | /* Skip over subsequent Bss Section Headers. */ | ||
| 126 | for (section = last_data_section+1; | ||
| 127 | (section->s_flags & STYP_BSS) != 0; section++) ; | ||
| 128 | /* Update the remaining Section Headers. */ | ||
| 129 | blocks_section = (struct scnhdr *) 0; | ||
| 130 | first_changed_vaddr = 0; | ||
| 131 | for (; section != sections_limit; section++) | ||
| 132 | { | ||
| 133 | long delta = (section < rwdi_section ? delta_before_rwdi : delta_after_rwdi); | ||
| 134 | if (section->s_paddr != 0) | ||
| 135 | section->s_paddr += delta; | ||
| 136 | if (section->s_vaddr != 0) | ||
| 137 | { | ||
| 138 | if (first_changed_vaddr == 0) | ||
| 139 | first_changed_vaddr = section->s_vaddr; | ||
| 140 | section->s_vaddr += delta; | ||
| 141 | } | ||
| 142 | if (section->s_scnptr != 0) | ||
| 143 | section->s_scnptr += delta; | ||
| 144 | if (strcmp (section->s_name, ".blocks") == 0) | ||
| 145 | blocks_section = section; | ||
| 146 | else if (strcmp (section->s_name, ".sri") == 0 && | ||
| 147 | domain_header.o_sri != 0) | ||
| 148 | domain_header.o_sri += delta; | ||
| 149 | else if (strcmp (section->s_name, ".inlib") == 0 && | ||
| 150 | domain_header.o_inlib != 0) | ||
| 151 | domain_header.o_inlib += delta; | ||
| 152 | } | ||
| 153 | /* Open the Target File. */ | ||
| 154 | ios_$create (target_file_name, strlen (target_file_name), coff_$uid, | ||
| 155 | ios_$recreate_mode, ios_$write_opt, &target_file, &status); | ||
| 156 | if (status.all != status_$ok) | ||
| 157 | error ("cannot open target file for output"); | ||
| 158 | /* Write the File Header. */ | ||
| 159 | if (write (target_file, &file_header, sizeof (file_header)) != sizeof (file_header)) | ||
| 160 | error ("cannot write file header"); | ||
| 161 | /* Write the Domain Header. */ | ||
| 162 | if (write (target_file, &domain_header, sizeof (domain_header)) | ||
| 163 | != sizeof (domain_header)) | ||
| 164 | error ("cannot write domain header"); | ||
| 165 | /* Write the Section Headers. */ | ||
| 166 | if (write (target_file, sections, file_header.f_nscns*sizeof (struct scnhdr)) | ||
| 167 | != file_header.f_nscns*sizeof (struct scnhdr)) | ||
| 168 | error ("cannot write section headers"); | ||
| 169 | /* Copy the Allocated Sections. */ | ||
| 170 | for (section = sections; section != first_data_section; section++) | ||
| 171 | if (section->s_scnptr != 0) | ||
| 172 | CopyData (target_file, source_file, LONG_ALIGN(section->s_size)); | ||
| 173 | /* Write the Expanded Data Segment. */ | ||
| 174 | if (write (target_file, first_data_section->s_vaddr, data_size) != data_size) | ||
| 175 | error ("cannot write new data section"); | ||
| 176 | |||
| 177 | /* Skip over the Last Data Section and Copy until the .rwdi Section. */ | ||
| 178 | if (lseek (source_file, last_data_section->s_scnptr | ||
| 179 | +old_data_section_size, L_SET) == -1) | ||
| 180 | error ("cannot seek past data section"); | ||
| 181 | for (section = last_data_section+1; section != rwdi_section; section++) | ||
| 182 | if (section->s_scnptr != 0) | ||
| 183 | CopyData (target_file, source_file, LONG_ALIGN(section->s_size)); | ||
| 184 | /* Skip over the .rwdi Section and Copy Remainder of Source File. */ | ||
| 185 | if (lseek (source_file, source_file_offset_past_rwdi, L_SET) == -1) | ||
| 186 | error ("cannot seek past .rwdi section"); | ||
| 187 | while ((byte_count = read (source_file, buffer, sizeof (buffer))) > 0) | ||
| 188 | if (write (target_file, buffer, byte_count) != byte_count) | ||
| 189 | error ("cannot write data"); | ||
| 190 | /* Unrelocate .data references to Global Symbols. */ | ||
| 191 | for (section = first_data_section; section <= last_data_section; section++) | ||
| 192 | for (i = 0; i < section->s_nreloc; i++) | ||
| 193 | { | ||
| 194 | if (lseek (source_file, section->s_relptr | ||
| 195 | +i*sizeof (struct reloc)-delta_after_rwdi, L_SET) == -1) | ||
| 196 | error ("cannot seek to relocation info"); | ||
| 197 | if (read (source_file, &reloc_entry, sizeof (reloc_entry)) | ||
| 198 | != sizeof (reloc_entry)) | ||
| 199 | error ("cannot read reloc entry"); | ||
| 200 | if (lseek (source_file, reloc_entry.r_vaddr-section->s_vaddr | ||
| 201 | +section->s_scnptr, L_SET) == -1) | ||
| 202 | error ("cannot seek to data element"); | ||
| 203 | if (lseek (target_file, reloc_entry.r_vaddr-section->s_vaddr | ||
| 204 | +section->s_scnptr, L_SET) == -1) | ||
| 205 | error ("cannot seek to data element"); | ||
| 206 | if (read (source_file, buffer, 4) != 4) | ||
| 207 | error ("cannot read data element"); | ||
| 208 | if (write (target_file, buffer, 4) != 4) | ||
| 209 | error ("cannot write data element"); | ||
| 210 | } | ||
| 211 | |||
| 212 | /* Correct virtual addresses in .blocks section. */ | ||
| 213 | if (blocks_section != (struct scnhdr *) 0) | ||
| 214 | { | ||
| 215 | dst_rec_t dst_record; | ||
| 216 | dst_rec_comp_unit_t *comp_unit; | ||
| 217 | unsigned short number_of_sections; | ||
| 218 | unsigned long section_base; | ||
| 219 | unsigned long section_offset = 0; | ||
| 220 | /* Find section tables and update section base addresses. */ | ||
| 221 | while (section_offset < blocks_section->s_size) | ||
| 222 | { | ||
| 223 | if (lseek (target_file, | ||
| 224 | blocks_section->s_scnptr+section_offset, L_SET) == -1) | ||
| 225 | error ("cannot seek to comp unit record"); | ||
| 226 | /* Handle pad records before the comp unit record. */ | ||
| 227 | if (read (target_file, &dst_record, DST_RECORD_HDR_SIZE) | ||
| 228 | != DST_RECORD_HDR_SIZE) | ||
| 229 | error ("cannot read dst record tag"); | ||
| 230 | if (dst_record.rec_type == dst_typ_pad) | ||
| 231 | section_offset += DST_RECORD_HDR_SIZE; | ||
| 232 | else if (dst_record.rec_type == dst_typ_comp_unit) | ||
| 233 | { | ||
| 234 | comp_unit = &dst_record.rec_data.comp_unit_; | ||
| 235 | if (read (target_file, comp_unit, sizeof (*comp_unit)) | ||
| 236 | != sizeof (*comp_unit)) | ||
| 237 | error ("cannot read comp unit record"); | ||
| 238 | if (lseek (target_file, blocks_section->s_scnptr | ||
| 239 | +section_offset | ||
| 240 | #if dst_version_major == 1 && dst_version_minor < 4 | ||
| 241 | +comp_unit->section_table | ||
| 242 | #else | ||
| 243 | +comp_unit->section_table.rel_offset | ||
| 244 | #endif | ||
| 245 | +DST_RECORD_HDR_SIZE, | ||
| 246 | L_SET) == -1) | ||
| 247 | error ("cannot seek to section table"); | ||
| 248 | if (read (target_file, &number_of_sections, sizeof (number_of_sections)) | ||
| 249 | != sizeof (number_of_sections)) | ||
| 250 | error ("cannot read section table size"); | ||
| 251 | for (i = 0; i < number_of_sections; i++) | ||
| 252 | { | ||
| 253 | if (read (target_file, §ion_base, sizeof (section_base)) | ||
| 254 | != sizeof (section_base)) | ||
| 255 | error ("cannot read section base value"); | ||
| 256 | if (section_base < first_changed_vaddr) | ||
| 257 | continue; | ||
| 258 | else if (section_base < old_rwdi_vaddr) | ||
| 259 | section_base += delta_before_rwdi; | ||
| 260 | else section_base += delta_after_rwdi; | ||
| 261 | if (lseek (target_file, -sizeof (section_base), L_INCR) == -1) | ||
| 262 | error ("cannot seek to section base value"); | ||
| 263 | if (write (target_file, §ion_base, sizeof (section_base)) | ||
| 264 | != sizeof (section_base)) | ||
| 265 | error ("cannot write section base"); | ||
| 266 | } | ||
| 267 | section_offset += comp_unit->data_size; | ||
| 268 | } | ||
| 269 | else error ("unexpected dst record type"); | ||
| 270 | } | ||
| 271 | } | ||
| 272 | |||
| 273 | if (close (source_file) == -1) | ||
| 274 | error("cannot close source file"); | ||
| 275 | if (close (target_file) == -1) | ||
| 276 | error ("cannot close target file"); | ||
| 277 | } | ||
| 278 | |||
| 279 | |||
| 280 | static | ||
| 281 | CopyData (target_file, source_file, total_byte_count) | ||
| 282 | int target_file, source_file; | ||
| 283 | long total_byte_count; | ||
| 284 | { | ||
| 285 | unsigned char buffer[4096]; | ||
| 286 | long byte_count; | ||
| 287 | while (total_byte_count > 0) | ||
| 288 | { | ||
| 289 | if (total_byte_count > sizeof (buffer)) | ||
| 290 | byte_count = sizeof (buffer); | ||
| 291 | else byte_count = total_byte_count; | ||
| 292 | if (read (source_file, buffer, byte_count) != byte_count) | ||
| 293 | error ("cannot read data"); | ||
| 294 | if (write (target_file, buffer, byte_count) != byte_count) | ||
| 295 | error ("cannot write data"); | ||
| 296 | total_byte_count -= byte_count; | ||
| 297 | } | ||
| 298 | } | ||
| 299 | |||
| 300 | /* arch-tag: 783ebbdf-7d26-4df8-9469-17a1747dce96 | ||
| 301 | (do not change this comment) */ | ||
diff --git a/src/unexconvex.c b/src/unexconvex.c deleted file mode 100644 index 5682047d4fe..00000000000 --- a/src/unexconvex.c +++ /dev/null | |||
| @@ -1,605 +0,0 @@ | |||
| 1 | /* Modified version of unexec for convex machines. | ||
| 2 | Note that the GNU project considers support for the peculiarities | ||
| 3 | of the Convex operating system a peripheral activity which should | ||
| 4 | not be allowed to divert effort from development of the GNU system. | ||
| 5 | Changes in this code will be installed when Convex system | ||
| 6 | maintainers send them in, but aside from that we don't plan to | ||
| 7 | think about it, or about whether other Emacs maintenance might | ||
| 8 | break it. | ||
| 9 | |||
| 10 | Copyright (C) 1985, 1986, 1988, 2001, 2002, 2003, 2004, | ||
| 11 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 12 | |||
| 13 | This file is part of GNU Emacs. | ||
| 14 | |||
| 15 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 16 | it under the terms of the GNU General Public License as published by | ||
| 17 | the Free Software Foundation; either version 3, or (at your option) | ||
| 18 | any later version. | ||
| 19 | |||
| 20 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 21 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 22 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 23 | GNU General Public License for more details. | ||
| 24 | |||
| 25 | You should have received a copy of the GNU General Public License | ||
| 26 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 27 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 28 | Boston, MA 02110-1301, USA. */ | ||
| 29 | |||
| 30 | |||
| 31 | /* modified for C-1 arch by jthomp@convex 871103 */ | ||
| 32 | /* Corrected to support convex SOFF object file formats and thread specific | ||
| 33 | * regions. streepy@convex 890302 | ||
| 34 | */ | ||
| 35 | |||
| 36 | /* | ||
| 37 | * unexec.c - Convert a running program into an a.out file. | ||
| 38 | * | ||
| 39 | * Author: Spencer W. Thomas | ||
| 40 | * Computer Science Dept. | ||
| 41 | * University of Utah | ||
| 42 | * Date: Tue Mar 2 1982 | ||
| 43 | * Modified heavily since then. | ||
| 44 | * | ||
| 45 | * Synopsis: | ||
| 46 | * unexec (new_name, a_name, data_start, bss_start, entry_address) | ||
| 47 | * char *new_name, *a_name; | ||
| 48 | * unsigned data_start, bss_start, entry_address; | ||
| 49 | * | ||
| 50 | * Takes a snapshot of the program and makes an a.out format file in the | ||
| 51 | * file named by the string argument new_name. | ||
| 52 | * If a_name is non-NULL, the symbol table will be taken from the given file. | ||
| 53 | * On some machines, an existing a_name file is required. | ||
| 54 | * | ||
| 55 | * The boundaries within the a.out file may be adjusted with the data_start | ||
| 56 | * and bss_start arguments. Either or both may be given as 0 for defaults. | ||
| 57 | * | ||
| 58 | * Data_start gives the boundary between the text segment and the data | ||
| 59 | * segment of the program. The text segment can contain shared, read-only | ||
| 60 | * program code and literal data, while the data segment is always unshared | ||
| 61 | * and unprotected. Data_start gives the lowest unprotected address. | ||
| 62 | * The value you specify may be rounded down to a suitable boundary | ||
| 63 | * as required by the machine you are using. | ||
| 64 | * | ||
| 65 | * Specifying zero for data_start means the boundary between text and data | ||
| 66 | * should not be the same as when the program was loaded. | ||
| 67 | * If NO_REMAP is defined, the argument data_start is ignored and the | ||
| 68 | * segment boundaries are never changed. | ||
| 69 | * | ||
| 70 | * Bss_start indicates how much of the data segment is to be saved in the | ||
| 71 | * a.out file and restored when the program is executed. It gives the lowest | ||
| 72 | * unsaved address, and is rounded up to a page boundary. The default when 0 | ||
| 73 | * is given assumes that the entire data segment is to be stored, including | ||
| 74 | * the previous data and bss as well as any additional storage allocated with | ||
| 75 | * break (2). | ||
| 76 | * | ||
| 77 | * The new file is set up to start at entry_address. | ||
| 78 | * | ||
| 79 | * If you make improvements I'd like to get them too. | ||
| 80 | * harpo!utah-cs!thomas, thomas@Utah-20 | ||
| 81 | * | ||
| 82 | */ | ||
| 83 | |||
| 84 | /* There are several compilation parameters affecting unexec: | ||
| 85 | |||
| 86 | * COFF | ||
| 87 | |||
| 88 | Define this if your system uses COFF for executables. | ||
| 89 | Otherwise we assume you use Berkeley format. | ||
| 90 | |||
| 91 | * NO_REMAP | ||
| 92 | |||
| 93 | Define this if you do not want to try to save Emacs's pure data areas | ||
| 94 | as part of the text segment. | ||
| 95 | |||
| 96 | Saving them as text is good because it allows users to share more. | ||
| 97 | |||
| 98 | However, on machines that locate the text area far from the data area, | ||
| 99 | the boundary cannot feasibly be moved. Such machines require | ||
| 100 | NO_REMAP. | ||
| 101 | |||
| 102 | Also, remapping can cause trouble with the built-in startup routine | ||
| 103 | /lib/crt0.o, which defines `environ' as an initialized variable. | ||
| 104 | Dumping `environ' as pure does not work! So, to use remapping, | ||
| 105 | you must write a startup routine for your machine in Emacs's crt0.c. | ||
| 106 | If NO_REMAP is defined, Emacs uses the system's crt0.o. | ||
| 107 | |||
| 108 | * SECTION_ALIGNMENT | ||
| 109 | |||
| 110 | Some machines that use COFF executables require that each section | ||
| 111 | start on a certain boundary *in the COFF file*. Such machines should | ||
| 112 | define SECTION_ALIGNMENT to a mask of the low-order bits that must be | ||
| 113 | zero on such a boundary. This mask is used to control padding between | ||
| 114 | segments in the COFF file. | ||
| 115 | |||
| 116 | If SECTION_ALIGNMENT is not defined, the segments are written | ||
| 117 | consecutively with no attempt at alignment. This is right for | ||
| 118 | unmodified system V. | ||
| 119 | |||
| 120 | * SEGMENT_MASK | ||
| 121 | |||
| 122 | Some machines require that the beginnings and ends of segments | ||
| 123 | *in core* be on certain boundaries. For most machines, a page | ||
| 124 | boundary is sufficient. That is the default. When a larger | ||
| 125 | boundary is needed, define SEGMENT_MASK to a mask of | ||
| 126 | the bits that must be zero on such a boundary. | ||
| 127 | |||
| 128 | * A_TEXT_OFFSET(HDR) | ||
| 129 | |||
| 130 | Some machines count the a.out header as part of the size of the text | ||
| 131 | segment (a_text); they may actually load the header into core as the | ||
| 132 | first data in the text segment. Some have additional padding between | ||
| 133 | the header and the real text of the program that is counted in a_text. | ||
| 134 | |||
| 135 | For these machines, define A_TEXT_OFFSET(HDR) to examine the header | ||
| 136 | structure HDR and return the number of bytes to add to `a_text' | ||
| 137 | before writing it (above and beyond the number of bytes of actual | ||
| 138 | program text). HDR's standard fields are already correct, except that | ||
| 139 | this adjustment to the `a_text' field has not yet been made; | ||
| 140 | thus, the amount of offset can depend on the data in the file. | ||
| 141 | |||
| 142 | * A_TEXT_SEEK(HDR) | ||
| 143 | |||
| 144 | If defined, this macro specifies the number of bytes to seek into the | ||
| 145 | a.out file before starting to write the text segment.a | ||
| 146 | |||
| 147 | * EXEC_MAGIC | ||
| 148 | |||
| 149 | For machines using COFF, this macro, if defined, is a value stored | ||
| 150 | into the magic number field of the output file. | ||
| 151 | |||
| 152 | * ADJUST_EXEC_HEADER | ||
| 153 | |||
| 154 | This macro can be used to generate statements to adjust or | ||
| 155 | initialize nonstandard fields in the file header | ||
| 156 | |||
| 157 | * ADDR_CORRECT(ADDR) | ||
| 158 | |||
| 159 | Macro to correct an int which is the bit pattern of a pointer to a byte | ||
| 160 | into an int which is the number of a byte. | ||
| 161 | |||
| 162 | This macro has a default definition which is usually right. | ||
| 163 | This default definition is a no-op on most machines (where a | ||
| 164 | pointer looks like an int) but not on all machines. | ||
| 165 | |||
| 166 | */ | ||
| 167 | |||
| 168 | #include <config.h> | ||
| 169 | #define PERROR(file) report_error (file, new) | ||
| 170 | |||
| 171 | #include <a.out.h> | ||
| 172 | /* Define getpagesize () if the system does not. | ||
| 173 | Note that this may depend on symbols defined in a.out.h | ||
| 174 | */ | ||
| 175 | #include "getpagesize.h" | ||
| 176 | |||
| 177 | #include <sys/types.h> | ||
| 178 | #include <stdio.h> | ||
| 179 | #include <sys/stat.h> | ||
| 180 | #include <errno.h> | ||
| 181 | |||
| 182 | extern char *start_of_text (); /* Start of text */ | ||
| 183 | extern char *start_of_data (); /* Start of initialized data */ | ||
| 184 | |||
| 185 | #include <machine/filehdr.h> | ||
| 186 | #include <machine/opthdr.h> | ||
| 187 | #include <machine/scnhdr.h> | ||
| 188 | #include <machine/pte.h> | ||
| 189 | |||
| 190 | static long block_copy_start; /* Old executable start point */ | ||
| 191 | static struct filehdr f_hdr; /* File header */ | ||
| 192 | static struct opthdr f_ohdr; /* Optional file header (a.out) */ | ||
| 193 | long bias; /* Bias to add for growth */ | ||
| 194 | #define SYMS_START block_copy_start | ||
| 195 | |||
| 196 | static long text_scnptr; | ||
| 197 | static long data_scnptr; | ||
| 198 | |||
| 199 | static int pagemask; | ||
| 200 | static int pagesz; | ||
| 201 | |||
| 202 | static | ||
| 203 | report_error (file, fd) | ||
| 204 | char *file; | ||
| 205 | int fd; | ||
| 206 | { | ||
| 207 | if (fd) | ||
| 208 | close (fd); | ||
| 209 | error ("Failure operating on %s", file); | ||
| 210 | } | ||
| 211 | |||
| 212 | #define ERROR0(msg) report_error_1 (new, msg, 0, 0); return -1 | ||
| 213 | #define ERROR1(msg,x) report_error_1 (new, msg, x, 0); return -1 | ||
| 214 | #define ERROR2(msg,x,y) report_error_1 (new, msg, x, y); return -1 | ||
| 215 | |||
| 216 | static | ||
| 217 | report_error_1 (fd, msg, a1, a2) | ||
| 218 | int fd; | ||
| 219 | char *msg; | ||
| 220 | int a1, a2; | ||
| 221 | { | ||
| 222 | close (fd); | ||
| 223 | error (msg, a1, a2); | ||
| 224 | } | ||
| 225 | |||
| 226 | /* **************************************************************** | ||
| 227 | * unexec | ||
| 228 | * | ||
| 229 | * driving logic. | ||
| 230 | */ | ||
| 231 | unexec (new_name, a_name, data_start, bss_start, entry_address) | ||
| 232 | char *new_name, *a_name; | ||
| 233 | unsigned data_start, bss_start, entry_address; | ||
| 234 | { | ||
| 235 | int new, a_out = -1; | ||
| 236 | |||
| 237 | if (a_name && (a_out = open (a_name, 0)) < 0) { | ||
| 238 | PERROR (a_name); | ||
| 239 | } | ||
| 240 | if ((new = creat (new_name, 0666)) < 0) { | ||
| 241 | PERROR (new_name); | ||
| 242 | } | ||
| 243 | |||
| 244 | if (make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) < 0 | ||
| 245 | || copy_text_and_data (new) < 0 | ||
| 246 | || copy_sym (new, a_out, a_name, new_name) < 0 ) { | ||
| 247 | close (new); | ||
| 248 | return -1; | ||
| 249 | } | ||
| 250 | |||
| 251 | close (new); | ||
| 252 | if (a_out >= 0) | ||
| 253 | close (a_out); | ||
| 254 | mark_x (new_name); | ||
| 255 | return 0; | ||
| 256 | } | ||
| 257 | |||
| 258 | /* **************************************************************** | ||
| 259 | * make_hdr | ||
| 260 | * | ||
| 261 | * Make the header in the new a.out from the header in core. | ||
| 262 | * Modify the text and data sizes. | ||
| 263 | */ | ||
| 264 | |||
| 265 | struct scnhdr *stbl; /* Table of all scnhdr's */ | ||
| 266 | struct scnhdr *f_thdr; /* Text section header */ | ||
| 267 | struct scnhdr *f_dhdr; /* Data section header */ | ||
| 268 | struct scnhdr *f_tdhdr; /* Thread Data section header */ | ||
| 269 | struct scnhdr *f_bhdr; /* Bss section header */ | ||
| 270 | struct scnhdr *f_tbhdr; /* Thread Bss section header */ | ||
| 271 | |||
| 272 | static int | ||
| 273 | make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) | ||
| 274 | int new, a_out; | ||
| 275 | unsigned data_start, bss_start, entry_address; | ||
| 276 | char *a_name; | ||
| 277 | char *new_name; | ||
| 278 | { | ||
| 279 | register int scns; | ||
| 280 | unsigned int bss_end; | ||
| 281 | unsigned int eo_data; /* End of initialized data in new exec file */ | ||
| 282 | int scntype; /* Section type */ | ||
| 283 | int i; /* Var for sorting by vaddr */ | ||
| 284 | struct scnhdr scntemp; /* For swapping entries in sort */ | ||
| 285 | extern char *start_of_data(); | ||
| 286 | |||
| 287 | pagemask = (pagesz = getpagesize()) - 1; | ||
| 288 | |||
| 289 | /* Adjust text/data boundary. */ | ||
| 290 | if (!data_start) | ||
| 291 | data_start = (unsigned) start_of_data (); | ||
| 292 | |||
| 293 | data_start = data_start & ~pagemask; /* (Down) to page boundary. */ | ||
| 294 | |||
| 295 | bss_end = (sbrk(0) + pagemask) & ~pagemask; | ||
| 296 | |||
| 297 | /* Adjust data/bss boundary. */ | ||
| 298 | if (bss_start != 0) { | ||
| 299 | bss_start = (bss_start + pagemask) & ~pagemask;/* (Up) to page bdry. */ | ||
| 300 | if (bss_start > bss_end) { | ||
| 301 | ERROR1 ("unexec: Specified bss_start (%x) is past end of program", | ||
| 302 | bss_start); | ||
| 303 | } | ||
| 304 | } else | ||
| 305 | bss_start = bss_end; | ||
| 306 | |||
| 307 | if (data_start > bss_start) { /* Can't have negative data size. */ | ||
| 308 | ERROR2 ("unexec: data_start (%x) can't be greater than bss_start (%x)", | ||
| 309 | data_start, bss_start); | ||
| 310 | } | ||
| 311 | |||
| 312 | /* Salvage as much info from the existing file as possible */ | ||
| 313 | if (a_out < 0) { | ||
| 314 | ERROR0 ("can't build a COFF file from scratch yet"); | ||
| 315 | /*NOTREACHED*/ | ||
| 316 | } | ||
| 317 | |||
| 318 | if (read (a_out, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) { | ||
| 319 | PERROR (a_name); | ||
| 320 | } | ||
| 321 | block_copy_start += sizeof (f_hdr); | ||
| 322 | if (f_hdr.h_opthdr > 0) { | ||
| 323 | if (read (a_out, &f_ohdr, sizeof (f_ohdr)) != sizeof (f_ohdr)) { | ||
| 324 | PERROR (a_name); | ||
| 325 | } | ||
| 326 | block_copy_start += sizeof (f_ohdr); | ||
| 327 | } | ||
| 328 | |||
| 329 | /* Allocate room for scn headers */ | ||
| 330 | stbl = (struct scnhdr *)malloc( sizeof(struct scnhdr) * f_hdr.h_nscns ); | ||
| 331 | if( stbl == NULL ) { | ||
| 332 | ERROR0( "unexec: malloc of stbl failed" ); | ||
| 333 | } | ||
| 334 | |||
| 335 | f_tdhdr = f_tbhdr = NULL; | ||
| 336 | |||
| 337 | /* Loop through section headers, copying them in */ | ||
| 338 | for (scns = 0; scns < f_hdr.h_nscns; scns++) { | ||
| 339 | |||
| 340 | if( read( a_out, &stbl[scns], sizeof(*stbl)) != sizeof(*stbl)) { | ||
| 341 | PERROR (a_name); | ||
| 342 | } | ||
| 343 | |||
| 344 | scntype = stbl[scns].s_flags & S_TYPMASK; /* What type of section */ | ||
| 345 | |||
| 346 | if( stbl[scns].s_scnptr > 0L) { | ||
| 347 | if( block_copy_start < stbl[scns].s_scnptr + stbl[scns].s_size ) | ||
| 348 | block_copy_start = stbl[scns].s_scnptr + stbl[scns].s_size; | ||
| 349 | } | ||
| 350 | |||
| 351 | if( scntype == S_TEXT) { | ||
| 352 | f_thdr = &stbl[scns]; | ||
| 353 | } else if( scntype == S_DATA) { | ||
| 354 | f_dhdr = &stbl[scns]; | ||
| 355 | #ifdef S_TDATA | ||
| 356 | } else if( scntype == S_TDATA ) { | ||
| 357 | f_tdhdr = &stbl[scns]; | ||
| 358 | } else if( scntype == S_TBSS ) { | ||
| 359 | f_tbhdr = &stbl[scns]; | ||
| 360 | #endif /* S_TDATA (thread stuff) */ | ||
| 361 | |||
| 362 | } else if( scntype == S_BSS) { | ||
| 363 | f_bhdr = &stbl[scns]; | ||
| 364 | } | ||
| 365 | |||
| 366 | } | ||
| 367 | |||
| 368 | /* We will now convert TEXT and DATA into TEXT, BSS into DATA, and leave | ||
| 369 | * all thread stuff alone. | ||
| 370 | */ | ||
| 371 | |||
| 372 | /* Now we alter the contents of all the f_*hdr variables | ||
| 373 | to correspond to what we want to dump. */ | ||
| 374 | |||
| 375 | f_thdr->s_vaddr = (long) start_of_text (); | ||
| 376 | f_thdr->s_size = data_start - f_thdr->s_vaddr; | ||
| 377 | f_thdr->s_scnptr = pagesz; | ||
| 378 | f_thdr->s_relptr = 0; | ||
| 379 | f_thdr->s_nrel = 0; | ||
| 380 | |||
| 381 | eo_data = f_thdr->s_scnptr + f_thdr->s_size; | ||
| 382 | |||
| 383 | if( f_tdhdr ) { /* Process thread data */ | ||
| 384 | |||
| 385 | f_tdhdr->s_vaddr = data_start; | ||
| 386 | f_tdhdr->s_size += f_dhdr->s_size - (data_start - f_dhdr->s_vaddr); | ||
| 387 | f_tdhdr->s_scnptr = eo_data; | ||
| 388 | f_tdhdr->s_relptr = 0; | ||
| 389 | f_tdhdr->s_nrel = 0; | ||
| 390 | |||
| 391 | eo_data += f_tdhdr->s_size; | ||
| 392 | |||
| 393 | /* And now for DATA */ | ||
| 394 | |||
| 395 | f_dhdr->s_vaddr = f_bhdr->s_vaddr; /* Take BSS start address */ | ||
| 396 | f_dhdr->s_size = bss_end - f_bhdr->s_vaddr; | ||
| 397 | f_dhdr->s_scnptr = eo_data; | ||
| 398 | f_dhdr->s_relptr = 0; | ||
| 399 | f_dhdr->s_nrel = 0; | ||
| 400 | |||
| 401 | eo_data += f_dhdr->s_size; | ||
| 402 | |||
| 403 | } else { | ||
| 404 | |||
| 405 | f_dhdr->s_vaddr = data_start; | ||
| 406 | f_dhdr->s_size = bss_start - data_start; | ||
| 407 | f_dhdr->s_scnptr = eo_data; | ||
| 408 | f_dhdr->s_relptr = 0; | ||
| 409 | f_dhdr->s_nrel = 0; | ||
| 410 | |||
| 411 | eo_data += f_dhdr->s_size; | ||
| 412 | |||
| 413 | } | ||
| 414 | |||
| 415 | f_bhdr->s_vaddr = bss_start; | ||
| 416 | f_bhdr->s_size = bss_end - bss_start + pagesz /* fudge */; | ||
| 417 | f_bhdr->s_scnptr = 0; | ||
| 418 | f_bhdr->s_relptr = 0; | ||
| 419 | f_bhdr->s_nrel = 0; | ||
| 420 | |||
| 421 | text_scnptr = f_thdr->s_scnptr; | ||
| 422 | data_scnptr = f_dhdr->s_scnptr; | ||
| 423 | bias = eo_data - block_copy_start; | ||
| 424 | |||
| 425 | if (f_ohdr.o_symptr > 0L) { | ||
| 426 | f_ohdr.o_symptr += bias; | ||
| 427 | } | ||
| 428 | |||
| 429 | if (f_hdr.h_strptr > 0) { | ||
| 430 | f_hdr.h_strptr += bias; | ||
| 431 | } | ||
| 432 | |||
| 433 | if (write (new, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) { | ||
| 434 | PERROR (new_name); | ||
| 435 | } | ||
| 436 | |||
| 437 | if (write (new, &f_ohdr, sizeof (f_ohdr)) != sizeof (f_ohdr)) { | ||
| 438 | PERROR (new_name); | ||
| 439 | } | ||
| 440 | |||
| 441 | for( scns = 0; scns < f_hdr.h_nscns; scns++ ) { | ||
| 442 | |||
| 443 | /* This is a cheesy little loop to write out the section headers | ||
| 444 | * in order of increasing virtual address. Dull but effective. | ||
| 445 | */ | ||
| 446 | |||
| 447 | for( i = scns+1; i < f_hdr.h_nscns; i++ ) { | ||
| 448 | if( stbl[i].s_vaddr < stbl[scns].s_vaddr ) { /* Swap */ | ||
| 449 | scntemp = stbl[i]; | ||
| 450 | stbl[i] = stbl[scns]; | ||
| 451 | stbl[scns] = scntemp; | ||
| 452 | } | ||
| 453 | } | ||
| 454 | |||
| 455 | } | ||
| 456 | |||
| 457 | for( scns = 0; scns < f_hdr.h_nscns; scns++ ) { | ||
| 458 | |||
| 459 | if( write( new, &stbl[scns], sizeof(*stbl)) != sizeof(*stbl)) { | ||
| 460 | PERROR (new_name); | ||
| 461 | } | ||
| 462 | |||
| 463 | } | ||
| 464 | |||
| 465 | return (0); | ||
| 466 | |||
| 467 | } | ||
| 468 | |||
| 469 | /* **************************************************************** | ||
| 470 | * copy_text_and_data | ||
| 471 | * | ||
| 472 | * Copy the text and data segments from memory to the new a.out | ||
| 473 | */ | ||
| 474 | static int | ||
| 475 | copy_text_and_data (new) | ||
| 476 | int new; | ||
| 477 | { | ||
| 478 | register int scns; | ||
| 479 | |||
| 480 | for( scns = 0; scns < f_hdr.h_nscns; scns++ ) | ||
| 481 | write_segment( new, &stbl[scns] ); | ||
| 482 | |||
| 483 | return 0; | ||
| 484 | } | ||
| 485 | |||
| 486 | write_segment( new, sptr ) | ||
| 487 | int new; | ||
| 488 | struct scnhdr *sptr; | ||
| 489 | { | ||
| 490 | register char *ptr, *end; | ||
| 491 | register int nwrite, ret; | ||
| 492 | char buf[80]; | ||
| 493 | extern int errno; | ||
| 494 | char zeros[128]; | ||
| 495 | |||
| 496 | if( sptr->s_scnptr == 0 ) | ||
| 497 | return; /* Nothing to do */ | ||
| 498 | |||
| 499 | if( lseek( new, (long) sptr->s_scnptr, 0 ) == -1 ) | ||
| 500 | PERROR( "unexecing" ); | ||
| 501 | |||
| 502 | bzero (zeros, sizeof zeros); | ||
| 503 | |||
| 504 | ptr = (char *) sptr->s_vaddr; | ||
| 505 | end = ptr + sptr->s_size; | ||
| 506 | |||
| 507 | while( ptr < end ) { | ||
| 508 | |||
| 509 | /* distance to next multiple of 128. */ | ||
| 510 | nwrite = (((int) ptr + 128) & -128) - (int) ptr; | ||
| 511 | /* But not beyond specified end. */ | ||
| 512 | if (nwrite > end - ptr) nwrite = end - ptr; | ||
| 513 | ret = write (new, ptr, nwrite); | ||
| 514 | /* If write gets a page fault, it means we reached | ||
| 515 | a gap between the old text segment and the old data segment. | ||
| 516 | This gap has probably been remapped into part of the text segment. | ||
| 517 | So write zeros for it. */ | ||
| 518 | if (ret == -1 && errno == EFAULT) | ||
| 519 | write (new, zeros, nwrite); | ||
| 520 | else if (nwrite != ret) { | ||
| 521 | sprintf (buf, | ||
| 522 | "unexec write failure: addr 0x%x, fileno %d, size 0x%x, wrote 0x%x, errno %d", | ||
| 523 | ptr, new, nwrite, ret, errno); | ||
| 524 | PERROR (buf); | ||
| 525 | } | ||
| 526 | ptr += nwrite; | ||
| 527 | } | ||
| 528 | } | ||
| 529 | |||
| 530 | /* **************************************************************** | ||
| 531 | * copy_sym | ||
| 532 | * | ||
| 533 | * Copy the relocation information and symbol table from the a.out to the new | ||
| 534 | */ | ||
| 535 | static int | ||
| 536 | copy_sym (new, a_out, a_name, new_name) | ||
| 537 | int new, a_out; | ||
| 538 | char *a_name, *new_name; | ||
| 539 | { | ||
| 540 | char page[1024]; | ||
| 541 | int n; | ||
| 542 | |||
| 543 | if (a_out < 0) | ||
| 544 | return 0; | ||
| 545 | |||
| 546 | if (SYMS_START == 0L) | ||
| 547 | return 0; | ||
| 548 | |||
| 549 | lseek (a_out, SYMS_START, 0); /* Position a.out to symtab. */ | ||
| 550 | lseek( new, (long)f_ohdr.o_symptr, 0 ); | ||
| 551 | |||
| 552 | while ((n = read (a_out, page, sizeof page)) > 0) { | ||
| 553 | if (write (new, page, n) != n) { | ||
| 554 | PERROR (new_name); | ||
| 555 | } | ||
| 556 | } | ||
| 557 | if (n < 0) { | ||
| 558 | PERROR (a_name); | ||
| 559 | } | ||
| 560 | return 0; | ||
| 561 | } | ||
| 562 | |||
| 563 | /* **************************************************************** | ||
| 564 | * mark_x | ||
| 565 | * | ||
| 566 | * After successfully building the new a.out, mark it executable | ||
| 567 | */ | ||
| 568 | static | ||
| 569 | mark_x (name) | ||
| 570 | char *name; | ||
| 571 | { | ||
| 572 | struct stat sbuf; | ||
| 573 | int um; | ||
| 574 | int new = 0; /* for PERROR */ | ||
| 575 | |||
| 576 | um = umask (777); | ||
| 577 | umask (um); | ||
| 578 | if (stat (name, &sbuf) == -1) { | ||
| 579 | PERROR (name); | ||
| 580 | } | ||
| 581 | sbuf.st_mode |= 0111 & ~um; | ||
| 582 | if (chmod (name, sbuf.st_mode) == -1) | ||
| 583 | PERROR (name); | ||
| 584 | } | ||
| 585 | |||
| 586 | /* Find the first pty letter. This is usually 'p', as in ptyp0, but | ||
| 587 | is sometimes configured down to 'm', 'n', or 'o' for some reason. */ | ||
| 588 | |||
| 589 | first_pty_letter () | ||
| 590 | { | ||
| 591 | struct stat buf; | ||
| 592 | char pty_name[16]; | ||
| 593 | char c; | ||
| 594 | |||
| 595 | for (c = 'o'; c >= 'a'; c--) | ||
| 596 | { | ||
| 597 | sprintf (pty_name, "/dev/pty%c0", c); | ||
| 598 | if (stat (pty_name, &buf) < 0) | ||
| 599 | return c + 1; | ||
| 600 | } | ||
| 601 | return 'a'; | ||
| 602 | } | ||
| 603 | |||
| 604 | /* arch-tag: 8199e06d-69b5-4f79-84d8-00f6ea929af9 | ||
| 605 | (do not change this comment) */ | ||
diff --git a/src/unexenix.c b/src/unexenix.c deleted file mode 100644 index 343eb6dfbdc..00000000000 --- a/src/unexenix.c +++ /dev/null | |||
| @@ -1,264 +0,0 @@ | |||
| 1 | /* Unexec for Xenix. | ||
| 2 | Note that the GNU project considers support for Xenix operation | ||
| 3 | a peripheral activity which should not be allowed to divert effort | ||
| 4 | from development of the GNU system. Changes in this code will be | ||
| 5 | installed when Xenix users send them in, but aside from that | ||
| 6 | we don't plan to think about it, or about whether other Emacs | ||
| 7 | maintenance might break it. | ||
| 8 | |||
| 9 | Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, | ||
| 10 | 2005, 2006, 2007 Free Software Foundation, Inc. | ||
| 11 | |||
| 12 | This file is part of GNU Emacs. | ||
| 13 | |||
| 14 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 15 | it under the terms of the GNU General Public License as published by | ||
| 16 | the Free Software Foundation; either version 3, or (at your option) | ||
| 17 | any later version. | ||
| 18 | |||
| 19 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 22 | GNU General Public License for more details. | ||
| 23 | |||
| 24 | You should have received a copy of the GNU General Public License | ||
| 25 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 26 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 27 | Boston, MA 02110-1301, USA. */ | ||
| 28 | |||
| 29 | |||
| 30 | |||
| 31 | /* | ||
| 32 | On 80386 Xenix, segmentation screws prevent us from modifying the text | ||
| 33 | segment at all. We basically just plug a new value for "data segment | ||
| 34 | size" into the countless headers and copy the other records straight | ||
| 35 | through. The data segment is ORG'ed at the xs_rbase value of the data | ||
| 36 | segment's xseg record (always @ 0x1880000, thanks to the "sophisticated | ||
| 37 | memory management hardware" of the chip) and extends to sbrk(0), exactly. | ||
| 38 | This code is afraid to malloc (should it be?), and alloca has to be the | ||
| 39 | wimpy, malloc-based version; consequently, data is usually copied in | ||
| 40 | smallish chunks. | ||
| 41 | |||
| 42 | gb@entity.com | ||
| 43 | */ | ||
| 44 | |||
| 45 | #include <config.h> | ||
| 46 | #include <sys/types.h> | ||
| 47 | #include <fcntl.h> | ||
| 48 | #include <sys/file.h> | ||
| 49 | #include <sys/stat.h> | ||
| 50 | #include <stdio.h> | ||
| 51 | #include <varargs.h> | ||
| 52 | #include <a.out.h> | ||
| 53 | |||
| 54 | static void fatal_unexec (); | ||
| 55 | |||
| 56 | #define READ(_fd, _buffer, _size, _error_message, _error_arg) \ | ||
| 57 | errno = EEOF; \ | ||
| 58 | if (read(_fd, _buffer, _size) != _size) \ | ||
| 59 | fatal_unexec(_error_message, _error_arg); | ||
| 60 | |||
| 61 | #define WRITE(_fd, _buffer, _size, _error_message, _error_arg) \ | ||
| 62 | if (write(_fd, _buffer, _size) != _size) \ | ||
| 63 | fatal_unexec(_error_message, _error_arg); | ||
| 64 | |||
| 65 | #define SEEK(_fd, _position, _error_message, _error_arg) \ | ||
| 66 | errno = EEOF; \ | ||
| 67 | if (lseek(_fd, _position, L_SET) != _position) \ | ||
| 68 | fatal_unexec(_error_message, _error_arg); | ||
| 69 | |||
| 70 | extern int errno; | ||
| 71 | extern char *strerror (); | ||
| 72 | #define EEOF -1 | ||
| 73 | |||
| 74 | #ifndef L_SET | ||
| 75 | #define L_SET 0 | ||
| 76 | #endif | ||
| 77 | |||
| 78 | /* Should check the magic number of the old executable; | ||
| 79 | not yet written. */ | ||
| 80 | check_exec (x) | ||
| 81 | struct xexec *x; | ||
| 82 | { | ||
| 83 | } | ||
| 84 | |||
| 85 | |||
| 86 | unexec (new_name, a_name, data_start, bss_start, entry_address) | ||
| 87 | char *new_name, *a_name; | ||
| 88 | unsigned data_start, bss_start, entry_address; | ||
| 89 | { | ||
| 90 | char *sbrk (), *datalim = sbrk (0), *data_org; | ||
| 91 | long segpos, textseen, textpos, textlen, datapos, datadiff, datalen; | ||
| 92 | |||
| 93 | struct xexec u_xexec, /* a.out header */ | ||
| 94 | *u_xexecp = &u_xexec; | ||
| 95 | struct xext u_xext, /* extended header */ | ||
| 96 | *u_xextp = &u_xext; | ||
| 97 | struct xseg u_xseg, /* segment table entry */ | ||
| 98 | *u_xsegp = &u_xseg; | ||
| 99 | int i, nsegs, isdata = 0, infd, outfd; | ||
| 100 | |||
| 101 | infd = open (a_name, O_RDONLY, 0); | ||
| 102 | if (infd < 0) fatal_unexec ("opening %s", a_name); | ||
| 103 | |||
| 104 | outfd = creat (new_name, 0666); | ||
| 105 | if (outfd < 0) fatal_unexec ("creating %s", new_name); | ||
| 106 | |||
| 107 | READ (infd, u_xexecp, sizeof (struct xexec), | ||
| 108 | "error reading %s", a_name); | ||
| 109 | check_exec (u_xexecp); | ||
| 110 | READ (infd, u_xextp, sizeof (struct xext), | ||
| 111 | "error reading %s", a_name); | ||
| 112 | segpos = u_xextp->xe_segpos; | ||
| 113 | nsegs = u_xextp->xe_segsize / sizeof (struct xseg); | ||
| 114 | SEEK (infd, segpos, "seek error on %s", a_name); | ||
| 115 | for (i = 0; i < nsegs; i ++) | ||
| 116 | { | ||
| 117 | READ (infd, u_xsegp, sizeof (struct xseg), | ||
| 118 | "error reading %s", a_name); | ||
| 119 | switch (u_xsegp->xs_type) | ||
| 120 | { | ||
| 121 | case XS_TTEXT: | ||
| 122 | { | ||
| 123 | if (i == 0) | ||
| 124 | { | ||
| 125 | textpos = u_xsegp->xs_filpos; | ||
| 126 | textlen = u_xsegp->xs_psize; | ||
| 127 | break; | ||
| 128 | } | ||
| 129 | fatal_unexec ("invalid text segment in %s", a_name); | ||
| 130 | } | ||
| 131 | case XS_TDATA: | ||
| 132 | { | ||
| 133 | if (i == 1) | ||
| 134 | { | ||
| 135 | datapos = u_xsegp->xs_filpos; | ||
| 136 | datalen = datalim - (data_org = (char *)(u_xsegp->xs_rbase)); | ||
| 137 | datadiff = datalen - u_xsegp->xs_psize; | ||
| 138 | break; | ||
| 139 | } | ||
| 140 | fatal_unexec ("invalid data segment in %s", a_name); | ||
| 141 | } | ||
| 142 | default: | ||
| 143 | { | ||
| 144 | if (i > 1) break; | ||
| 145 | fatal_unexec ("invalid segment record in %s", a_name); | ||
| 146 | } | ||
| 147 | } | ||
| 148 | } | ||
| 149 | u_xexecp->x_data = datalen; | ||
| 150 | u_xexecp->x_bss = 0; | ||
| 151 | WRITE (outfd, u_xexecp, sizeof (struct xexec), | ||
| 152 | "error writing %s", new_name); | ||
| 153 | WRITE (outfd, u_xextp, sizeof (struct xext), | ||
| 154 | "error writing %s", new_name); | ||
| 155 | SEEK (infd, segpos, "seek error on %s", a_name); | ||
| 156 | SEEK (outfd, segpos, "seek error on %s", new_name); | ||
| 157 | |||
| 158 | /* Copy the text segment record verbatim. */ | ||
| 159 | |||
| 160 | copyrec (infd, outfd, sizeof (struct xseg), a_name, new_name); | ||
| 161 | |||
| 162 | /* Read, modify, write the data segment record. */ | ||
| 163 | |||
| 164 | READ (infd, u_xsegp, sizeof (struct xseg), | ||
| 165 | "error reading %s", a_name); | ||
| 166 | u_xsegp->xs_psize = u_xsegp->xs_vsize = datalen; | ||
| 167 | u_xsegp->xs_attr &= (~XS_AITER & ~XS_ABSS); | ||
| 168 | WRITE (outfd, u_xsegp, sizeof (struct xseg), | ||
| 169 | "error writing %s", new_name); | ||
| 170 | |||
| 171 | /* Now copy any additional segment records, adjusting their | ||
| 172 | file position field */ | ||
| 173 | |||
| 174 | for (i = 2; i < nsegs; i++) | ||
| 175 | { | ||
| 176 | READ (infd, u_xsegp, sizeof (struct xseg), | ||
| 177 | "error reading %s", a_name); | ||
| 178 | u_xsegp->xs_filpos += datadiff; | ||
| 179 | WRITE (outfd, u_xsegp, sizeof (struct xseg), | ||
| 180 | "error writing %s", new_name); | ||
| 181 | } | ||
| 182 | |||
| 183 | SEEK (infd, textpos, "seek error on %s", a_name); | ||
| 184 | SEEK (outfd, textpos, "seek error on %s", new_name); | ||
| 185 | copyrec (infd, outfd, textlen, a_name, new_name); | ||
| 186 | |||
| 187 | SEEK (outfd, datapos, "seek error on %s", new_name); | ||
| 188 | WRITE (outfd, data_org, datalen, | ||
| 189 | "write error on %s", new_name); | ||
| 190 | |||
| 191 | for (i = 2, segpos += (2 * sizeof (struct xseg)); | ||
| 192 | i < nsegs; | ||
| 193 | i++, segpos += sizeof (struct xseg)) | ||
| 194 | { | ||
| 195 | SEEK (infd, segpos, "seek error on %s", a_name); | ||
| 196 | READ (infd, u_xsegp, sizeof (struct xseg), | ||
| 197 | "read error on %s", a_name); | ||
| 198 | SEEK (infd, u_xsegp->xs_filpos, "seek error on %s", a_name); | ||
| 199 | /* We should be at eof in the output file here, but we must seek | ||
| 200 | because the xs_filpos and xs_psize fields in symbol table | ||
| 201 | segments are inconsistent. */ | ||
| 202 | SEEK (outfd, u_xsegp->xs_filpos + datadiff, "seek error on %s", new_name); | ||
| 203 | copyrec (infd, outfd, u_xsegp->xs_psize, a_name, new_name); | ||
| 204 | } | ||
| 205 | close (infd); | ||
| 206 | close (outfd); | ||
| 207 | mark_x (new_name); | ||
| 208 | return 0; | ||
| 209 | } | ||
| 210 | |||
| 211 | copyrec (infd, outfd, len, in_name, out_name) | ||
| 212 | int infd, outfd, len; | ||
| 213 | char *in_name, *out_name; | ||
| 214 | { | ||
| 215 | char buf[BUFSIZ]; | ||
| 216 | int chunk; | ||
| 217 | |||
| 218 | while (len) | ||
| 219 | { | ||
| 220 | chunk = BUFSIZ; | ||
| 221 | if (chunk > len) | ||
| 222 | chunk = len; | ||
| 223 | READ (infd, buf, chunk, "error reading %s", in_name); | ||
| 224 | WRITE (outfd, buf, chunk, "error writing %s", out_name); | ||
| 225 | len -= chunk; | ||
| 226 | } | ||
| 227 | } | ||
| 228 | |||
| 229 | /* | ||
| 230 | * mark_x | ||
| 231 | * | ||
| 232 | * After successfully building the new a.out, mark it executable | ||
| 233 | */ | ||
| 234 | static | ||
| 235 | mark_x (name) | ||
| 236 | char *name; | ||
| 237 | { | ||
| 238 | struct stat sbuf; | ||
| 239 | int um = umask (777); | ||
| 240 | umask (um); | ||
| 241 | if (stat (name, &sbuf) < 0) | ||
| 242 | fatal_unexec ("getting protection on %s", name); | ||
| 243 | sbuf.st_mode |= 0111 & ~um; | ||
| 244 | if (chmod (name, sbuf.st_mode) < 0) | ||
| 245 | fatal_unexec ("setting protection on %s", name); | ||
| 246 | } | ||
| 247 | |||
| 248 | static void | ||
| 249 | fatal_unexec (s, va_alist) | ||
| 250 | va_dcl | ||
| 251 | { | ||
| 252 | va_list ap; | ||
| 253 | if (errno == EEOF) | ||
| 254 | fputs ("unexec: unexpected end of file, ", stderr); | ||
| 255 | else | ||
| 256 | fprintf (stderr, "unexec: %s, ", strerror (errno)); | ||
| 257 | va_start (ap); | ||
| 258 | _doprnt (s, ap, stderr); | ||
| 259 | fputs (".\n", stderr); | ||
| 260 | exit (1); | ||
| 261 | } | ||
| 262 | |||
| 263 | /* arch-tag: ce26be27-370a-438d-83b4-766059749a02 | ||
| 264 | (do not change this comment) */ | ||
diff --git a/src/unexsni.c b/src/unexsni.c deleted file mode 100644 index bbf9287e1f2..00000000000 --- a/src/unexsni.c +++ /dev/null | |||
| @@ -1,925 +0,0 @@ | |||
| 1 | /* Unexec for Siemens machines running Sinix (modified SVR4). | ||
| 2 | Copyright (C) 1985, 1986, 1987, 1988, 1990, 1992, 1993, 1994, 1995, 2001, | ||
| 3 | 2002, 2003, 2004, 2005, 2006, 2007 | ||
| 4 | Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation; either version 3, or (at your option) | ||
| 11 | any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 20 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 21 | Boston, MA 02110-1301, USA. | ||
| 22 | |||
| 23 | In other words, you are welcome to use, share and improve this program. | ||
| 24 | You are forbidden to forbid anyone else to use, share and improve | ||
| 25 | what you give them. Help stamp out software-hoarding! */ | ||
| 26 | |||
| 27 | /* | ||
| 28 | * unexec.c - Convert a running program into an a.out file. | ||
| 29 | * | ||
| 30 | * Author: Spencer W. Thomas | ||
| 31 | * Computer Science Dept. | ||
| 32 | * University of Utah | ||
| 33 | * Date: Tue Mar 2 1982 | ||
| 34 | * Modified heavily since then. | ||
| 35 | * | ||
| 36 | * Synopsis: | ||
| 37 | * unexec (new_name, a_name, data_start, bss_start, entry_address) | ||
| 38 | * char *new_name, *a_name; | ||
| 39 | * unsigned data_start, bss_start, entry_address; | ||
| 40 | * | ||
| 41 | * Takes a snapshot of the program and makes an a.out format file in the | ||
| 42 | * file named by the string argument new_name. | ||
| 43 | * If a_name is non-NULL, the symbol table will be taken from the given file. | ||
| 44 | * On some machines, an existing a_name file is required. | ||
| 45 | * | ||
| 46 | * The boundaries within the a.out file may be adjusted with the data_start | ||
| 47 | * and bss_start arguments. Either or both may be given as 0 for defaults. | ||
| 48 | * | ||
| 49 | * Data_start gives the boundary between the text segment and the data | ||
| 50 | * segment of the program. The text segment can contain shared, read-only | ||
| 51 | * program code and literal data, while the data segment is always unshared | ||
| 52 | * and unprotected. Data_start gives the lowest unprotected address. | ||
| 53 | * The value you specify may be rounded down to a suitable boundary | ||
| 54 | * as required by the machine you are using. | ||
| 55 | * | ||
| 56 | * Specifying zero for data_start means the boundary between text and data | ||
| 57 | * should not be the same as when the program was loaded. | ||
| 58 | * If NO_REMAP is defined, the argument data_start is ignored and the | ||
| 59 | * segment boundaries are never changed. | ||
| 60 | * | ||
| 61 | * Bss_start indicates how much of the data segment is to be saved in the | ||
| 62 | * a.out file and restored when the program is executed. It gives the lowest | ||
| 63 | * unsaved address, and is rounded up to a page boundary. The default when 0 | ||
| 64 | * is given assumes that the entire data segment is to be stored, including | ||
| 65 | * the previous data and bss as well as any additional storage allocated with | ||
| 66 | * break (2). | ||
| 67 | * | ||
| 68 | * The new file is set up to start at entry_address. | ||
| 69 | * | ||
| 70 | * If you make improvements I'd like to get them too. | ||
| 71 | * harpo!utah-cs!thomas, thomas@Utah-20 | ||
| 72 | * | ||
| 73 | */ | ||
| 74 | |||
| 75 | /* Even more heavily modified by james@bigtex.cactus.org of Dell Computer Co. | ||
| 76 | * ELF support added. | ||
| 77 | * | ||
| 78 | * Basic theory: the data space of the running process needs to be | ||
| 79 | * dumped to the output file. Normally we would just enlarge the size | ||
| 80 | * of .data, scooting everything down. But we can't do that in ELF, | ||
| 81 | * because there is often something between the .data space and the | ||
| 82 | * .bss space. | ||
| 83 | * | ||
| 84 | * In the temacs dump below, notice that the Global Offset Table | ||
| 85 | * (.got) and the Dynamic link data (.dynamic) come between .data1 and | ||
| 86 | * .bss. It does not work to overlap .data with these fields. | ||
| 87 | * | ||
| 88 | * The solution is to create a new .data segment. This segment is | ||
| 89 | * filled with data from the current process. Since the contents of | ||
| 90 | * various sections refer to sections by index, the new .data segment | ||
| 91 | * is made the last in the table to avoid changing any existing index. | ||
| 92 | */ | ||
| 93 | |||
| 94 | /* Modified by wtien@urbana.mcd.mot.com of Motorola Inc. | ||
| 95 | * | ||
| 96 | * The above mechanism does not work if the unexeced ELF file is being | ||
| 97 | * re-layout by other applications (such as `strip'). All the applications | ||
| 98 | * that re-layout the internal of ELF will layout all sections in ascending | ||
| 99 | * order of their file offsets. After the re-layout, the data2 section will | ||
| 100 | * still be the LAST section in the section header vector, but its file offset | ||
| 101 | * is now being pushed far away down, and causes part of it not to be mapped | ||
| 102 | * in (ie. not covered by the load segment entry in PHDR vector), therefore | ||
| 103 | * causes the new binary to fail. | ||
| 104 | * | ||
| 105 | * The solution is to modify the unexec algorithm to insert the new data2 | ||
| 106 | * section header right before the new bss section header, so their file | ||
| 107 | * offsets will be in the ascending order. Since some of the section's (all | ||
| 108 | * sections AFTER the bss section) indexes are now changed, we also need to | ||
| 109 | * modify some fields to make them point to the right sections. This is done | ||
| 110 | * by macro PATCH_INDEX. All the fields that need to be patched are: | ||
| 111 | * | ||
| 112 | * 1. ELF header e_shstrndx field. | ||
| 113 | * 2. section header sh_link and sh_info field. | ||
| 114 | * 3. symbol table entry st_shndx field. | ||
| 115 | */ | ||
| 116 | |||
| 117 | /* | ||
| 118 | * New modifications for Siemens Nixdorf's MIPS-based machines. | ||
| 119 | * Marco.Walther@mch.sni.de | ||
| 120 | * marco@inreach.com | ||
| 121 | * | ||
| 122 | * The problem: Before the bss segment we have a so called sbss segment | ||
| 123 | * (small bss) and maybe an sdata segment. These segments | ||
| 124 | * must also be handled correct. | ||
| 125 | * | ||
| 126 | * /home1/marco/emacs/emacs-19.22/src | ||
| 127 | * dump -hv temacs | ||
| 128 | * | ||
| 129 | * temacs: | ||
| 130 | * | ||
| 131 | * **** SECTION HEADER TABLE **** | ||
| 132 | * [No] Type Flags Addr Offset Size Name | ||
| 133 | * Link Info Adralgn Entsize | ||
| 134 | * | ||
| 135 | * [1] PBIT -A-- 0x4000f4 0xf4 0x13 .interp | ||
| 136 | * 0 0 0x1 0 | ||
| 137 | * | ||
| 138 | * [2] REGI -A-- 0x400108 0x108 0x18 .reginfo | ||
| 139 | * 0 0 0x4 0x18 | ||
| 140 | * | ||
| 141 | * [3] DYNM -A-- 0x400120 0x120 0xb8 .dynamic | ||
| 142 | * 6 0 0x4 0x8 | ||
| 143 | * | ||
| 144 | * [4] HASH -A-- 0x4001d8 0x1d8 0x8a0 .hash | ||
| 145 | * 5 0 0x4 0x4 | ||
| 146 | * | ||
| 147 | * [5] DYNS -A-- 0x400a78 0xa78 0x11f0 .dynsym | ||
| 148 | * 6 2 0x4 0x10 | ||
| 149 | * | ||
| 150 | * [6] STRT -A-- 0x401c68 0x1c68 0xbf9 .dynstr | ||
| 151 | * 0 0 0x1 0 | ||
| 152 | * | ||
| 153 | * [7] REL -A-- 0x402864 0x2864 0x18 .rel.dyn | ||
| 154 | * 5 14 0x4 0x8 | ||
| 155 | * | ||
| 156 | * [8] PBIT -AI- 0x402880 0x2880 0x60 .init | ||
| 157 | * 0 0 0x10 0x1 | ||
| 158 | * | ||
| 159 | * [9] PBIT -AI- 0x4028e0 0x28e0 0x1234 .plt | ||
| 160 | * 0 0 0x4 0x4 | ||
| 161 | * | ||
| 162 | * [10] PBIT -AI- 0x403b20 0x3b20 0xee400 .text | ||
| 163 | * 0 0 0x20 0x1 | ||
| 164 | * | ||
| 165 | * [11] PBIT -AI- 0x4f1f20 0xf1f20 0x60 .fini | ||
| 166 | * 0 0 0x10 0x1 | ||
| 167 | * | ||
| 168 | * [12] PBIT -A-- 0x4f1f80 0xf1f80 0xd90 .rdata | ||
| 169 | * 0 0 0x10 0x1 | ||
| 170 | * | ||
| 171 | * [13] PBIT -A-- 0x4f2d10 0xf2d10 0x17e0 .rodata | ||
| 172 | * 0 0 0x10 0x1 | ||
| 173 | * | ||
| 174 | * [14] PBIT WA-- 0x5344f0 0xf44f0 0x4b3e4 .data <<<<< | ||
| 175 | * 0 0 0x10 0x1 | ||
| 176 | * | ||
| 177 | * [15] PBIT WA-G 0x57f8d4 0x13f8d4 0x2a84 .got | ||
| 178 | * 0 0 0x4 0x4 | ||
| 179 | * | ||
| 180 | * [16] PBIT WA-G 0x582360 0x142360 0x10 .sdata <<<<< | ||
| 181 | * 0 0 0x10 0x1 | ||
| 182 | * | ||
| 183 | * [17] NOBI WA-G 0x582370 0x142370 0xb84 .sbss <<<<< | ||
| 184 | * 0 0 0x4 0 | ||
| 185 | * | ||
| 186 | * [18] NOBI WA-- 0x582f00 0x142370 0x27ec0 .bss <<<<< | ||
| 187 | * 0 0 0x10 0x1 | ||
| 188 | * | ||
| 189 | * [19] SYMT ---- 0 0x142370 0x10e40 .symtab | ||
| 190 | * 20 1108 0x4 0x10 | ||
| 191 | * | ||
| 192 | * [20] STRT ---- 0 0x1531b0 0xed9e .strtab | ||
| 193 | * 0 0 0x1 0 | ||
| 194 | * | ||
| 195 | * [21] STRT ---- 0 0x161f4e 0xb5 .shstrtab | ||
| 196 | * 0 0 0x1 0 | ||
| 197 | * | ||
| 198 | * [22] PBIT ---- 0 0x162003 0x28e2a .comment | ||
| 199 | * 0 0 0x1 0x1 | ||
| 200 | * | ||
| 201 | * [23] PBIT ---- 0 0x18ae2d 0x592 .debug | ||
| 202 | * 0 0 0x1 0 | ||
| 203 | * | ||
| 204 | * [24] PBIT ---- 0 0x18b3bf 0x80 .line | ||
| 205 | * 0 0 0x1 0 | ||
| 206 | * | ||
| 207 | * [25] MDBG ---- 0 0x18b440 0x60 .mdebug | ||
| 208 | * 0 0 0x4 0 | ||
| 209 | * | ||
| 210 | * | ||
| 211 | * dump -hv emacs | ||
| 212 | * | ||
| 213 | * emacs: | ||
| 214 | * | ||
| 215 | * **** SECTION HEADER TABLE **** | ||
| 216 | * [No] Type Flags Addr Offset Size Name | ||
| 217 | * Link Info Adralgn Entsize | ||
| 218 | * | ||
| 219 | * [1] PBIT -A-- 0x4000f4 0xf4 0x13 .interp | ||
| 220 | * 0 0 0x1 0 | ||
| 221 | * | ||
| 222 | * [2] REGI -A-- 0x400108 0x108 0x18 .reginfo | ||
| 223 | * 0 0 0x4 0x18 | ||
| 224 | * | ||
| 225 | * [3] DYNM -A-- 0x400120 0x120 0xb8 .dynamic | ||
| 226 | * 6 0 0x4 0x8 | ||
| 227 | * | ||
| 228 | * [4] HASH -A-- 0x4001d8 0x1d8 0x8a0 .hash | ||
| 229 | * 5 0 0x4 0x4 | ||
| 230 | * | ||
| 231 | * [5] DYNS -A-- 0x400a78 0xa78 0x11f0 .dynsym | ||
| 232 | * 6 2 0x4 0x10 | ||
| 233 | * | ||
| 234 | * [6] STRT -A-- 0x401c68 0x1c68 0xbf9 .dynstr | ||
| 235 | * 0 0 0x1 0 | ||
| 236 | * | ||
| 237 | * [7] REL -A-- 0x402864 0x2864 0x18 .rel.dyn | ||
| 238 | * 5 14 0x4 0x8 | ||
| 239 | * | ||
| 240 | * [8] PBIT -AI- 0x402880 0x2880 0x60 .init | ||
| 241 | * 0 0 0x10 0x1 | ||
| 242 | * | ||
| 243 | * [9] PBIT -AI- 0x4028e0 0x28e0 0x1234 .plt | ||
| 244 | * 0 0 0x4 0x4 | ||
| 245 | * | ||
| 246 | * [10] PBIT -AI- 0x403b20 0x3b20 0xee400 .text | ||
| 247 | * 0 0 0x20 0x1 | ||
| 248 | * | ||
| 249 | * [11] PBIT -AI- 0x4f1f20 0xf1f20 0x60 .fini | ||
| 250 | * 0 0 0x10 0x1 | ||
| 251 | * | ||
| 252 | * [12] PBIT -A-- 0x4f1f80 0xf1f80 0xd90 .rdata | ||
| 253 | * 0 0 0x10 0x1 | ||
| 254 | * | ||
| 255 | * [13] PBIT -A-- 0x4f2d10 0xf2d10 0x17e0 .rodata | ||
| 256 | * 0 0 0x10 0x1 | ||
| 257 | * | ||
| 258 | * [14] PBIT WA-- 0x5344f0 0xf44f0 0x4b3e4 .data <<<<< | ||
| 259 | * 0 0 0x10 0x1 | ||
| 260 | * | ||
| 261 | * [15] PBIT WA-G 0x57f8d4 0x13f8d4 0x2a84 .got | ||
| 262 | * 0 0 0x4 0x4 | ||
| 263 | * | ||
| 264 | * [16] PBIT WA-G 0x582360 0x142360 0xb94 .sdata <<<<< | ||
| 265 | * 0 0 0x10 0x1 | ||
| 266 | * | ||
| 267 | * [17] PBIT WA-- 0x582f00 0x142f00 0x94100 .data <<<<< | ||
| 268 | * 0 0 0x10 0x1 | ||
| 269 | * | ||
| 270 | * [18] NOBI WA-G 0x617000 0x1d7000 0 .sbss <<<<< | ||
| 271 | * 0 0 0x4 0 | ||
| 272 | * | ||
| 273 | * [19] NOBI WA-- 0x617000 0x1d7000 0 .bss <<<<< | ||
| 274 | * 0 0 0x4 0x1 | ||
| 275 | * | ||
| 276 | * [20] SYMT ---- 0 0x1d7000 0x10e40 .symtab | ||
| 277 | * 21 1109 0x4 0x10 | ||
| 278 | * | ||
| 279 | * [21] STRT ---- 0 0x1e7e40 0xed9e .strtab | ||
| 280 | * 0 0 0x1 0 | ||
| 281 | * | ||
| 282 | * [22] STRT ---- 0 0x1f6bde 0xb5 .shstrtab | ||
| 283 | * 0 0 0x1 0 | ||
| 284 | * | ||
| 285 | * [23] PBIT ---- 0 0x1f6c93 0x28e2a .comment | ||
| 286 | * 0 0 0x1 0x1 | ||
| 287 | * | ||
| 288 | * [24] PBIT ---- 0 0x21fabd 0x592 .debug | ||
| 289 | * 0 0 0x1 0 | ||
| 290 | * | ||
| 291 | * [25] PBIT ---- 0 0x22004f 0x80 .line | ||
| 292 | * 0 0 0x1 0 | ||
| 293 | * | ||
| 294 | * [26] MDBG ---- 0 0x2200d0 0x60 .mdebug | ||
| 295 | * 0 0 0x4 0 | ||
| 296 | * | ||
| 297 | */ | ||
| 298 | |||
| 299 | #include <sys/types.h> | ||
| 300 | #include <stdio.h> | ||
| 301 | #include <sys/stat.h> | ||
| 302 | #include <memory.h> | ||
| 303 | #include <string.h> | ||
| 304 | #include <errno.h> | ||
| 305 | #include <unistd.h> | ||
| 306 | #include <fcntl.h> | ||
| 307 | #include <elf.h> | ||
| 308 | #include <sys/mman.h> | ||
| 309 | #include <assert.h> | ||
| 310 | |||
| 311 | /* #define DEBUG */ | ||
| 312 | |||
| 313 | #ifndef emacs | ||
| 314 | #define fatal(a, b, c) fprintf(stderr, a, b, c), exit(1) | ||
| 315 | #else | ||
| 316 | extern void fatal(char *, ...); | ||
| 317 | #endif | ||
| 318 | |||
| 319 | /* Get the address of a particular section or program header entry, | ||
| 320 | * accounting for the size of the entries. | ||
| 321 | */ | ||
| 322 | |||
| 323 | #define OLD_SECTION_H(n) \ | ||
| 324 | (*(Elf32_Shdr *) ((byte *) old_section_h + old_file_h->e_shentsize * (n))) | ||
| 325 | #define NEW_SECTION_H(n) \ | ||
| 326 | (*(Elf32_Shdr *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) | ||
| 327 | #define OLD_PROGRAM_H(n) \ | ||
| 328 | (*(Elf32_Phdr *) ((byte *) old_program_h + old_file_h->e_phentsize * (n))) | ||
| 329 | #define NEW_PROGRAM_H(n) \ | ||
| 330 | (*(Elf32_Phdr *) ((byte *) new_program_h + new_file_h->e_phentsize * (n))) | ||
| 331 | |||
| 332 | #define PATCH_INDEX(n) \ | ||
| 333 | do { \ | ||
| 334 | if ((n) >= old_sbss_index) \ | ||
| 335 | (n) += 1 + (old_sdata_index ? 0 : 1); } while (0) | ||
| 336 | |||
| 337 | typedef unsigned char byte; | ||
| 338 | |||
| 339 | /* Round X up to a multiple of Y. */ | ||
| 340 | |||
| 341 | int | ||
| 342 | round_up (x, y) | ||
| 343 | int x, y; | ||
| 344 | { | ||
| 345 | int rem = x % y; | ||
| 346 | if (rem == 0) | ||
| 347 | return x; | ||
| 348 | return x - rem + y; | ||
| 349 | } | ||
| 350 | |||
| 351 | /* **************************************************************** | ||
| 352 | * unexec | ||
| 353 | * | ||
| 354 | * driving logic. | ||
| 355 | * | ||
| 356 | * In ELF, this works by replacing the old .bss section with a new | ||
| 357 | * .data section, and inserting an empty .bss immediately afterwards. | ||
| 358 | * | ||
| 359 | */ | ||
| 360 | void | ||
| 361 | unexec (new_name, old_name, data_start, bss_start, entry_address) | ||
| 362 | char *new_name, *old_name; | ||
| 363 | unsigned data_start, bss_start, entry_address; | ||
| 364 | { | ||
| 365 | extern unsigned int bss_end; | ||
| 366 | int new_file, old_file, new_file_size; | ||
| 367 | |||
| 368 | /* Pointers to the base of the image of the two files. */ | ||
| 369 | caddr_t old_base, new_base; | ||
| 370 | |||
| 371 | /* Pointers to the file, program and section headers for the old and new | ||
| 372 | * files. | ||
| 373 | */ | ||
| 374 | Elf32_Ehdr *old_file_h, *new_file_h; | ||
| 375 | Elf32_Phdr *old_program_h, *new_program_h; | ||
| 376 | Elf32_Shdr *old_section_h, *new_section_h; | ||
| 377 | |||
| 378 | /* Point to the section name table in the old file */ | ||
| 379 | char *old_section_names; | ||
| 380 | |||
| 381 | Elf32_Addr old_bss_addr, new_bss_addr; | ||
| 382 | Elf32_Addr old_sbss_addr; | ||
| 383 | Elf32_Word old_bss_size, new_data2_size; | ||
| 384 | Elf32_Word old_sbss_size, new_data3_size; | ||
| 385 | Elf32_Off new_data2_offset; | ||
| 386 | Elf32_Off new_data3_offset; | ||
| 387 | Elf32_Addr new_data2_addr; | ||
| 388 | Elf32_Addr new_data3_addr; | ||
| 389 | |||
| 390 | |||
| 391 | Elf32_Addr old_rel_dyn_addr; | ||
| 392 | Elf32_Word old_rel_dyn_size; | ||
| 393 | int old_rel_dyn_index; | ||
| 394 | |||
| 395 | Elf32_Word old_sdata_size, new_sdata_size; | ||
| 396 | int old_sdata_index = 0; | ||
| 397 | |||
| 398 | int n, nn, old_data_index, new_data2_align; | ||
| 399 | int old_bss_index; | ||
| 400 | int old_sbss_index; | ||
| 401 | int old_bss_padding; | ||
| 402 | struct stat stat_buf; | ||
| 403 | |||
| 404 | /* Open the old file & map it into the address space. */ | ||
| 405 | |||
| 406 | old_file = open (old_name, O_RDONLY); | ||
| 407 | |||
| 408 | if (old_file < 0) | ||
| 409 | fatal ("Can't open %s for reading: errno %d\n", old_name, errno); | ||
| 410 | |||
| 411 | if (fstat (old_file, &stat_buf) == -1) | ||
| 412 | fatal ("Can't fstat(%s): errno %d\n", old_name, errno); | ||
| 413 | |||
| 414 | old_base = mmap (0, stat_buf.st_size, PROT_READ, MAP_SHARED, old_file, 0); | ||
| 415 | |||
| 416 | if (old_base == (caddr_t) -1) | ||
| 417 | fatal ("Can't mmap(%s): errno %d\n", old_name, errno); | ||
| 418 | |||
| 419 | #ifdef DEBUG | ||
| 420 | fprintf (stderr, "mmap(%s, %x) -> %x\n", old_name, stat_buf.st_size, | ||
| 421 | old_base); | ||
| 422 | #endif | ||
| 423 | |||
| 424 | /* Get pointers to headers & section names */ | ||
| 425 | |||
| 426 | old_file_h = (Elf32_Ehdr *) old_base; | ||
| 427 | old_program_h = (Elf32_Phdr *) ((byte *) old_base + old_file_h->e_phoff); | ||
| 428 | old_section_h = (Elf32_Shdr *) ((byte *) old_base + old_file_h->e_shoff); | ||
| 429 | old_section_names = (char *) old_base | ||
| 430 | + OLD_SECTION_H(old_file_h->e_shstrndx).sh_offset; | ||
| 431 | |||
| 432 | /* Find the old .sbss section. | ||
| 433 | */ | ||
| 434 | |||
| 435 | for (old_sbss_index = 1; old_sbss_index < old_file_h->e_shnum; | ||
| 436 | old_sbss_index++) | ||
| 437 | { | ||
| 438 | #ifdef DEBUG | ||
| 439 | fprintf (stderr, "Looking for .sbss - found %s\n", | ||
| 440 | old_section_names + OLD_SECTION_H(old_sbss_index).sh_name); | ||
| 441 | #endif | ||
| 442 | if (!strcmp (old_section_names + OLD_SECTION_H(old_sbss_index).sh_name, | ||
| 443 | ".sbss")) | ||
| 444 | break; | ||
| 445 | } | ||
| 446 | if (old_sbss_index == old_file_h->e_shnum) | ||
| 447 | fatal ("Can't find .sbss in %s.\n", old_name, 0); | ||
| 448 | |||
| 449 | if (!strcmp(old_section_names + OLD_SECTION_H(old_sbss_index - 1).sh_name, | ||
| 450 | ".sdata")) | ||
| 451 | { | ||
| 452 | old_sdata_index = old_sbss_index - 1; | ||
| 453 | } | ||
| 454 | |||
| 455 | |||
| 456 | /* Find the old .bss section. | ||
| 457 | */ | ||
| 458 | |||
| 459 | for (old_bss_index = 1; old_bss_index < old_file_h->e_shnum; old_bss_index++) | ||
| 460 | { | ||
| 461 | #ifdef DEBUG | ||
| 462 | fprintf (stderr, "Looking for .bss - found %s\n", | ||
| 463 | old_section_names + OLD_SECTION_H(old_bss_index).sh_name); | ||
| 464 | #endif | ||
| 465 | if (!strcmp (old_section_names + OLD_SECTION_H(old_bss_index).sh_name, | ||
| 466 | ".bss")) | ||
| 467 | break; | ||
| 468 | } | ||
| 469 | if (old_bss_index == old_file_h->e_shnum) | ||
| 470 | fatal ("Can't find .bss in %s.\n", old_name, 0); | ||
| 471 | |||
| 472 | if (old_sbss_index != (old_bss_index - 1)) | ||
| 473 | fatal (".sbss should come immediately before .bss in %s.\n", old_name, 0); | ||
| 474 | |||
| 475 | /* Find the old .rel.dyn section. | ||
| 476 | */ | ||
| 477 | |||
| 478 | for (old_rel_dyn_index = 1; old_rel_dyn_index < old_file_h->e_shnum; | ||
| 479 | old_rel_dyn_index++) | ||
| 480 | { | ||
| 481 | #ifdef DEBUG | ||
| 482 | fprintf (stderr, "Looking for .rel.dyn - found %s\n", | ||
| 483 | old_section_names + OLD_SECTION_H(old_rel_dyn_index).sh_name); | ||
| 484 | #endif | ||
| 485 | if (!strcmp (old_section_names + OLD_SECTION_H(old_rel_dyn_index).sh_name, | ||
| 486 | ".rel.dyn")) | ||
| 487 | break; | ||
| 488 | } | ||
| 489 | if (old_rel_dyn_index == old_file_h->e_shnum) | ||
| 490 | fatal ("Can't find .rel_dyn in %s.\n", old_name, 0); | ||
| 491 | |||
| 492 | old_rel_dyn_addr = OLD_SECTION_H(old_rel_dyn_index).sh_addr; | ||
| 493 | old_rel_dyn_size = OLD_SECTION_H(old_rel_dyn_index).sh_size; | ||
| 494 | |||
| 495 | /* Figure out parameters of the new data3 and data2 sections. | ||
| 496 | * Change the sbss and bss sections. | ||
| 497 | */ | ||
| 498 | |||
| 499 | old_bss_addr = OLD_SECTION_H(old_bss_index).sh_addr; | ||
| 500 | old_bss_size = OLD_SECTION_H(old_bss_index).sh_size; | ||
| 501 | |||
| 502 | old_sbss_addr = OLD_SECTION_H(old_sbss_index).sh_addr; | ||
| 503 | old_sbss_size = OLD_SECTION_H(old_sbss_index).sh_size; | ||
| 504 | |||
| 505 | if (old_sdata_index) | ||
| 506 | { | ||
| 507 | old_sdata_size = OLD_SECTION_H(old_sdata_index).sh_size; | ||
| 508 | } | ||
| 509 | |||
| 510 | #if defined(emacs) || !defined(DEBUG) | ||
| 511 | bss_end = (unsigned int) sbrk (0); | ||
| 512 | new_bss_addr = (Elf32_Addr) bss_end; | ||
| 513 | #else | ||
| 514 | new_bss_addr = old_bss_addr + old_bss_size + 0x1234; | ||
| 515 | #endif | ||
| 516 | if (old_sdata_index) | ||
| 517 | { | ||
| 518 | new_sdata_size = OLD_SECTION_H(old_sbss_index).sh_offset - | ||
| 519 | OLD_SECTION_H(old_sdata_index).sh_offset + old_sbss_size; | ||
| 520 | } | ||
| 521 | |||
| 522 | new_data3_addr = old_sbss_addr; | ||
| 523 | new_data3_size = old_sbss_size; | ||
| 524 | new_data3_offset = OLD_SECTION_H(old_sbss_index).sh_offset; | ||
| 525 | |||
| 526 | new_data2_addr = old_bss_addr; | ||
| 527 | new_data2_size = new_bss_addr - old_bss_addr; | ||
| 528 | new_data2_align = (new_data3_offset + old_sbss_size) % | ||
| 529 | OLD_SECTION_H(old_bss_index).sh_addralign; | ||
| 530 | new_data2_align = new_data2_align ? | ||
| 531 | OLD_SECTION_H(old_bss_index).sh_addralign - new_data2_align : | ||
| 532 | 0; | ||
| 533 | new_data2_offset = new_data3_offset + old_sbss_size + new_data2_align; | ||
| 534 | |||
| 535 | old_bss_padding = OLD_SECTION_H(old_bss_index).sh_offset - | ||
| 536 | OLD_SECTION_H(old_sbss_index).sh_offset; | ||
| 537 | #ifdef DEBUG | ||
| 538 | fprintf (stderr, "old_bss_index %d\n", old_bss_index); | ||
| 539 | fprintf (stderr, "old_bss_addr %x\n", old_bss_addr); | ||
| 540 | fprintf (stderr, "old_bss_size %x\n", old_bss_size); | ||
| 541 | fprintf (stderr, "new_bss_addr %x\n", new_bss_addr); | ||
| 542 | fprintf (stderr, "new_data2_addr %x\n", new_data2_addr); | ||
| 543 | fprintf (stderr, "new_data2_size %x\n", new_data2_size); | ||
| 544 | fprintf (stderr, "new_data2_offset %x\n", new_data2_offset); | ||
| 545 | fprintf (stderr, "old_sbss_index %d\n", old_sbss_index); | ||
| 546 | fprintf (stderr, "old_sbss_addr %x\n", old_sbss_addr); | ||
| 547 | fprintf (stderr, "old_sbss_size %x\n", old_sbss_size); | ||
| 548 | fprintf (stderr, "old_rel_dyn_addr %x\n", old_rel_dyn_addr); | ||
| 549 | fprintf (stderr, "old_rel_dyn_size %x\n", old_rel_dyn_size); | ||
| 550 | if (old_sdata_index) | ||
| 551 | { | ||
| 552 | fprintf (stderr, "old_sdata_size %x\n", old_sdata_size); | ||
| 553 | fprintf (stderr, "new_sdata_size %x\n", new_sdata_size); | ||
| 554 | } | ||
| 555 | else | ||
| 556 | { | ||
| 557 | fprintf (stderr, "new_data3_addr %x\n", new_data3_addr); | ||
| 558 | fprintf (stderr, "new_data3_size %x\n", new_data3_size); | ||
| 559 | fprintf (stderr, "new_data3_offset %x\n", new_data3_offset); | ||
| 560 | } | ||
| 561 | #endif | ||
| 562 | |||
| 563 | if ((unsigned) new_bss_addr < (unsigned) old_bss_addr + old_bss_size) | ||
| 564 | fatal (".bss shrank when undumping???\n", 0, 0); | ||
| 565 | |||
| 566 | /* Set the output file to the right size and mmap(2) it. Set | ||
| 567 | * pointers to various interesting objects. stat_buf still has | ||
| 568 | * old_file data. | ||
| 569 | */ | ||
| 570 | |||
| 571 | new_file = open (new_name, O_RDWR | O_CREAT, 0666); | ||
| 572 | if (new_file < 0) | ||
| 573 | fatal ("Can't creat(%s): errno %d\n", new_name, errno); | ||
| 574 | |||
| 575 | new_file_size = stat_buf.st_size + | ||
| 576 | ((1 + (old_sdata_index ? 0 : 1)) * old_file_h->e_shentsize) + | ||
| 577 | new_data2_size + new_data3_size + new_data2_align; | ||
| 578 | |||
| 579 | if (ftruncate (new_file, new_file_size)) | ||
| 580 | fatal ("Can't ftruncate(%s): errno %d\n", new_name, errno); | ||
| 581 | |||
| 582 | new_base = mmap (0, new_file_size, PROT_READ | PROT_WRITE, MAP_SHARED, | ||
| 583 | new_file, 0); | ||
| 584 | |||
| 585 | if (new_base == (caddr_t) -1) | ||
| 586 | fatal ("Can't mmap(%s): errno %d\n", new_name, errno); | ||
| 587 | |||
| 588 | new_file_h = (Elf32_Ehdr *) new_base; | ||
| 589 | new_program_h = (Elf32_Phdr *) ((byte *) new_base + old_file_h->e_phoff); | ||
| 590 | new_section_h = (Elf32_Shdr *) ((byte *) new_base + | ||
| 591 | old_file_h->e_shoff + | ||
| 592 | new_data2_size + | ||
| 593 | new_data2_align + | ||
| 594 | new_data3_size); | ||
| 595 | |||
| 596 | /* Make our new file, program and section headers as copies of the | ||
| 597 | * originals. | ||
| 598 | */ | ||
| 599 | |||
| 600 | memcpy (new_file_h, old_file_h, old_file_h->e_ehsize); | ||
| 601 | memcpy (new_program_h, old_program_h, | ||
| 602 | old_file_h->e_phnum * old_file_h->e_phentsize); | ||
| 603 | |||
| 604 | /* Modify the e_shstrndx if necessary. */ | ||
| 605 | PATCH_INDEX (new_file_h->e_shstrndx); | ||
| 606 | |||
| 607 | /* Fix up file header. We'll add one section. Section header is | ||
| 608 | * further away now. | ||
| 609 | */ | ||
| 610 | |||
| 611 | new_file_h->e_shoff += new_data2_size + new_data2_align + new_data3_size; | ||
| 612 | new_file_h->e_shnum += 1 + (old_sdata_index ? 0 : 1); | ||
| 613 | |||
| 614 | #ifdef DEBUG | ||
| 615 | fprintf (stderr, "Old section offset %x\n", old_file_h->e_shoff); | ||
| 616 | fprintf (stderr, "Old section count %d\n", old_file_h->e_shnum); | ||
| 617 | fprintf (stderr, "New section offset %x\n", new_file_h->e_shoff); | ||
| 618 | fprintf (stderr, "New section count %d\n", new_file_h->e_shnum); | ||
| 619 | #endif | ||
| 620 | |||
| 621 | /* Fix up a new program header. Extend the writable data segment so | ||
| 622 | * that the bss area is covered too. Find that segment by looking | ||
| 623 | * for a segment that ends just before the .bss area. Make sure | ||
| 624 | * that no segments are above the new .data2. Put a loop at the end | ||
| 625 | * to adjust the offset and address of any segment that is above | ||
| 626 | * data2, just in case we decide to allow this later. | ||
| 627 | */ | ||
| 628 | |||
| 629 | for (n = new_file_h->e_phnum - 1; n >= 0; n--) | ||
| 630 | { | ||
| 631 | /* Compute maximum of all requirements for alignment of section. */ | ||
| 632 | int alignment = (NEW_PROGRAM_H (n)).p_align; | ||
| 633 | if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) | ||
| 634 | alignment = OLD_SECTION_H (old_bss_index).sh_addralign; | ||
| 635 | |||
| 636 | if ((OLD_SECTION_H (old_sbss_index)).sh_addralign > alignment) | ||
| 637 | alignment = OLD_SECTION_H (old_sbss_index).sh_addralign; | ||
| 638 | |||
| 639 | /* Supposedly this condition is okay for the SGI. */ | ||
| 640 | #if 0 | ||
| 641 | if (NEW_PROGRAM_H(n).p_vaddr + NEW_PROGRAM_H(n).p_filesz > old_bss_addr) | ||
| 642 | fatal ("Program segment above .bss in %s\n", old_name, 0); | ||
| 643 | #endif | ||
| 644 | |||
| 645 | if (NEW_PROGRAM_H(n).p_type == PT_LOAD | ||
| 646 | && (round_up ((NEW_PROGRAM_H (n)).p_vaddr | ||
| 647 | + (NEW_PROGRAM_H (n)).p_filesz, | ||
| 648 | alignment) | ||
| 649 | == round_up (old_bss_addr, alignment))) | ||
| 650 | break; | ||
| 651 | } | ||
| 652 | if (n < 0) | ||
| 653 | fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); | ||
| 654 | |||
| 655 | NEW_PROGRAM_H(n).p_filesz += new_data2_size + new_data2_align + | ||
| 656 | new_data3_size; | ||
| 657 | NEW_PROGRAM_H(n).p_memsz = NEW_PROGRAM_H(n).p_filesz; | ||
| 658 | |||
| 659 | #if 1 /* Maybe allow section after data2 - does this ever happen? */ | ||
| 660 | for (n = new_file_h->e_phnum - 1; n >= 0; n--) | ||
| 661 | { | ||
| 662 | if (NEW_PROGRAM_H(n).p_vaddr | ||
| 663 | && NEW_PROGRAM_H(n).p_vaddr >= new_data3_addr) | ||
| 664 | NEW_PROGRAM_H(n).p_vaddr += new_data2_size - old_bss_size + | ||
| 665 | new_data3_size - old_sbss_size; | ||
| 666 | |||
| 667 | if (NEW_PROGRAM_H(n).p_offset >= new_data3_offset) | ||
| 668 | NEW_PROGRAM_H(n).p_offset += new_data2_size + new_data2_align + | ||
| 669 | new_data3_size; | ||
| 670 | } | ||
| 671 | #endif | ||
| 672 | |||
| 673 | /* Fix up section headers based on new .data2 section. Any section | ||
| 674 | * whose offset or virtual address is after the new .data2 section | ||
| 675 | * gets its value adjusted. .bss size becomes zero and new address | ||
| 676 | * is set. data2 section header gets added by copying the existing | ||
| 677 | * .data header and modifying the offset, address and size. | ||
| 678 | */ | ||
| 679 | for (old_data_index = 1; old_data_index < old_file_h->e_shnum; | ||
| 680 | old_data_index++) | ||
| 681 | if (!strcmp (old_section_names + OLD_SECTION_H(old_data_index).sh_name, | ||
| 682 | ".data")) | ||
| 683 | break; | ||
| 684 | if (old_data_index == old_file_h->e_shnum) | ||
| 685 | fatal ("Can't find .data in %s.\n", old_name, 0); | ||
| 686 | |||
| 687 | /* Walk through all section headers, insert the new data2 section right | ||
| 688 | before the new bss section. */ | ||
| 689 | for (n = 1, nn = 1; n < old_file_h->e_shnum; n++, nn++) | ||
| 690 | { | ||
| 691 | caddr_t src; | ||
| 692 | |||
| 693 | if (n == old_sbss_index) | ||
| 694 | |||
| 695 | /* If it is sbss section, insert the new data3 section before it. */ | ||
| 696 | { | ||
| 697 | /* Steal the data section header for this data3 section. */ | ||
| 698 | if (!old_sdata_index) | ||
| 699 | { | ||
| 700 | memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(old_data_index), | ||
| 701 | new_file_h->e_shentsize); | ||
| 702 | |||
| 703 | NEW_SECTION_H(nn).sh_addr = new_data3_addr; | ||
| 704 | NEW_SECTION_H(nn).sh_offset = new_data3_offset; | ||
| 705 | NEW_SECTION_H(nn).sh_size = new_data3_size; | ||
| 706 | NEW_SECTION_H(nn).sh_flags = OLD_SECTION_H(n).sh_flags; | ||
| 707 | /* Use the sbss section's alignment. This will assure that the | ||
| 708 | new data3 section always be placed in the same spot as the old | ||
| 709 | sbss section by any other application. */ | ||
| 710 | NEW_SECTION_H(nn).sh_addralign = OLD_SECTION_H(n).sh_addralign; | ||
| 711 | |||
| 712 | /* Now copy over what we have in the memory now. */ | ||
| 713 | memcpy (NEW_SECTION_H(nn).sh_offset + new_base, | ||
| 714 | (caddr_t) OLD_SECTION_H(n).sh_addr, | ||
| 715 | new_data3_size); | ||
| 716 | /* the new .data2 section should also come before the | ||
| 717 | * new .sbss section */ | ||
| 718 | nn += 2; | ||
| 719 | } | ||
| 720 | else | ||
| 721 | { | ||
| 722 | /* We always have a .sdata section: append the contents of the | ||
| 723 | * old .sbss section. | ||
| 724 | */ | ||
| 725 | memcpy (new_data3_offset + new_base, | ||
| 726 | (caddr_t) OLD_SECTION_H(n).sh_addr, | ||
| 727 | new_data3_size); | ||
| 728 | nn ++; | ||
| 729 | } | ||
| 730 | } | ||
| 731 | else if (n == old_bss_index) | ||
| 732 | |||
| 733 | /* If it is bss section, insert the new data2 section before it. */ | ||
| 734 | { | ||
| 735 | Elf32_Word tmp_align; | ||
| 736 | Elf32_Addr tmp_addr; | ||
| 737 | |||
| 738 | tmp_align = OLD_SECTION_H(n).sh_addralign; | ||
| 739 | tmp_addr = OLD_SECTION_H(n).sh_addr; | ||
| 740 | |||
| 741 | nn -= 2; | ||
| 742 | /* Steal the data section header for this data2 section. */ | ||
| 743 | memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(old_data_index), | ||
| 744 | new_file_h->e_shentsize); | ||
| 745 | |||
| 746 | NEW_SECTION_H(nn).sh_addr = new_data2_addr; | ||
| 747 | NEW_SECTION_H(nn).sh_offset = new_data2_offset; | ||
| 748 | NEW_SECTION_H(nn).sh_size = new_data2_size; | ||
| 749 | /* Use the bss section's alignment. This will assure that the | ||
| 750 | new data2 section always be placed in the same spot as the old | ||
| 751 | bss section by any other application. */ | ||
| 752 | NEW_SECTION_H(nn).sh_addralign = tmp_align; | ||
| 753 | |||
| 754 | /* Now copy over what we have in the memory now. */ | ||
| 755 | memcpy (NEW_SECTION_H(nn).sh_offset + new_base, | ||
| 756 | (caddr_t) tmp_addr, new_data2_size); | ||
| 757 | nn += 2; | ||
| 758 | } | ||
| 759 | |||
| 760 | memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(n), | ||
| 761 | old_file_h->e_shentsize); | ||
| 762 | |||
| 763 | if (old_sdata_index && n == old_sdata_index) | ||
| 764 | /* The old .sdata section has now a new size */ | ||
| 765 | NEW_SECTION_H(nn).sh_size = new_sdata_size; | ||
| 766 | |||
| 767 | /* The new bss section's size is zero, and its file offset and virtual | ||
| 768 | address should be off by NEW_DATA2_SIZE. */ | ||
| 769 | if (n == old_sbss_index) | ||
| 770 | { | ||
| 771 | /* NN should be `old_sbss_index + 2' at this point. */ | ||
| 772 | NEW_SECTION_H(nn).sh_offset += new_data2_size + new_data2_align + | ||
| 773 | new_data3_size; | ||
| 774 | NEW_SECTION_H(nn).sh_addr += new_data2_size + new_data2_align + | ||
| 775 | new_data3_size; | ||
| 776 | /* Let the new bss section address alignment be the same as the | ||
| 777 | section address alignment followed the old bss section, so | ||
| 778 | this section will be placed in exactly the same place. */ | ||
| 779 | NEW_SECTION_H(nn).sh_addralign = | ||
| 780 | OLD_SECTION_H(nn + (old_sdata_index ? 1 : 0)).sh_addralign; | ||
| 781 | NEW_SECTION_H(nn).sh_size = 0; | ||
| 782 | } | ||
| 783 | else if (n == old_bss_index) | ||
| 784 | { | ||
| 785 | /* NN should be `old_bss_index + 2' at this point. */ | ||
| 786 | NEW_SECTION_H(nn).sh_offset += new_data2_size + new_data2_align + | ||
| 787 | new_data3_size - old_bss_padding; | ||
| 788 | NEW_SECTION_H(nn).sh_addr += new_data2_size; | ||
| 789 | /* Let the new bss section address alignment be the same as the | ||
| 790 | section address alignment followed the old bss section, so | ||
| 791 | this section will be placed in exactly the same place. */ | ||
| 792 | NEW_SECTION_H(nn).sh_addralign = | ||
| 793 | OLD_SECTION_H((nn - (old_sdata_index ? 0 : 1))).sh_addralign; | ||
| 794 | NEW_SECTION_H(nn).sh_size = 0; | ||
| 795 | } | ||
| 796 | /* Any section that was original placed AFTER the bss section should now | ||
| 797 | be off by NEW_DATA2_SIZE. */ | ||
| 798 | else if (NEW_SECTION_H(nn).sh_offset >= new_data3_offset) | ||
| 799 | NEW_SECTION_H(nn).sh_offset += new_data2_size + | ||
| 800 | new_data2_align + | ||
| 801 | new_data3_size - | ||
| 802 | old_bss_padding; | ||
| 803 | |||
| 804 | /* If any section hdr refers to the section after the new .data | ||
| 805 | section, make it refer to next one because we have inserted | ||
| 806 | a new section in between. */ | ||
| 807 | |||
| 808 | PATCH_INDEX(NEW_SECTION_H(nn).sh_link); | ||
| 809 | PATCH_INDEX(NEW_SECTION_H(nn).sh_info); | ||
| 810 | |||
| 811 | /* Now, start to copy the content of sections. */ | ||
| 812 | if (NEW_SECTION_H(nn).sh_type == SHT_NULL | ||
| 813 | || NEW_SECTION_H(nn).sh_type == SHT_NOBITS) | ||
| 814 | continue; | ||
| 815 | |||
| 816 | /* Write out the sections. .data, .data1 and .sdata get copied from | ||
| 817 | * the current process instead of the old file. | ||
| 818 | */ | ||
| 819 | if (!strcmp (old_section_names + OLD_SECTION_H(n).sh_name, ".data") || | ||
| 820 | !strcmp (old_section_names + OLD_SECTION_H(n).sh_name, ".data1") || | ||
| 821 | (old_sdata_index && (n == old_sdata_index))) | ||
| 822 | src = (caddr_t) OLD_SECTION_H(n).sh_addr; | ||
| 823 | else | ||
| 824 | src = old_base + OLD_SECTION_H(n).sh_offset; | ||
| 825 | |||
| 826 | memcpy (NEW_SECTION_H(nn).sh_offset + new_base, src, | ||
| 827 | ((n == old_sdata_index) ? | ||
| 828 | old_sdata_size : | ||
| 829 | NEW_SECTION_H(nn).sh_size)); | ||
| 830 | |||
| 831 | /* If it is the symbol table, its st_shndx field needs to be patched. */ | ||
| 832 | if (NEW_SECTION_H(nn).sh_type == SHT_SYMTAB | ||
| 833 | || NEW_SECTION_H(nn).sh_type == SHT_DYNSYM) | ||
| 834 | { | ||
| 835 | Elf32_Shdr *spt = &NEW_SECTION_H(nn); | ||
| 836 | unsigned int num = spt->sh_size / spt->sh_entsize; | ||
| 837 | Elf32_Sym * sym = (Elf32_Sym *) (NEW_SECTION_H(nn).sh_offset + | ||
| 838 | new_base); | ||
| 839 | for (; num--; sym++) | ||
| 840 | { | ||
| 841 | if ((sym->st_shndx == SHN_UNDEF) | ||
| 842 | || (sym->st_shndx == SHN_ABS) | ||
| 843 | || (sym->st_shndx == SHN_COMMON)) | ||
| 844 | continue; | ||
| 845 | |||
| 846 | PATCH_INDEX(sym->st_shndx); | ||
| 847 | } | ||
| 848 | } | ||
| 849 | } | ||
| 850 | { | ||
| 851 | Elf32_Rel *rel_p; | ||
| 852 | unsigned int old_data_addr_start; | ||
| 853 | unsigned int old_data_addr_end; | ||
| 854 | unsigned int old_data_offset; | ||
| 855 | unsigned int new_data_offset; | ||
| 856 | int i; | ||
| 857 | |||
| 858 | rel_p = (Elf32_Rel *)OLD_SECTION_H(old_rel_dyn_index).sh_addr; | ||
| 859 | old_data_addr_start = OLD_SECTION_H(old_data_index).sh_addr; | ||
| 860 | old_data_addr_end = old_data_addr_start + | ||
| 861 | OLD_SECTION_H(old_data_index).sh_size; | ||
| 862 | old_data_offset = (int)OLD_SECTION_H(old_data_index).sh_offset + | ||
| 863 | (unsigned int)old_base; | ||
| 864 | new_data_offset = (int)NEW_SECTION_H(old_data_index).sh_offset + | ||
| 865 | (unsigned int)new_base; | ||
| 866 | |||
| 867 | #ifdef DEBUG | ||
| 868 | fprintf(stderr, "old_data.sh_addr= 0x%08x ... 0x%08x\n", old_data_addr_start, | ||
| 869 | old_data_addr_end); | ||
| 870 | #endif /* DEBUG */ | ||
| 871 | |||
| 872 | for (i = 0; i < old_rel_dyn_size/sizeof(Elf32_Rel); i++) | ||
| 873 | { | ||
| 874 | #ifdef DEBUG | ||
| 875 | fprintf(stderr, ".rel.dyn offset= 0x%08x type= %d sym= %d\n", | ||
| 876 | rel_p->r_offset, ELF32_R_TYPE(rel_p->r_info), ELF32_R_SYM(rel_p->r_info)); | ||
| 877 | #endif /* DEBUG */ | ||
| 878 | |||
| 879 | if (rel_p->r_offset) | ||
| 880 | { | ||
| 881 | unsigned int offset; | ||
| 882 | |||
| 883 | assert(old_data_addr_start <= rel_p->r_offset && | ||
| 884 | rel_p->r_offset <= old_data_addr_end); | ||
| 885 | |||
| 886 | offset = rel_p->r_offset - old_data_addr_start; | ||
| 887 | |||
| 888 | #ifdef DEBUG | ||
| 889 | fprintf(stderr, "r_offset= 0x%08x *r_offset= 0x%08x\n", | ||
| 890 | rel_p->r_offset, *((int *)(rel_p->r_offset))); | ||
| 891 | fprintf(stderr, "old = 0x%08x *old =0x%08x\n", | ||
| 892 | (old_data_offset + offset - (unsigned int)old_base), | ||
| 893 | *((int *)(old_data_offset + offset))); | ||
| 894 | fprintf(stderr, "new = 0x%08x *new =0x%08x\n", | ||
| 895 | (new_data_offset + offset - (unsigned int)new_base), | ||
| 896 | *((int *)(new_data_offset + offset))); | ||
| 897 | #endif /* DEBUG */ | ||
| 898 | |||
| 899 | *((int *)(new_data_offset + offset)) = *((int *)(old_data_offset + offset)); | ||
| 900 | } | ||
| 901 | |||
| 902 | rel_p++; | ||
| 903 | } | ||
| 904 | } | ||
| 905 | |||
| 906 | /* Close the files and make the new file executable */ | ||
| 907 | |||
| 908 | if (close (old_file)) | ||
| 909 | fatal ("Can't close(%s): errno %d\n", old_name, errno); | ||
| 910 | |||
| 911 | if (close (new_file)) | ||
| 912 | fatal ("Can't close(%s): errno %d\n", new_name, errno); | ||
| 913 | |||
| 914 | if (stat (new_name, &stat_buf) == -1) | ||
| 915 | fatal ("Can't stat(%s): errno %d\n", new_name, errno); | ||
| 916 | |||
| 917 | n = umask (777); | ||
| 918 | umask (n); | ||
| 919 | stat_buf.st_mode |= 0111 & ~n; | ||
| 920 | if (chmod (new_name, stat_buf.st_mode) == -1) | ||
| 921 | fatal ("Can't chmod(%s): errno %d\n", new_name, errno); | ||
| 922 | } | ||
| 923 | |||
| 924 | /* arch-tag: c784ead3-7a27-442b-83fe-7af8d08654d3 | ||
| 925 | (do not change this comment) */ | ||
| @@ -1269,12 +1269,6 @@ get_emacs_configuration (void) | |||
| 1269 | break; | 1269 | break; |
| 1270 | #endif | 1270 | #endif |
| 1271 | 1271 | ||
| 1272 | #ifdef PROCESSOR_INTEL_860 | ||
| 1273 | case PROCESSOR_INTEL_860: | ||
| 1274 | arch = "i860"; | ||
| 1275 | break; | ||
| 1276 | #endif | ||
| 1277 | |||
| 1278 | #ifdef PROCESSOR_MIPS_R2000 | 1272 | #ifdef PROCESSOR_MIPS_R2000 |
| 1279 | case PROCESSOR_MIPS_R2000: | 1273 | case PROCESSOR_MIPS_R2000: |
| 1280 | case PROCESSOR_MIPS_R3000: | 1274 | case PROCESSOR_MIPS_R3000: |