diff options
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 @@ +2008-01-06 Dan Nicolaescu <dann@ics.uci.edu> + + * 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. + 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu> * 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 @@ -/* - * External symbol setup file for GNU Emacs on CX/UX - * Copyright (C) 1990, 2002, 2003, 2004, 2005, - * 2006, 2007 Free Software Foundation, Inc. - * - * This file is part of GNU Emacs. - * - * GNU Emacs is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Emacs is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Emacs; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -/* - * This file makes the start of the text and data regions of the program - * clearly visible to the GNU Emacs C source code, without any dependencies - * on any changes made to the standard C runtime startup module, crt0.o. - * It depends, however, on this file being passed down to the linker (ld) - * before any others, and the linker's behavior of assigning increasing - * addresses as it finds symbols. - */ - /* C symbol _start marks beginning of text region. */ - .text - .globl __start -__start: - /* C symbol data_start marks beginning of data region. */ - .data - .globl _data_start -_data_start: .space 4 - -/* arch-tag: ba84e4dc-615d-4a81-898c-f5b98ec71c9d - (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 @@ -/* machine description file for AT&T UNIX PC model 7300 - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - Modified for this machine by mtxinu!rtech!gonzo!daveb - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2-2" */ - -/* Supposedly now these machines have flexnames. - -/* # define SHORTNAMES */ - - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000 are the ones defined so far. */ - -# ifndef mc68k -# define mc68k -# endif -#ifndef m68k -#define m68k -#endif - -/* Cause crt0.c to define errno. */ - -#define NEED_ERRNO - -/* Data type of load average, as read out of kmem. */ -/* These are commented out since it is not supported by this machine. */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ - -#ifndef __GNUC__ - -#define SWITCH_ENUM_BUG - -#endif - -/* If you have the PD pty driver installed, uncomment the following line. */ -/* #define HAVE_PTYS */ - -#define HAVE_SYSVIPC - -/* We don't have memmove. */ -#define memmove(d, s, n) safe_bcopy (s, d, n) - -/* These three lines were new in 18.50. They were said to permit - a demand-paged executable, but someone else says they don't work. - Someone else says they do. They didn't work because errno was an - initialized variable in crt0.c, and because of %splimit (also therein), - both of which have been fixed now. */ -#define SECTION_ALIGNMENT 0x03ff -#define SEGMENT_MASK 0xffff -#define LD_SWITCH_MACHINE -z - -/* Insist on using cc when compiling this. GCC may have been - configured to use GAS syntax, which causes problems. */ -#define CRT0_COMPILE cc -c -O -Demacs - -/* arch-tag: 66219dc7-ef45-4f0c-bb98-f35421f39c8d - (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 @@ -/* Machine description file for Acorn RISCiX machines. - Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. We can't - * do this on the arm with gcc, since the first 4 args are in registers. */ - -#ifdef __GNUC__ -#define NO_ARG_ARRAY -#else -#undef NO_ARG_ARRAY -#endif - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Define how to take a char and sign-extend into an int. - On machines where char is signed, this is a no-op. */ - -/* ARM note - The RISCiX Norcroft C Compiler has ALL - non-32-bit types as unsigned */ - -#define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24) - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -/* ARM note - this is done by the Norcroft compiler - symbol is `__arm' */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -#ifdef LDAV_SYMBOL -#undef LDAV_SYMBOL -#endif - -#define LDAV_SYMBOL "_iavenrun" - - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* - * Scale factor for scaled integers used to count - * %cpu time and load averages. - */ - -/* FSHIFT and FSCALE are defined in param.h, but are required by - LOAD_AVE_CVT, so they need to be defined here. */ - -#ifndef FSHIFT -#define FSHIFT 8 /* bits to right of fixed binary point */ -#endif - -#ifndef FSCALE -#define FSCALE (1<<FSHIFT) -#endif - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* This prevents Emacs dumping an unsqueezed binary with the - SQUEEZE bit set in the magic number. */ - -#define ADJUST_EXEC_HEADER {hdr.a_magic &= ~MF_SQUEEZED;} - -#ifdef __GNUC__ - -/* Keep gcc/RISCiX happy - it uses __gccmain where other versions of - gcc use __main, because of a library routine name clash. */ -#define __main __gccmain - -#endif /* __GNUC__ */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - - -#ifndef NOT_C_CODE -#define TEXT_START 0x8000 -#define DATA_END &_edata -extern int _edata; -#define etext _etext -#endif - -/* Avoid debugging library */ -#define LIBS_DEBUG - -/* Avoid sharing libc */ -#define LIB_STANDARD -lc_n - -/* Avoid sharing libX11 */ -#define LIB_X11_LIB -lX11_n - -/* All kinds of symbol definitions, so as to avoid multiply defined symbol - errors from the RISCiX linker. */ - -#ifdef __GNUC__ -#define C_DEBUG_SWITCH - -#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= - -#else -#define C_DEBUG_SWITCH -O -w -g -Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind -Doptarg=gnu_optarg -Dcfree=gnu_cfree -#endif - -/* Turn this on to avoid the emacs malloc and use standard one */ - -#undef SYSTEM_MALLOC - -/* Use <dirent.h>. */ -#define SYSV_SYSTEM_DIR - -#ifdef NO_REMAP -/* CRT0_O is defined in s/riscix1-1.h or s/riscix1-2.h, as appropriate. */ -#define START_FILES pre-crt0.o CRT0_O -#else -Cannot -do -this -yet -#endif - -/* arch-tag: acee2955-8c49-4b40-813c-579f76f4c0c3 - (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 @@ -/* alliant-2800.h - Alliant FX/2800 machine running Concentrix 2800. - Copyright (C) 1990, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ - -#define ALLIANT -#define ALLIANT_2800 -#define sun /* Use X support for Sun keyboard stuff. */ -#define C_OPTIMIZE_SWITCH -Og /* No concurrent code allowed here. */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ -/* On Alliants, bitfields are unsigned. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Concentrix uses a different kernel symbol for load average. */ - -#undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */ -#define LDAV_SYMBOL "_Loadavg" - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE) - -/* include <sys/param.h> for the definition of LOADAVG_SCALE, and also - LOADAVG_SIZE, the number of items in the Loadavg array. */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ -#define UNEXEC unexfx2800.o -#define LIBS_MACHINE -lalliant - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ -/* Actually, Alliant CONCENTRIX does paging "right": - data pages are copy-on-write, which means that the pure data areas - are shared automatically and remapping is not necessary. */ - -#define NO_REMAP - -/* Alliant needs special crt0.o because system version is not reentrant */ - -#define START_FILES crt0.o - -/* Alliant dependent code for dumping executing image. - See crt0.c code for alliant. */ - -#define ADJUST_EXEC_HEADER {\ -extern int _curbrk, _setbrk;\ -_setbrk = _curbrk;\ -hdr.a_bss_addr = bss_start;\ -unexec_text_start = hdr.a_text_addr;} - -/* POSIX Compatibility */ -/* Use System V.4 style getdents/readdir <dirent.h> for 2.2 and up. */ -#define SYSV_SYSTEM_DIR - -/* Use the K&R version of the DEFUN macro. */ -#define USE_NONANSI_DEFUN - -/* arch-tag: 8ba70b15-d082-40f6-931d-14adfd7f9dbd - (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 @@ -/* alliant.h Alliant machine running system version 2 or 3. - Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - Note that for version 1 of the Alliant system - you should use alliant1.h instead of this file. - Use alliant4.h for version 4. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#ifdef ALLIANT_1 -#define NO_ARG_ARRAY -#endif - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ - -#define ALLIANT - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ -/* On Alliants, bitfields are unsigned. */ - -#define EXPLICIT_SIGN_EXTEND - -/* No load average information available for Alliants. */ - -#undef LOAD_AVE_TYPE -#undef LOAD_AVE_CVT - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ -/* Actually, Alliant CONCENTRIX does paging "right": - data pages are copy-on-write, which means that the pure data areas - are shared automatically and remapping is not necessary. */ - -#define NO_REMAP - -/* Alliant needs special crt0.o because system version is not reentrant */ - -#define START_FILES crt0.o - -/* Alliant dependent code for dumping executing image. - See crt0.c code for alliant. */ - -#define ADJUST_EXEC_HEADER {\ -extern int _curbrk, _setbrk;\ -_setbrk = _curbrk;\ -hdr.a_bss_addr = bss_start;\ -unexec_text_start = hdr.a_text_addr;} - -/* cc screws up on long names. Try making cpp replace them. */ - -#ifdef ALLIANT_1 -#define Finsert_abbrev_table_description Finsert_abbrev_table_descrip -#define internal_with_output_to_temp_buffer internal_with_output_to_tem -#endif - -/* "vector" is a typedef in /usr/include/machine/reg.h, so its use as - a variable name causes errors when compiling under ANSI C. */ - -#define vector xxvector - -/* arch-tag: 0ad5f932-f29a-4458-a24c-496cafdfd50d - (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 @@ -/* config.h should include this file for version 1 of Alliant's - operating system. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -#define ALLIANT_1 -#include "alliant.h" - -/* arch-tag: 516688f9-4b94-4356-9bf0-92b2d72e664e - (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 @@ -/* machine description file for Alliant Concentrix 4.0 or later. - Use alliant.h for versions 2 and 3. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -#include "alliant.h" - -/* Concentrix uses a different kernel symbol for load average. */ - -#undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */ -#define LDAV_SYMBOL "_Loadavg" - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE) - -/* include <sys/param.h> for the definition of LOADAVG_SCALE, and also - LOADAVG_SIZE, the number of items in the Loadavg array. */ - -/* arch-tag: cf917b55-c95e-4079-a4d1-d31e00c61b66 - (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 @@ -/* altos machine description file Altos 3068 Unix System V Release 2 - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -#define EXPLICIT_SIGN_EXTEND - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -#define LIB_STANDARD -lc - -#define SWITCH_ENUM_BUG - -#define NO_REMAP - -#undef TERMINFO - -#undef CANNOT_DUMP -#undef SHORTNAMES -#define TERMCAP - -#define LIBS_TERMCAP -ltermlib -#define PURESIZE 220000 -#define ALTOS - -#ifdef __GNUC__ -#define COFF_ENCAPSULATE -#endif - -/* arch-tag: 4572d0ff-70bb-445f-80f1-2bbac3cf47cb - (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 @@ -/* amdahl machine description file - Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* -This file for amdahl_uts created by modifying the template.h -by Jishnu Mukerji 3/1/87 - -The following line tells the configuration script what sort of -operating system this machine is likely to run. -USUAL-OPSYS="usg5-2-2" - -This file works with the Amdahl uts native C compiler. The 5.2u370 -compiler is so brain damaged that it is not even worth trying to use it. -*/ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#undef NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#define WORD_MACHINE /* not actually used anywhere yet! */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ - -/* uts gets defined automatically */ -/* However for clarity define amdahl_uts */ -#define amdahl_uts - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -/* #define LOAD_AVE_TYPE long*/ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/*#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)*/ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES*/ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -/*#define NO_REMAP*/ - -#define TERMINFO - -/* The usual definition of XINT, which involves shifting, does not - sign-extend properly on this machine. */ - -#define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \ - ? (sign_extend_temp | 0xFF000000) \ - : (sign_extend_temp & 0x00FFFFFF)) - -#ifdef emacs /* Don't do this when making xmakefile! */ -extern int sign_extend_temp; -#endif - -/* The following needed to load the proper crt0.o and to get the - proper declaration of data_start in the #undef NO_REMAP case */ - -#ifndef NO_REMAP -#define START_FILES pre-crt0.o /lib/crt0.o -#endif - -/* Perhaps this means that the optimizer isn't safe to use. */ - -#define C_OPTIMIZE_SWITCH - -/* Put text and data on non-segment boundary; makes image smaller */ - -#define LD_SWITCH_MACHINE -N - -/* When writing the 'xemacs' file, make text segment ro */ -#define EXEC_MAGIC 0410 - -/* Mask for address bits within a memory segment */ -#define SEGSIZ 0x10000 /* Should this not be defined elsewhere ? */ -#define SEGMENT_MASK (SEGSIZ - 1) - -/* Compensate for error in signal.h. */ -#define NSIG_MINIMUM 20 - -/* arch-tag: cf665976-ddb1-49b0-b383-371e17f36acf - (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 @@ -/* machine description file for Apollo machine. - Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Say this machine is a 68000 */ - -/* #define m68000 */ /* Done by the C compiler */ - -#define APOLLO - -/* Assume we use s-bsd4-3.h for system version 10. */ - -#ifdef BSD4_3 -#define APOLLO_SR10 -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT - since there is no /dev/kmem */ - -/* Undefine VIRT_ADDR_VARIES because the virtual addresses of - pure and impure space as loaded do not vary. */ - -#undef VIRT_ADDR_VARIES - -/* Prevent -lg from being used for debugging. Not needed. */ - -#define LIBS_DEBUG - -/* Can't use the system's termcap. It has compressed data sections that - interfere with dumping. That means we won't automatically get a vt100 - when we start up emacs in a dm pad (a dubious feature at best anyway). */ - -#undef LIBS_TERMCAP - -/* Must use the system's malloc and alloca. */ - -#define SYSTEM_MALLOC - -/* Define the file we use for UNEXEC. */ - -#define UNEXEC unexapollo.o - -/* The Apollo linker does not recognize the -X switch, so we remove it here. */ - -#define LD_SWITCH_SYSTEM - -/* Define C_SWITCH_MACHINE to compile for 68020/68030 or PRISM. - Define LD_SWITCH_MACHINE to save space by stripping symbols - and use X11 libraries. */ - -#if _ISP__A88K -#define C_SWITCH_MACHINE -W0,-ncompress -W0,-opt,2 -A cpu,a88k -A sys,any -A run,bsd4.3 -#define LD_SWITCH_MACHINE -A cpu,a88k -A sys,any -A run,bsd4.3 -#else -#define C_SWITCH_MACHINE -W0,-ncompress -W0,-opt,2 -A cpu,3000 -A sys,any -A run,bsd4.3 -#define LD_SWITCH_MACHINE -A cpu,m68k -A sys,any -A run,bsd4.3 -#endif - -#define OLDXMENU_OPTIONS ${C_SWITCH_MACHINE} - -/* In SR10.4, unistd.h has bad prototype for getpgrp, so we don't include it. */ -#undef HAVE_UNISTD_H - -/* arch-tag: 33336588-6242-4e2e-a194-e38848b12813 - (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 @@ -/* Machine-dependent configuration for GNU Emacs for AT&T 3b machines. - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - - Modified by David Robinson (daver@csvax.caltech.edu) 6/6/86 - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically */ -#define ATT3B - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */ - -/* SysV has alloca in the PW library */ - -#define LIB_STANDARD -lPW -lc - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* #define LD_SWITCH_MACHINE -N */ - -/* Use Terminfo, not Termcap. */ - -#define TERMINFO - -/* -O has been observed to make correct C code in Emacs not work. - So don't try to use it. */ - -#if u3b2 || u3b5 || u3b15 -#define C_OPTIMIZE_SWITCH -#endif - -/* Define our page size. */ - -#define NBPC 2048 - -#if 0 /* If this is still needed, don't hard-code assumptions about - the number of VALBITS, or other assumptions about the - Lisp_Object representation. Try to extend lisp.h instead, if - necessary. */ -/* The usual definition of XINT, which involves shifting, does not - sign-extend properly on this machine. */ - -#define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \ - ? (sign_extend_temp | 0xFF000000) \ - : (sign_extend_temp & 0x00FFFFFF)) -#endif - -#ifdef emacs /* Don't do this when making xmakefile! */ -extern int sign_extend_temp; -#endif - -#if u3b2 || u3b5 || u3b15 -/* On 3b2/5/15, data space has high order bit on. */ -#define DATA_SEG_BITS 0x80000000 -#endif /* 3b2, 3b5 or 3b15 */ - -#define TEXT_START 0 - -/* (short) negative-int doesn't sign-extend correctly */ -#define SHORT_CAST_BUG - -/* 3B2s with WIN/3B have winsize defined in ptem.h */ -#if u3b2 -#define NEED_PTEM_H -#endif /* u3b2 */ - -/* 3b2 does not have memmove, I'm told. */ -/* It is safe to have no parens around the args in the safe_bcopy call, - and parens would screw up the prototype decl for memmove. */ -#define memmove(d, s, n) safe_bcopy (s, d, n) - -/* This affects filemode.c. */ -#define NO_MODE_T - -/* arch-tag: 07441a37-d630-447f-94fa-7da19645c97a - (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 @@ -/* This file is minor changes for the Data General AViiON intel machines - i586-dg-dguxR4* (tested on i586-dg-dguxR4.11MU04) - Done by Ehud Karni, 1998-may-30, ehud@unix.simonwiesel.co.il */ - -#include "aviion.h" /* 1st load m88k DGUX definitions */ - -#define INTEL_DGUX /* define for future possible use */ - -/* Intel machines are LITTLE ENDIAN */ -#undef WORDS_BIG_ENDIAN - -/* No correction needed for byte addresses */ -#undef WORD_MACHINE - -#ifndef INTEL386 -#define INTEL386 /* Identify as Intel machine */ -#endif - -#undef m88k /* It sure is NOT a Motorola machine */ - -/* arch-tag: 7cbf89ef-237c-4da5-bdd0-8d569ae5f3ce - (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 @@ -/* machine description file for Data General AViiON. - Copyright (C) 1985, 1986, 1991, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#define WORD_MACHINE - -/* Define DATA_SEG_BITS if pointers need to be corrected with - a segment field. */ - -#ifdef FIX_ADDRESS -#define DATA_SEG_BITS 0xef000000 -#endif - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -#ifndef m88k -#define m88k -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -#define alloca(x) __builtin_alloca(x) - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Define ADDR_CORRECT(ADDR) to be a macro to correct an int which is - the bit pattern of a pointer to a byte into an int which is the - number of a byte. - - This macro has a default definition which is usually right. - This default definition is a no-op on most machines (where a - pointer looks like an int) but not on all machines. */ - -#define ADDR_CORRECT(ADDR) ((int)ADDR) - -/* Cast pointers to this type to compare them. */ - -#define PNTR_COMPARISON_TYPE void * - -/* Some machines that use COFF executables require that each section - start on a certain boundary *in the COFF file*. Such machines should - define SECTION_ALIGNMENT to a mask of the low-order bits that must be - zero on such a boundary. This mask is used to control padding between - segments in the COFF file. - - If SECTION_ALIGNMENT is not defined, the segments are written - consecutively with no attempt at alignment. This is right for - unmodified system V. */ - -#define SECTION_ALIGNMENT 0x7 - -/* arch-tag: 9de8e6ed-ddd8-4480-8308-17ddd7c86559 - (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 @@ -/* machine description file for Celerity. - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* XINT must explicitly sign extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* celerity preprocessor defines "accel", however the following is clearer */ -#define celerity - -/* #define NO_UNION_TYPE would be preferable, - but it does not work, and the reason is not yet known. */ - -#define NO_UNION_TYPE - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* A machine-specific loader switch is needed. */ - -#define LD_SWITCH_MACHINE -k100000 - -/* (short) negative-int doesn't sign-extend correctly */ -#define SHORT_CAST_BUG - -/* arch-tag: b4df1828-fab6-48f8-97bc-b8998c200eea - (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 @@ -/* machine description file for clipper - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically */ - -#define clipper 1 - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* crt0.c should define a symbol `start' and do .globl with a dot. */ - -#define DOT_GLOBAL_START - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -/* #define EXPLICIT_SIGN_EXTEND */ - -/* USG systems I know of running on Vaxes do not actually - support the load average, so disable it for them. */ - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -/* #define NO_REMAP */ - -#ifdef USG -#define TEXT_START 0 -#endif /* USG */ - -#define LD_TEXT_START_ADDR 8000 - -/* arch-tag: 2f7981c1-7018-4a1e-b7b6-b2900de36a04 - (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 @@ -/* machine description file for convergent S series. - Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ - -#define m68000 - -/* Use type int rather than a union, to represent Lisp_Object. - This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. - These are commented out since it is not supported by this machine. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Change some things to avoid bugs in compiler. */ - -#define SWITCH_ENUM_BUG - -/* some errno.h's don't actually allocate the variable itself. - Cause crt0.c to define errno. */ - -#define NEED_ERRNO - -/* arch-tag: 1a227f79-37e4-43af-a186-53c61296b0be - (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 @@ -/* machine description file for Convex (all models). - Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. - * Maybe it would be better to simply correct the code. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ -#ifndef convex /* The compiler doesn't always do this. */ -#define convex -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -#ifndef __GNUC__ /* David M. Cooke <dcooke@haven.larc.nasa.gov> - and Ralph Sobek <Ralph.Sobek@cerfacs.fr> agree - must ignore one arg when compiled with convex compiler. */ -#define CRT0_DUMMIES ignore, -#else -#define CRT0_DUMMIES -#endif - -/* crt0.c should define a symbol `start' and do .globl with a dot. */ - -#define DOT_GLOBAL_START - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) ((x) * 100.0) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/*#define VIRT_ADDR_VARIES*/ - -/* Must use the system's termcap. It does special things. */ - -#define LIBS_TERMCAP -ltermcap - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -/* #define NO_REMAP */ - -/* Addresses on the Convex have the high bit set. */ -#define DATA_SEG_BITS (1 << (BITS_PER_INT-1)) - -/* Right shift is logical shift. - And the usual way of handling such machines, which involves - copying the number into sign_extend_temp, does not work - for reasons as yet unknown. */ - -#define XINT(a) sign_extend_lisp_int (a) - -/* Convex uses a special version of unexec. */ - -#define UNEXEC unexconvex.o - -/* you gotta define 'COFF' for post 6.1 unexec. */ - -#define COFF -#define TEXT_START 0x80001000 - -/* Posix stuff for Convex OS 8.1 and up. */ - -#define LD_SWITCH_MACHINE \ - -e__start -L /usr/lib \ - '-A__iob=___ap$$iob' '-A_use_libc_sema=___ap$$use_libc_sema' - -/* Use <dirent.h>. */ -#define SYSV_SYSTEM_DIR - -#ifdef _POSIX_SOURCE - -/* These symbols have been undefined to advance the state of the art. */ - -#define S_IFMT _S_IFMT -#define S_IFDIR _S_IFDIR - -#define S_IREAD _S_IREAD -#define S_IWRITE _S_IWRITE -#define S_IEXEC _S_IEXEC - -#endif - -/* Ptys may start below ptyp0; call a routine to hunt for where. */ - -#undef FIRST_PTY_LETTER -#define FIRST_PTY_LETTER first_pty_letter() - -#if 0 -/* - * Force a K&R compilation and libraries with the Convex V 4.0 C compiler - */ -#define C_SWITCH_MACHINE -pcc -#define LIB_STANDARD -lc_old -#define LIBS_MACHINE -lC2_old -#define LD_SWITCH_MACHINE -X -NL -fn -Enoposix -A__iob=___ap\$$iob \ - -A_use_libc_sema=___ap\$$use_libc_sema -L /usr/lib -#endif - -/* Avoid error in xrdb.c - d.m.cooke@larc.nasa.gov. */ -#define DECLARE_GETPWUID_WITH_UID_T - -/* Call getpgrp properly. */ -#define GETPGRP_NO_ARG - -/* Tested for both Convex C and GNUC by d.m.cooke@larc.nasa.gov. */ -#define LIBS_MACHINE -lC2 - -/* Avoid error in getloadavg.c. */ -#define NLIST_NAME_UNION 1 - -#if 0 /* This is supposed to be an improvement. - It would be good for people to try enabling this code - and report the results. */ -/* gcc -nostdlib prevents some math symbols from being included. - So we have to use -nostartfiles instead. */ -#define LINKER $(CC) -nostartfiles - -#define ORDINARY_LINK - -#undef LD_SWITCH_MACHINE -#define LD_SWITCH_MACHINE \ - -L /usr/lib \ - '-A__iob=___ap$$iob' '-A_use_libc_sema=___ap$$use_libc_sema' -#endif - -/* There is some indication that the convex has sys/wait.h - but it does not work right. */ -#undef HAVE_SYS_WAIT_H - -/* arch-tag: 127e5ae1-4f03-40c0-a87e-d2cb02c59de8 - (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 @@ -/* machine description file for Cydrome's CYDRA 5 mini super computer - Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#undef NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) x - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/*#define CANNOT_DUMP*/ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that data space precedes text space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* The data segment in this machine always starts at address 0x10000000. - An address of data cannot be stored correctly in a Lisp object; - we always lose the high bits. We must tell XPNTR to add them back. */ - -#define DATA_SEG_BITS 0x20000000 -#define DATA_START 0x20000000 - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP -#define BROKEN_FIONREAD /* We son't even have it */ -#define LIBS_MACHINE -lsocket -lnsl - -/* The data section in a coff file must be aligned in the file. */ -#define DATA_SECTION_ALIGNMENT 0xFFF - -/* Compiler won't allow switch (x) when x is an enum. */ -#define SWITCH_ENUM_BUG - - -/* Explain how pty filenames work. */ - -#define PTY_ITERATION for (i = 47; i >= 0; i--) -#define PTY_NAME_SPRINTF sprintf (ptyname, "/dev/pty%03x", i); -#define PTY_TTY_NAME_SPRINTF sprintf (ptyname, "/dev/ptm%03x", i); - -/* We can't do interrupt-driven input, so don't let user try. */ - -#define BROKEN_SIGIO - -/* arch-tag: ad70aae4-1f54-4e67-8677-6eeafb9bcbd9 - (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 @@ -/* Machine description file for Motorola System V/88 machines - Copyright (C) 1985, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -#ifndef m88000 /* Some 88k C compilers already define this */ -#define m88000 -#endif - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ - - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -/* #define EXPLICIT_SIGN_EXTEND */ - -/* Data type of load average, as read out of kmem. */ -/* No load average on Motorola machines. */ -/* #define LOAD_AVE_TYPE double */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ -/* #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Motorola SysV has PTYs. Not all usg3-5 systems do, so this is defined - here. */ - -#define HAVE_PTYS -#define SYSV_PTYS - -/* Ditto for IPC. */ - - -/* - * we now have job control in R32V1 - */ -#undef NOMULTIPLEJOBS - -/* - * we have bcopy, bzero, bcmp in libc.a (what isn't in libc.a?) - */ -#define BSTRING - -/* - * sockets are in R32V1 - */ -#define HAVE_SOCKETS - -/* - * we have the wrong name for networking libs - */ -#ifdef USG5_4 -/* rms: not needed; LIB_X11_LIB deals with this. */ -/* #define LIBX11_SYSTEM -lX11 */ -#else -#undef LIB_X11_LIB /* We don't have the shared libs as assumed in usg5-3.h. */ -#undef LIBX11_SYSTEM -#define LIBX11_SYSTEM -lnsl -lbsd -#endif /* USG5_4 */ - -#define BROKEN_FIONREAD - -/* previously defined in usg5-4, if we choose to use that. */ -#ifndef LIBS_SYSTEM -#ifdef USG5_4 -#define LIBS_SYSTEM -lsocket -lnsl -#else -#define LIBS_SYSTEM -lbsd -lg -#endif /* USG5_4 */ -#endif - -#define HAVE_TERMIOS -#undef HAVE_TERMIO -#define NO_TERMIO -#undef sigsetmask - -#define NO_SIOCTL_H - -#ifdef USG5_4 -#ifdef HAVE_X_WINDOWS -#else -#undef BSTRING -#endif /* HAVE_X_WINDOWS */ -#endif /* USG5_4 */ - -#define NO_PTY_H - -#define USE_GETOBAUD - -/* arch-tag: c8ea1965-99d7-43df-ba32-29b66fc069be - (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 @@ -/* machine description for Bull DPX/2 range - Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-3" */ - -/* - * You need to either un-comment one of these lines, or copy one - * of them to config.h before you include this file. - * Note that some simply define a constant and others set a value. - */ - -/* #define ncl_el /* DPX/2 210,220 etc */ -/* #define ncl_mr 1 /* DPX/2 320,340 (and 360,380 ?) */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE /**/ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -/* /bin/cc on ncl_el and ncl_mr define m68k and mc68000 */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define FSCALE 1000.0 -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/*#define CANNOT_DUMP /**/ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES /**/ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* - * end of the standard macro's - */ - -/* - * a neat identifier to handle source mods (if needed) - */ -#ifndef DPX2 -#define DPX2 -#endif - -/* Disable support for shared libraries in unexec. */ - -#undef USG_SHARED_LIBRARIES - -/* - * if we use X11, libX11.a has these... - */ -# undef LIB_X11_LIB -# define LIB_X11_LIB -lX11 -# undef LIBX11_SYSTEM -# define LIBX11_SYSTEM -lmalloc -lnsl -# define BSTRING - -/* - * we must have INET loaded so we have sockets - */ -# define HAVE_SOCKETS - -/* - * useful if you have INET loaded - */ -# define LIBS_MACHINE -linet - - -#if (defined(ncl_mr) || defined(ncl_el)) && !defined (NBPC) -# define NBPC 4096 -#endif - -/* - * if SIGIO is defined, much of the emacs - * code assumes we are BSD !! - */ -#define BROKEN_SIGIO - - -/* - * a good idea on multi-user systems :-) - */ -#define CLASH_DETECTION /* probably a good idea */ - - -/* - * sysdep.c(sys_suspend) works fine with emacs-18.58 - * and BOS 02.00.45, if you have an earler version - * of Emacs and/or BOS, or have problems, or just prefer - * to start a sub-shell rather than suspend-emacs, - * un-comment out the next line. - */ -/* # define BROKEN_SIGTSTP /* make suspend-emacs spawn a sub-shell */ -#ifdef NOMULTIPLEJOBS -# undef NOMULTIPLEJOBS -#endif -/* - * no we don't want this at all - */ -#ifdef USG_JOBCTRL -# undef USG_JOBCTRL -#endif - -/* - * but we have that -*/ -#define GETPGRP_NO_ARG - -/* select also needs this header file--but not in ymakefile. */ -#ifndef NOT_C_CODE -#include <sys/types.h> -#include <sys/select.h> -#endif - -#define TEXT_START 0 - -/* we have termios */ -#undef HAVE_TERMIO -#define HAVE_TERMIOS -#define HAVE_TCATTR - -/* we also have this */ -#define HAVE_PTYS -#define SYSV_PTYS - -/* It doesn't seem we have sigpause */ -#undef HAVE_SYSV_SIGPAUSE - -#define POSIX_SIGNALS - -/* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */ -#undef sigsetmask - - -/* on bos2.00.45 there is a bug that makes the F_SETOWN fcntl() call - enters in an infinite loop. Avoid calling it */ -#define F_SETOWN_BUG - -/* system closedir sometimes complains about wrong descriptor - for no apparent reasons. Use the provided closedir in sysdep.c instead */ -#ifdef HAVE_CLOSEDIR -#undef HAVE_CLOSEDIR -#endif - -/* Send signals to subprocesses by "typing" signal chars at them. */ -#define SIGNALS_VIA_CHARACTERS - -/* This is to prevent memory clobbering on the DPX/2 200. */ -#define LD_SWITCH_MACHINE -N -T32 - - /* end of dpx2.h */ - - -/* arch-tag: 8cfdf817-aec7-4d99-a00d-0e77615e8e1b - (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 @@ -/* machine description file for Dual machines using unisoft port. - Copyright (C) 1985, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Dual running System V (-machine=dual -opsystem=usg5-2) - - As of 17.46, this works except for a few changes - needed in unexec.c. - -Dual running Uniplus (-machine=dual -opsystem=unipl5-2) - - Works, as of 17.51. -NOTE-END */ - - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000 are the ones defined so far. */ - -#ifndef m68000 -#define m68000 -#endif - -/* Data type of load average, as read out of kmem. */ -/* These are commented out since it does not really work in uniplus */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ - -/* Change some things to avoid bugs in compiler */ - -#define SWITCH_ENUM_BUG 1 - -/* arch-tag: 7208d63c-9a23-469e-a9b1-908ac912c743 - (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 @@ -/* machine description file for Elxsi machine (running enix). - Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - Adapted by John Salmon - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* This file was modified by Matt Crawford <matt@tank.uchicago.edu> - to work under Elxsi's 12.0 release of BSD unix. */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/*#define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/*#define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ - -#ifndef elxsi -#define elxsi -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - - -/* Name of kernel load average variable */ - -#undef LDAV_SYMBOL -#define LDAV_SYMBOL "avenrun" - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) ((x) * 100.0) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. - - Earlier versions couldn't dump. - Changes for 12.0 release are in 19.1. - Dumping should work now. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ -/*#define NO_REMAP*/ - -/* This is a guess for an alternate solution to whatever - problem motivated defining _sobuf in sysdep,c with extern char *_sobuf. */ -#define _sobuf xsobuf - -/* Address of start of text segment as loaded. */ - -#define TEXT_START 0x800 - -/* Tell crt0.c not to define environ. */ - -#define DONT_NEED_ENVIRON - -/* The elxsi has no debugger, so might as well optimize instead - of trying to make a symbol table. */ - -#define C_DEBUG_SWITCH -O - -/* Elxsi uses COFF under both Sys V and BSD environments */ - -#define COFF - -#define ADJUST_EXEC_HEADER {\ -extern int _init_brk;\ -_init_brk = bss_start;\ -} - -/* arch-tag: 73bf1120-a994-4c29-8d60-af425d8bf10c - (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 @@ -/* Machine description file for Fujitsu F301 machines. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="uxpv" */ - -#include "delta88k.h" - -/* arch-tag: a0ed4f18-ecf2-4d9a-853b-36e0f6b45945 - (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 @@ -/* machine description file for Gould NP1 with UTX/32 3.0 (first release for NP1) - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-3" */ - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ -/* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */ -/* at least currently, already defined by cpp, but make sure */ -#ifndef COFF -#define COFF -#endif COFF - -#include "gould.h" - -/* undefine what gould.h defined */ -#undef ADJUST_EXEC_HEADER - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ -/* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */ -#ifndef COFF /* at least currently, already defined by cpp */ -#define COFF -#endif COFF - -/* make Gould NP1 and PN COFF look like USG COFF */ -/* NP1 COFF */ -#undef aouthdr /* Since gould.h already defined these */ -#undef a_dtbase - -#ifdef IN_UNEXEC -#define aouthdr exec -#define ADJUST_TEXT_SCNHDR_SIZE - -/* Gould COFF - these are already defined in gould.h */ -/* - * #define COFF_WITH_BSD_SYMTAB - * #define HEADER_INCL_IN_TEXT - * #define magic a_magic - * #define tsize a_text - * #define dsize a_data - * #define bsize a_bss - * #define entry a_entry - * #define text_start a_txbase - * #define data_start a_dtbase -*/ -/* End Gould COFF */ -#endif /* IN_UNEXEC */ - -/* NP1 supports a slightly different set than PowerNode */ -#define BAUD_CONVERT { 0, 50, 75, 110, 134, 150, 300, 450, 600, 1200, \ - 1800, 2000, 2400, 3600, 4800, 7200, 9600, \ - 19200, 38400 } - -#define LD_SWITCH_SYSTEM -BS -e start - -/* Undef C_DEBUG_SWITCH because it may have been set in gould.h */ -/* It will compile and load and works with dbx. Runs under an incomplete - port of gdb, but gdb doesn't always find things correctly. */ -#undef C_DEBUG_SWITCH -#define C_DEBUG_SWITCH -g -#define LIBS_DEBUG -lg - - -/* The data segment in this machine always starts at address 0x1000000 = 16M. - An address of data cannot be stored correctly in a Lisp object; - we always lose the high bits. We must tell XPNTR to add them back. */ - -#define DATA_SEG_BITS 0x1000000 -#define DATA_START 0x1000000 - -/* The text segment always starts at 0. - This way we don't need to have a label _start defined. */ -#define TEXT_START 0 - -/* Data isn't right next to text on an NP1 */ -#define NO_REMAP - -/* The bcopy bug has reappeared */ -#undef BSTRING - -#ifndef GOULD_NP1 -#define GOULD_NP1 -#endif - - -/* arch-tag: cdfd3dbf-a5e4-464d-8cef-985fb7872873 - (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 @@ -/* machine description file for Gould PowerNodes with UTX/32 2.0 and 2.1. - (See MACHINES for older versions.) - -* NOTE: If you are running a pre-release of UTX/32 2.1 you should #define -* RELEASE2_1 in config.h. This may also be necessary with un-updated -* official releases of 2.1 - - Copyright (C) 1986, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Gould Power Node (-machine=gould -opsystem=bsd4-2 or bsd4-3) -(gould.h; s-bsd4-2.h or s-bsd4-3.h) - - 18.36 worked on versions 1.2 and 2.0 of the operating system. - - On UTX/32 2.0, use -opsystem=bsd4-3 - - On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that compiling - lib-src/sorted-doc tickles a compiler bug: remove the -g flag to cc in the - makefile. - - UTX/32 1.3 has a bug in the bcopy library routine. Fix it by - #undef BSTRING in gould.h. - - Version 19 incorporates support for releases 2.1 and later of UTX/32. - A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h. -NOTE-END */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically */ - -#ifndef GOULD -#define GOULD -#endif - -/* sel is an old preprocessor name on gould machines - - it is no longer needed and interferes with a variable in xmenu.c */ -#undef sel - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#define VIRT_ADDR_VARIES - -/* No need to extend the user stack. */ - -/* If this is a 2.1 system, COFF will be predefined by cpp. If it's */ -/* pre-2.1 COFF won't be defined, which is as it should be. */ - -#ifdef COFF - -#define HEADER_INCL_IN_TEXT -#define COFF_BSD_SYMBOLS - -/* Seems to be necessary with coff */ -#define NO_REMAP - -#ifndef GOULD_NP1 -/* gould-np1.h includes this file */ -/* keep the old value - don't skip over the headers */ -#define KEEP_OLD_TEXT_SCNPTR -#define KEEP_OLD_PADDR -#ifndef RELEASE2_1 -#define ADJUST_TEXTBASE -#endif /*RELEASE2_1*/ -#endif /* GOULD_NP1 */ - -#ifdef IN_UNEXEC -/* make Gould NP and PN COFF look like USG COFF */ -/* PN COFF */ -#define aouthdr old_exec -/* PN COFF doesn't have a data_start or a_dtbase field in its */ -/* optional header, so substitute a junk field */ -#define a_dtbase a_ccvers -/* Gould COFF */ -#define magic a_magic -#define tsize a_text -#define dsize a_data -#define bsize a_bss -#define entry a_entry -#define text_start a_txbase -#define data_start a_dtbase -#endif /* IN_UNEXEC */ - -/* Define how to search all pty names. - * This is for UTX 2.1 and greater on PN and all NP versions. It is only - * accident that this happens to correspond to the same versions of UTX - * as COFF does, but we'll take advantage of that here. - */ - -/*#define USE_PTY_PAIR*/ - -#endif /* COFF */ - -/* -g is sometimes broken on the Gould. */ - -#define C_DEBUG_SWITCH - -/* Comparing pointers as unsigned ints tickles a bug in older compilers. */ - -#define PNTR_COMPARISON_TYPE int - -/* The GOULD machine counts the a.out file header as part of the text. */ - -#define A_TEXT_OFFSET(HDR) sizeof (HDR) - -/* Machine-dependent action when about to dump an executable file. */ - -#ifndef COFF -#define ADJUST_EXEC_HEADER \ - unexec_text_start = hdr.a_txbase + sizeof (hdr); -#endif - -/* We use the system's crt0.o. Somehow it avoids losing - with `environ' the way most standard crt0.o's do. */ - -#define START_FILES pre-crt0.o /lib/crt0.o - -/* arch-tag: 930cb9ef-f56f-4c06-aea0-5e81103bbf58 - (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 @@ -/* machine description file for i860. - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -#define INTEL860 - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* The X11 include files for i860-sysv4 need the macro SVR4 defined. - --Kaveh Ghazi (ghazi@noc.rutgers.edu) 8/9/94. */ -#ifdef USG5_4 -#ifndef SVR4 -#define SVR4 -#endif -#endif - -/* arch-tag: 99f3a078-95e1-49d6-8666-04726eb25647 - (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 @@ -/* machine description file for ibm ps/2 aix386. - Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START - Use -opsystem=usg5-3 on AIX 1.2. - -opsystem=usg5-2-2 should work on either AIX 1.1 or 1.2, but may not - work with certain new X window managers, and may be suboptimal. -NOTE-END */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -#define INTEL386 -#define aix386 - -#define IBMAIX - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* crt0.c, if it is used, should use the i386-bsd style of entry. - with no extra dummy args. On USG and XENIX, - NO_REMAP says this isn't used. */ - -#define CRT0_DUMMIES bogus_fp, - -/* crt0.c should define a symbol `start' and do .globl with a dot. */ - -#define DOT_GLOBAL_START - -/* USG systems do not actually support the load average, -so disable it for them. */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define addresses, macros, change some setup for dump */ - -#define NO_REMAP -#undef static - /* Since NO_REMAP, problem with statics doesn't exist */ - -#ifdef USG5_3 -#define TEXT_START 0x00000000 -#else -#define TEXT_START 0x00400000 -#define TEXT_END 0 -#define DATA_START 0x00800000 -#define DATA_END 0 - -/* The data segment in this machine always starts at address 0x00800000. - An address of data cannot be stored correctly in a Lisp object; - we always lose the high bits. We must tell XPNTR to add them back. */ - -#define DATA_SEG_BITS 0x00800000 -#endif - -#if 0 /* I refuse to promulgate a recommendation that would make - users unable to debug - RMS. */ -/* delete the following line to foil optimization, enable debugging */ -#define C_DEBUG_SWITCH -O -#endif - -#define BSTRING -#undef HAVE_TERMIO -#define HAVE_TERMIOS - -/* Send signals to subprocesses by "typing" special chars at them. */ - -#define SIGNALS_VIA_CHARACTERS - -/* - * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir - * library functions. Almost, but not quite the same as - * the 4.2 functions - */ -#define SYSV_SYSTEM_DIR - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ -#undef NONSYSTEM_DIR_LIBRARY - -/* AIX utimes allegedly causes SIGSEGV. */ -#undef HAVE_UTIMES /* override configuration decision */ - -/* AIX defines FIONREAD, but it does not work. */ -#define BROKEN_FIONREAD - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long /* For AIX (sysV) */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)/65535.0) * 100.0) - -/* This page was added in June 1990. It may be incorrect for some versions - of aix, so delete it if it causes trouble. */ - -/* AIX has sigsetmask() */ -#undef sigsetmask - -/* AIX386 has BSD4.3 PTYs */ - -#define HAVE_PTYS - -/* AIX has IPC. It also has sockets, and either can be used for client/server. - I would suggest the client/server code be changed to use HAVE_SOCKETS rather - than BSD as the conditional if sockets provide any advantages. */ - -#define HAVE_SYSVIPC - -/* AIX has sockets */ - -#define HAVE_SOCKETS -/* #define SKTPAIR */ /* SKTPAIR works, but what is advantage over pipes? */ - -/* Specify the font for X to use. */ - -#define X_DEFAULT_FONT "8x13" - -/* AIX has a wait.h. */ - -#define HAVE_WAIT_HEADER - -/* sioctl.h should not be included, says bytheway@cs.utah.edu. */ -#undef NEED_SIOCTL -/* I'm guessing that that means it doesn't want ptem.h either. */ -#undef NEED_PTEM_H - -/* aix has `union wait' */ -#define HAVE_UNION_WAIT - -/* Here override various assumptions in ymakefile */ - -#ifdef __GNUC__ -#define alloca(n) __builtin_alloca(n) -#if __GNUC__ < 2 -#define LIB_STANDARD /usr/local/lib/gcc-gnulib -lbsd -lrts -lc -#endif -/* -g fails to work, so it is omitted. */ -/* tranle says that -fstrength-reduce does not help. */ -#define C_DEBUG_SWITCH -#else -#define LIBS_MACHINE -lbsd -lrts -#endif - -#define OBJECTS_MACHINE hftctl.o -#define LD_SWITCH_MACHINE -T0x00400000 -K -e start -#define LIBS_DEBUG /* no -lg on aix ps/2 */ - -#ifdef USG5_3 -#define XICCC -#undef LD_SWITCH_MACHINE -#define LD_SWITCH_MACHINE -T0x0 -K -e start - -/* Things defined in s-usg5-3.h that need to be overridden. */ -#undef NOMULTIPLEJOBS -#undef BROKEN_TIOCGETC -#undef BROKEN_TIOCGWINSZ -#undef LIBX11_SYSTEM -#undef LIB_X11_LIB -#endif - -/* Shared libraries are supported in a patch release of ps/2 1.2.1. - If the system has them, the user can turn them on, and this code - will make them work. */ -#define USG_SHARED_LIBRARIES /* Assume that by 19's release everyone has this. */ - -#ifdef USG_SHARED_LIBRARIES -#define ORDINARY_LINK -#undef LIB_STANDARD -#undef LD_SWITCH_MACHINE -#if __GNUC__ > 1 -#define LD_SWITCH_MACHINE -shlib -#endif -#endif - -/* arch-tag: 2e7f44df-6a61-4a47-aa53-f7961bfeff11 - (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 @@ -/* RTPC AIX machine/system dependent defines - Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ - -#ifndef IBMAIX -#define IBMAIX -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* No load average information appears in the AIX kernel. VRM has this - info, and if anyone desires they should fix fns.c to get it out of VRM */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define addresses, macros, change some setup for dump */ - -#undef COFF -#define NO_REMAP -#undef static - /* Since NO_REMAP, problem with statics doesn't exist */ - -#define TEXT_START 0x10000000 -#define TEXT_END 0 -#define DATA_START 0x20000000 -#define DATA_END 0 - -/* The data segment in this machine always starts at address 0x20000000. - An address of data cannot be stored correctly in a Lisp object; - we always lose the high bits. We must tell XPNTR to add them back. */ - -#define DATA_SEG_BITS 0x20000000 - -#define N_BADMAG(x) BADMAG(x) -#define N_TXTOFF(x) A_TEXTPOS(x) -#define N_SYMOFF(x) A_SYMPOS(x) -#define A_TEXT_OFFSET(HDR) sizeof(HDR) -#define ADJUST_EXEC_HEADER \ - unexec_text_start += sizeof(hdr); \ - unexec_data_start = ohdr.a_dbase -#undef ADDR_CORRECT -#define ADDR_CORRECT(x) ((int)(x)) - -/* This is the offset of the executable's text, from the start of the file. */ - -#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) - -/* AIX has PTYs, so define here, along with macros needed to make them work. */ - -#define HAVE_PTYS -#define PTY_ITERATION for (i=0; i<256; i++) -#define PTY_NAME_SPRINTF sprintf (ptyname, "/dev/ptc%d", i); - -#define PTY_TTY_NAME_SPRINTF \ -{ /* Check that server side not already open */ \ - if ((ioctl (*ptyv, PTYSTATUS, 0) & 0xFFFF) != 0) \ - { \ - emacs_close (*ptyv); \ - continue; \ - } \ - /* And finally to be sure we can open it later */ \ - sprintf (ptyname, "/dev/pts%d", i); \ - signal (SIGHUP,SIG_IGN); \ -} /* ignore hangup at process end */ - -/* TIOCNOTTY doesn't occur on AIX, but the rest - of the conditionalized code in process.c does - the right thing if we fake this out. */ -#define TIOCNOTTY IOCTYPE - -/* AIX has IPC. It also has sockets, and either can be used for client/server. - I would suggest the client/server code be changed to use HAVE_SOCKETS rather - than BSD_SYSTEM as the conditional if sockets provide any advantages. */ - -#define HAVE_SYSVIPC - -/* AIX has sockets */ - -#define HAVE_SOCKETS -/* #define SKTPAIR */ /* SKTPAIR works, but what is advantage over pipes? */ - -/* Specify the font for X to use. */ - -#define X_DEFAULT_FONT "Rom14.500" - -/* Here override various assumptions in ymakefile */ - -/* On AIX 2.2.1, use these definitions instead -#define C_SWITCH_MACHINE -I/usr/include -Nn2000 -#define LIBS_MACHINE -lX -lrts -*/ - -#define C_SWITCH_MACHINE -I/usr/include -I/usr/include/bsd -Nn2000 -#define LIBS_MACHINE -lXMenu -lX -lsock -lbsd -lrts - -#define OBJECTS_MACHINE hftctl.o -#define START_FILES /lib/crt0.o -/* -lXMenu, -lX must precede -lsock, -lbsd */ -#define LD_SWITCH_MACHINE -n -T0x10000000 -K -e start - -#if 0 /* I refuse to promulgate a recommendation that would make - users unable to debug - RMS. */ -/* delete the following line to foil optimization, enable debugging */ -#define C_DEBUG_SWITCH -O -#endif - - -/* Setup to do some things BSD way - these won't work previous to AIX 2.1.2 */ - -#include </usr/include/bsd/BSDtoAIX.h> -#define BSTRING - -/* AIX utimes allegedly causes SIGSEGV. */ -#undef HAVE_UTIMES /* override configuration decision */ - -/* AIX defines FIONREAD, but it does not work. */ -#define BROKEN_FIONREAD - -/* rocky@watson.ibm.com says this is needed. */ -#define HAVE_FTIME - -/* arch-tag: eea85307-0ca9-4a9c-a4f6-89fad7591d28 - (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 @@ -/* RTPC machine dependent defines - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#define WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ - -#define ibmrt -#define romp /* unfortunately old include files are hanging around. */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double /* For AIS (sysV) */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* The data segment in this machine starts at a fixed address. - An address of data cannot be stored correctly in a Lisp object; - we always lose the high bits. We must tell XPNTR to add them back. */ - -#define DATA_SEG_BITS 0x10000000 -#define DATA_START 0x10000000 - -/* The text segment always starts at a fixed address. - This way we don't need to have a label _start defined. */ -#define TEXT_START 0 - -/* Taking a pointer to a char casting it as int pointer */ -/* and then taking the int which the int pointer points to */ -/* is practically guaranteed to give erroneous results */ - -#define NEED_ERRNO - -#define SKTPAIR - -/* BSD has BSTRING. */ - -#define BSTRING - -/* Special switches to give the C compiler. */ - -#ifndef __GNUC__ -#define C_SWITCH_MACHINE -Dalloca=_Alloca -#endif - -/* Don't attempt to relabel some of the data as text when dumping. - It does not work because their virtual addresses are not consecutive. - This enables us to use the standard crt0.o. */ - -#define NO_REMAP - -/* Use the bitmap files that come with Emacs. */ -#define EMACS_BITMAP_FILES - -/* arch-tag: 89aa7e7d-593e-432c-966a-3db6aa2ad665 - (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. */ USUAL-OPSYS="note" NOTE-START -Intel 386 (-machine=intel386 or -machine=is386.h) +Intel 386 (-machine=intel386) The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3, - isc2-2, 386-ix, esix, linux, sco3.2v4, and xenix. + isc2-2, 386-ix, and linux. 18.58 should support a wide variety of operating systems. Use isc2-2 for Interactive 386/ix version 2.2. Use 386ix for prior versions. - Use esix for Esix. Use linux for Linux. It isn't clear what to do on an SCO system. 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 @@ -/* machine description file for Silicon Graphics Iris 2500 Turbos; - also possibly for non-turbo Irises with system release 2.5. - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" -NOTE-START -Version 18 said to work; use -opsystem=irist3-5 for system version 2.5 -and -opsystem=iris3-6 for system versions 3.6 and up. -NOTE-END */ - -#if 0 - Message-Id: <8705050653.AA20004@orville.arpa> - Subject: gnu emacs 18.41 on iris [23].5 machines - Date: 04 May 87 23:53:11 PDT (Mon) - From: raible@orville.arpa - - Aside from the SIGIOT, I know of only one bug, a real strange one: - I wrote a utimes interface, which copies elements from timevals - to utimbufs. This code is known good. The problem is that in - emacs, the utime doesn't seem to take effect (i.e. doesn't change the - dates at all) unless I call report_file_error *after* the utime returns! - - if (utime (name, &utb) < 0) - return; - else - /* XXX XXX XXX */ - /* For some reason, if this is taken out, then the utime above breaks! */ - /* (i.e. it doesn't set the time. This just makes no sense... */ - /* Eric - May 4, 1987 */ - report_file_error ("Worked just find\n", Qnil); - - Without any sort of debugger that works on emacs (I know... but I dont have - *time* right now to start with gdb), it was quite time consuming to track - it down to this. - - But since this code is only used for an optional 4th argument to one command - (copy-file), it would say that it is non-critical... -#endif /* 0 */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -#ifndef m68000 -#define m68000 -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define FSCALE 1.0 -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -/* #define NO_REMAP */ - -/* There is an inconsistency between the sgi assembler, linker which barfs - on these. */ - -#define internal_with_output_to_temp_buffer stupid_long_name1 -#define Finsert_abbrev_table_description stupid_long_name2 - -/* arch-tag: 4076b26c-1fe6-4c28-94f3-3c863f074767 - (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 @@ -/* machine description file for Integrated Solutions 386 machine. */ - -#include "intel386.h" - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Intel 386 (-machine=intel386 or -machine=is386.h) - - The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3, - isc2-2, 386-ix, esix, or xenix. - - 18.58 should support a wide variety of operating systems. - Use isc2-2 for Interactive 386/ix version 2.2. - Use 386ix for prior versions. - Use esix for Esix. It isn't clear what to do on an SCO system. - - -machine=is386 is used for an Integrated Solutions 386 machine. - It may also be correct for Microport systems. -NOTE-END */ - -#define LIBX11_MACHINE -lnsl_s - -#define LIBS_DEBUG -lg - -/* arch-tag: b6b7e6ec-8b6c-440b-b9c8-961e4bebf0cf - (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 @@ -/* machine description file for ISI 68000's - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Use `-opsystem=bsd4-2' or `-opsystem=bsd4-3'. -NOTE-END */ - -#define ISI68K - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Say this machine is a 68000 */ - -#define m68000 - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#ifdef BSD4_3 -#define LOAD_AVE_TYPE long -#else -#define LOAD_AVE_TYPE double -#endif BSD4_3 - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#ifdef BSD4_3 -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) -#else -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) -#endif - -/* Mask for address bits within a memory segment */ - -#define SEGMENT_MASK 0x1ffff - -/* use the -20 switch to get the 68020 code */ -/* #define C_SWITCH_MACHINE -20 */ - -/* Use the version of the library for the 68020 - because the standard library requires some special hacks in crt0 - which the GNU crt0 does not have. */ - -#define LIB_STANDARD -lmc - -/* macros to make unexec work right */ - -#define A_TEXT_OFFSET(HDR) sizeof(HDR) -#define A_TEXT_SEEK(HDR) sizeof(HDR) - -/* A few changes for the newer systems. */ - -#ifdef BSD4_3 -/* The following line affects crt0.c. */ -#undef m68k - -#undef LIB_STANDARD -#define LIB_STANDARD -lmc -lc -#define C_DEBUG_SWITCH -20 -O -X23 -#endif - -/* arch-tag: 3bfb5a11-d94e-4372-923b-9f47d0851f42 - (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 @@ -/* machine description file for Megatest 68000's. - Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Say this machine is a 68000 */ - -#define m68000 - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* arch-tag: 61e6deb4-a93e-444b-bbd5-9887a83f1bbc - (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 @@ -/* machine description file for Whitechapel Computer Works MG1 (ns16000 based). - Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - MG-1 version by L.M.McLoughlin - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -We are in the dark about what operating system runs on the Whitechapel -systems. Consult share-lib/MACHINES for information on which -operating systems Emacs has already been ported to; one of them might -work. If you find an existing system name that works or write your -own configuration files, please let the Free Software Foundation in on -your work; we'd like to distribute this information. -NOTE-END */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ -/* ns16000 call sequence used on mg1 means that &arg = the args as an array */ -#undef NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ -/* ns16000 addresses are byte addresses */ -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ -/* Say this machine is a 16000 and an mg1, cpp says its a 32000 */ -#define ns16000 -#define mg1 - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ -/* Not sure on mg-1 but this shouldn't hurt! */ -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ -/* mg1 its an unsigned long */ -#define LOAD_AVE_TYPE unsigned long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ -#define FSCALE 1000.0 -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ -/* ns16000's have an unexec, so should the mg-1 */ -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ -/* hmmmm... not sure. copied sequent.h */ -#undef VIRT_ADDR_VARIES - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ -/* mapping seems screwy */ -#define NO_REMAP - -/* Avoids a compiler bug */ -/* borrowed from sequent.h */ - -/* arch-tag: e15d9072-9e1a-44bf-8add-966be535967b - (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 @@ -/* news-risc6.h is for the "RISC News", OS version 6. */ -/* This is in the public domain. */ - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / 256.0) - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Alter some of the options used when linking. */ - -/*#define C_DEBUG_SWITCH -g*/ -#define C_DEBUG_SWITCH -O -Olimit 2000 -#ifdef __GNUC__ -#define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000 -#else /* !__GNUC__ */ -/*#define LD_SWITCH_MACHINE -D 800000 -g*/ -#define LD_SWITCH_MACHINE -D 800000 -#endif /* !__GNUC__ */ -#define LIBS_MACHINE -lmld -#define LIBS_TERMCAP -lcurses - -/* The standard definitions of these macros would work ok, - but these are faster because the constants are short. */ - -#define XUINT(a) (((unsigned)(a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)) - -#define XSET(var, type, ptr) \ - ((var) = \ - ((int)(type) << VALBITS) \ - + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))) - -/* arch-tag: b9fd7b75-ba3c-46d4-8966-24381b13001b - (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 @@ -/* news-risc.h is for the "RISC News". - - Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -#include "mips.h" - -#ifdef NEWSOS5 - -/* NEWS-OS 5.0.2 */ - -#define LIBS_MACHINE -lmld - -#ifdef __GNUC__ -#define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000 -#else -#define C_DEBUG_SWITCH -g3 -#define C_OPTIMIZE_SWITCH -g3 -#define LD_SWITCH_MACHINE -g3 -D 800000 -non_shared -#endif - -#else /* not NEWSOS5 */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-3" */ - -#define COFF -#undef LD_SWITCH_MACHINE -#ifdef __GNUC__ -#define LD_SWITCH_MACHINE -Xlinker -x -Xlinker -D -Xlinker 800000 -#else -#define LD_SWITCH_MACHINE -x -D 800000 -#endif - -/* #define C_OPTIMIZE_SWITCH -O2 */ -#define C_OPTIMIZE_SWITCH -O - -#ifndef __GNUC__ -#define C_DEBUG_SWITCH -g3 -#endif - -#undef TERMINFO - -/* We have no mode_t. */ -#define NO_MODE_T - -/* Don't use the definitions in m/mips.h. */ -#undef LINKER -#define LINKER $(CC) -nostdlib -#undef LIBS_MACHINE -#define LIBS_MACHINE -lmld - -#undef KERNEL_FILE -#define KERNEL_FILE "/vmunix" - -/* System's malloc, realloc, calloc and so on have bad prototypes, - using char * instead of void *, so tell gmalloc not to use the - prototypes. */ -#define BROKEN_PROTOTYPES - -#endif /* not NEWSOS5 */ - -/* arch-tag: cf17300c-dd34-4b9d-a657-2de718469662 - (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 @@ -/* machine description file for Sony's NEWS workstations, NEWS-OS 3.0. - Copyright (C) 1985, 1986, 1989, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Use -opsystem=bsd4-2, or -opsystem=bsd4-3 for system release 3. -NOTE-END */ - -/* Say this machine is a 68000 */ - -#ifndef m68000 -#define m68000 -#endif - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* One CRT0 Dummy variable */ - -#if 0 /* larry@mitra.com says Sony's as doesn't like this. */ -#define CRT0_DUMMIES one_dummy, -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* Must use the system's termcap. It does special things. */ - -#define LIBS_TERMCAP -ltermcap - -/* arch-tag: 79bfd831-874a-4339-85fa-b8cbdc29bdab - (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 @@ -/* machine description for Harris Night Hawk Series 1200 and Series 3000 - MC68030-based systems (FPP on these is custom). These systems are - also known as "ecx" and "gcx". - Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* This file manually constructed for Harris Night Hawk 4000 (and 5000) - * series Motorola 88100 and 88110 based machines. - */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */ - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -#ifndef gcx -#define gcx -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -/* #define EXPLICIT_SIGN_EXTEND */ - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Some really obscure 4.2-based systems (like Sequent DYNIX) - * do not support asynchronous I/O (using SIGIO) on sockets, - * even though it works fine on tty's. If you have one of - * these systems, define the following, and then use it in - * config.h (or elsewhere) to decide when (not) to use SIGIO. - * - * You'd think this would go in an operating-system description file, - * but since it only occurs on some, but not all, BSD systems, the - * reasonable place to select for it is in the machine description - * file. - */ - -/* #define NO_SOCK_SIGIO */ - -/* arch-tag: 1529f2bc-50d9-42e7-ae72-6f40afadf09e - (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 @@ -/* machine description for Harris NightHawk 88k based machines - (includes nh4000 and nh5000 machines). - Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* This file manually constructed for Harris Night Hawk 4000 (and 5000) - * series Motorola 88100 and 88110 based machines. - */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */ - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -#ifndef m88000 -#define m88000 -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -/* #define EXPLICIT_SIGN_EXTEND */ - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Some really obscure 4.2-based systems (like Sequent DYNIX) - * do not support asynchronous I/O (using SIGIO) on sockets, - * even though it works fine on tty's. If you have one of - * these systems, define the following, and then use it in - * config.h (or elsewhere) to decide when (not) to use SIGIO. - * - * You'd think this would go in an operating-system description file, - * but since it only occurs on some, but not all, BSD systems, the - * reasonable place to select for it is in the machine description - * file. - */ - -/* #define NO_SOCK_SIGIO */ - -/* arch-tag: d9e12769-ae79-4c25-953f-70db5b7ef5dd - (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 @@ -/* machine description file for ns16000. - Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -For the Encore, use `-opsystem=umax'. -For a Tektronix 16000 box (a 6130, perhaps?), use `-opsystem=bsd4-2'. -Use `-machine=ns16000' for both. -NOTE-END */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Say this machine is a 16000 */ - -#define ns16000 1 - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Data type of load average, as read out of kmem. */ - -#ifndef USG -#define LOAD_AVE_TYPE double -#endif - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#ifndef USG -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) -#endif - -#ifdef USG - -/* Control assembler syntax used in alloca.s. */ -#define NS5 - -/* On early NS systems ulimit was buggy. If set emacs uses this value - * for the maximum sbrk value instead of getting it from ulimit. - */ -#define ULIMIT_BREAK_VALUE 0x7E0000 - -/* Early NS compilers have this bug. I believe it has been fixed in later - * releases. - */ -#define SHORT_CAST_BUG - -#define SEGMENT_MASK (NBPS - 1) - -/* Variables to get crt0.c to come out correctly */ -#define CRT0_DUMMIES bogus_fp, -#define DOT_GLOBAL_START - -/* Control how emacsclient communicates. */ -#define HAVE_SYSVIPC - -/* Set this to /bin/mail unless you have a better mail posting program */ -#define MAIL_PROGRAM_NAME "/usr/local/bin/remail" - -/* Tell sysdep.c not to define bzero, etc. */ -#undef BSTRING -#define BSTRING - -/* This avoids problems with uninitialized static variables going in .data. */ -#define static - -#endif /* USG */ - -/* arch-tag: 4210db3c-e35c-4b96-9399-1dbde3e00a57 - (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 @@ -/* machine description file for National Semiconductor 32000, running Genix. - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -/* #define NO_REMAP */ - -#define TEXT_START 0 - -#if !defined (__NetBSD__) && !defined (__OpenBSD__) -#define EXEC_MAGIC 0410 - -#define PURESIZE 140000 - -#define START_FILES pre-crt0.o /lib/crt0.o -#endif - -/* arch-tag: 13dde0e0-8ed5-4bc3-a0dc-5456c9db5f94 - (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 @@ -/* machine description file for TI Nu machines using system V. - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000 are the ones defined so far. */ - -#ifndef m68000 -#define m68000 -#endif - -#ifndef NU -#define NU -#endif - -/* Data type of load average, as read out of kmem. */ -/* These are commented out since it does not really work in uniplus */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ - -/* Change some things to avoid bugs in compiler */ - -#define SWITCH_ENUM_BUG 1 - -/* The NU machine has a compiler that can handle long names. */ - -#undef SHORTNAMES - -/* Specify alignment requirement for start of text and data sections - in the executable file. */ - -#define SECTION_ALIGNMENT pagemask - -/* arch-tag: 7d2d9b6d-75d4-4c0d-96a9-a41f06212f35 - (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 @@ -/* machine description file for HLH Orion. - Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ - -#ifndef orion -#define orion -#endif - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#define WORD_MACHINE - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#ifndef FSCALE -#define FSCALE 1.0 -#endif -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* arch-tag: 4fcf38ad-d6b0-434b-bc10-16647d5a7fb6 - (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 @@ -/* machine description file for HLH Orion 1/05 (Clipper). - Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - Lee McLoughlin <lmjm%doc.imperial.ac.uk@nss.cs.ucl.ac.uk> - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Data type of load average, as read out of kmem. */ -/* This used to be `double'. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* This used to be 1.0. */ -#ifndef FSCALE -#define FSCALE 256 -#endif -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* HLH have a SIGWINCH defined (but unimplemented) so we need a sigmask */ -#ifndef sigmask -#define sigmask(m) (1 << ((m) - 1)) -#endif - -/* Here is where programs actually start running */ -#define TEXT_START 0x8000 -#define LD_TEXT_START_ADDR 8000 - -/* Arguments to ignore before argc in crt0.c. */ -#define DUMMIES dummy1, dummy2, - -/* arch-tag: 32fed6e3-8cae-4882-b327-a68c2af6db7a - (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 @@ -/* m/ file for Paragon i860 machine. */ - -#include "i860.h" -#define COFF -#define SYSTEM_MALLOC -#define TEXT_START 0x10000 -#define LIB_STANDARD -lc -lic -lmach -#define KEEP_OLD_TEXT_SCNPTR -#define KEEP_OLD_PADDR -#define drem fmod - -/* arch-tag: c1bc280c-25e5-4993-9b91-333c52ab3674 - (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 @@ -/* Machine description file for PFU A-series. - Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Say this machine is a 68000 */ - -#define m68000 -#define mc68000 1 - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* The symbol FIONREAD is defined, but the feature does not work. */ - -#define BROKEN_FIONREAD - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Define TEXT_START_ADDR if your linker don't set execute point to _start. - If it needed, temacs always CORE-DUMP. */ - -#define TEXT_START_ADDR __start - -/* Define START_FILES if your machine used _start. - */ - -#define START_FILES crt0.o - -/* Define LD_SWITCH_MACHINE if your linker needs it. - */ - -#define LD_SWITCH_MACHINE -e __start - -#if pfa50 || pfa70 -/* On A-50/60/70/80, data space has high order byte use. */ -#define DATA_SEG_BITS 0x60000000 -#endif /* pfa50, pfa70 */ - -/* SX/A has alloca in the PW library. */ - -#define LIB_STANDARD -lPW -lc - -/* SX/A uses terminfo and lib/curses */ - -#define TERMINFO - -#define HAVE_PTYS -#define HAVE_SOCKETS - -/* SX/A use SystemV style getdents/readdir. */ - -/* SX/A does not have sigblock(2) */ -#define sigblock(mask) (0) - -#define NO_SIOCTL_H - -#define BROKEN_SIGIO - -/* arch-tag: f3a127d5-790b-4c78-b6be-837139fb12c4 - (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 @@ -/* machine description file for the Plexus running System V.2. - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#undef NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ -/* Plexus predefines m68 instead of m68000. */ -#define m68000 m68 - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#undef EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#undef LOAD_AVE_TYPE - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#undef LOAD_AVE_CVT - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#undef NO_REMAP - -/* Use the following on ld so we can use the gnu crt0 - The plexus ld looks for start */ -#define LD_SWITCH_MACHINE -e __start - -/* Use the PW library, which contains alloca. */ - -#define LIB_STANDARD -lPW -lc - -/* crt0.c should use the vax-bsd style of entry, with no dummy args. */ - -#define CRT0_DUMMIES zero1, zero2, - -/* This triggers some stuff to avoid a compiler bug */ - -#define TAHOE_REGISTER_BUG - -/* arch-tag: 78c607eb-b4f8-4750-b575-39670d979448 - (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 @@ -/* machine description file for pyramid. - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#ifdef __GNUC__ -#define NO_ARG_ARRAY -#endif - -/* XINT must explicitly sign extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* pyramid preprocessor defines "pyr", however the following is clearer */ -#define pyramid - -/* Don't use the union types any more. They were used until Emacs 17.45. */ - -#define NO_UNION_TYPE - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* Don't use the ordinary -g for debugging in cc */ - -#define C_DEBUG_SWITCH -gx - -/* Reenable this #define for old versions of the Pyramid system. */ - -/* #define PYRAMID_OLD */ - -/* arch-tag: b9097bc9-92be-46d4-acb1-13c2b966d581 - (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 @@ -/* Configuration file for the Pyramid machine that uses the MIPS cpu. */ -/* This does not fully work. */ - -#include "m-pyramid.h" - -#define SYSTEM_MALLOC -#define CANNOT_DUMP - -/* arch-tag: 82559148-25a8-466d-bbb3-f903f7666b7a - (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 @@ -/* machine description file for sh3el - Copyright (C) 1985, 1986, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#define VIRT_ADDR_VARIES - -/* Define HAVE_ALLOCA to say that the system provides a properly - working alloca function and it should be used. - Undefine it if an assembler-language alloca - in the file alloca.s should be used. */ - -#define HAVE_ALLOCA - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* After adding support for a new system, modify the large case - statement in the `configure' script to recognize reasonable - configuration names, and add a description of the system to - `etc/MACHINES'. - - If you've just fixed a problem in an existing configuration file, - you should also check `etc/MACHINES' to make sure its descriptions - of known problems in that configuration should be updated. */ - -/* arch-tag: ee325990-6f40-47a2-b9df-60ecf3599899 - (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 @@ -/* machine description file for Bull SPS-7. - Copyright (C) 1986, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Say this machine is a 68000 */ - -#ifndef m68000 -#define m68000 -#endif - -#define sps7 - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ -/* Suspect there is something weird about this machine, so turn it off. */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ - -#define SMX -#define V3x - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -#define HAVE_PTYS - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -#define HAVE_SOCKETS - -/* Have the socketpair call -*/ - -#define SKTPAIR - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -#define CLASH_DETECTION - -/* Use Berkeley style interface to nlist */ - -#define NLIST_STRUCT - -/* Define this to cause -N to be passed to ld. This is needed - * in uniplus because of its funny memory space layout. - * SMX--If you are using 32 bit (COFF) use "-N", else don't use anything. - */ - -#define LD_SWITCH_MACHINE -N -T32 -e __start - -/* If you are compiling for a 68020, then use -lc32 else use -lc */ - -#define LIB_STANDARD -lc32 - -/* Fore 16 bit, -linet, for 32 bit -linet32 (be sure you have it!). */ - -#define LIBS_MACHINE -linet32 - -/* Use -T32 for 68020, -T16 otherwise */ - -#define C_SWITCH_MACHINE -T32 - -#define BROKEN_SIGIO - -/* Other than 68020 use ld16, as32, or undefine (defaults ld and as). */ - -#define ASS as32 - -#ifdef V3x -#define EXEC_MAGIC 0x10b -#define SEGMENT_MASK (NBPS-1) -#define ADJUST_EXEC_HEADER f_hdr.f_magic = SMROMAGIC;\ - f_ohdr.stsize = 0; -#endif - -/* arch-tag: 2240f71c-6f3b-4a82-80fc-4d56c682d7ad - (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 @@ -/* machine description file for Hitachi SR2001/SR2201 machines. - Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="hpux" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ -#ifndef hp9000s800 -# define hp9000s800 -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* The standard definitions of these macros would work ok, - but these are faster because the constants are short. */ - - -#define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS) - -#define XSET(var, type, ptr) \ - ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)) - -/* #ifdef __hpux */ -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -#ifndef hp9000s800 -# define hp9000s800 -#endif - - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) (x * 100.0)) - - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#define VIRT_ADDR_VARIES - -/* the data segment on this machine always starts at address 0x40000000. */ - -#define DATA_SEG_BITS 0x40000000 - -#define DATA_START 0x40000000 -#define TEXT_START 0x00000000 - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* This machine requires completely different unexec code - which lives in a separate file. Specify the file name. */ - -#define UNEXEC unexhp9k800.o - -#define LIBS_MACHINE -#define LIBS_DEBUG - -/* Include the file bsdtty.h, since this machine has job control. */ -/* #define NEED_BSDTTY */ - -/* The symbol in the kernel where the load average is found - is named _avenrun. At this time there are two major flavors - of hp-ux (there is the s800 and s300 (s200) flavors). The - differences are thusly moved to the corresponding machine description file. -*/ - -/* no underscore please */ -#define LDAV_SYMBOL "avenrun" - -#if 0 /* Supposedly no longer true. */ -/* In hpux, for unknown reasons, S_IFLNK is defined even though - symbolic links do not exist. - Make sure our conditionals based on S_IFLNK are not confused. - - Here we assume that stat.h is included before config.h - so that we can override it here. */ - -#undef S_IFLNK -#endif - -/* On USG systems these have different names. */ - -#define index strchr -#define rindex strrchr - -/* #endif */ - -/* arch-tag: 4ced5b51-ffe6-4be1-9954-eb40657023a5 - (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 @@ -/* Definitions file for GNU Emacs running on Stride Micro System-V.2.2 - Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#undef NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe, APOLLO and STRIDE - are the ones defined so far. */ - -#define m68000 /* because the SGS compiler defines "m68k" */ -#ifndef STRIDE -#define STRIDE -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* The STRIDE system is more powerful than standard USG5. */ - -#define HAVE_PTYS -#define BSTRING -#define SKTPAIR -#define HAVE_SOCKETS - -#define MAIL_USE_FLOCK -#undef TERMINFO -#define EXEC_MAGIC 0413 - -/* USG wins again: Foo! I can't get SIGIO to work properly on the Stride, because I'm - running a System V variant, and don't have a reliable way to block SIGIO - signals without losing them. So, I've gone back to non-SIGIO mode, so - please append this line to the file "stride.h": - */ -#define BROKEN_SIGIO - -/* Specify alignment requirement for start of text and data sections - in the executable file. */ - -#define SECTION_ALIGNMENT (getpagesize() - 1) - -/* - * UniStride has this in /lib/libc.a. - */ -#undef NONSYSTEM_DIR_LIBRARY - -/* Define this macro if system defines a type `union wait'. */ - -#define HAVE_UNION_WAIT - -/* arch-tag: 65c635ed-5bc7-4ace-ab20-f3442429c8ba - (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 @@ -/* machine description file for Sun 68000's - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3; - -opsystem=bsd4-2 or -opsystem=sunos4) - - Whether you should use sun1, sun2 or sun3 depends on the - VERSION OF THE OPERATING SYSTEM - you have. There are three machine types for different versions of - SunOS. All are derived from Berkeley 4.2, meaning that you should - use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will - need to use sun3 on Sun 2's running SunOS release 3. - - For SunOS release 4 on a Sun 3, use -machine=sun3 and - -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve - problems caused by bugs in the "export" version of SunOS 4. -NOTE-END */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Say this machine is a 68000 */ - -#define m68000 - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Sun can't write competent compilers */ -#define COMPILER_REGISTER_BUG - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Must use the system's termcap. It does special things. */ - -#define LIBS_TERMCAP -ltermcap - -/* Mask for address bits within a memory segment */ - -#define SEGMENT_MASK (SEGSIZ - 1) - -/* arch-tag: 58ec9c79-48bd-4d1b-aad1-65a09a6b0d10 - (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 @@ -/* machine description file for Sun 68000's OPERATING SYSTEM version 2. - Note that "sun2.h" refers to the operating system version, not the - CPU model number. See the MACHINES file for details. - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3; - -opsystem=bsd4-2 or -opsystem=sunos4) - - Whether you should use sun1, sun2 or sun3 depends on the - VERSION OF THE OPERATING SYSTEM - you have. There are three machine types for different versions of - SunOS. All are derived from Berkeley 4.2, meaning that you should - use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will - need to use sun3 on Sun 2's running SunOS release 3. - - For SunOS release 4 on a Sun 3, use -machine=sun3 and - -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve - problems caused by bugs in the "export" version of SunOS 4. -NOTE-END */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Say this machine is a 68000 */ - -#ifndef m68000 -#define m68000 -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Sun can't write competent compilers */ -#define COMPILER_REGISTER_BUG - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Say that this is a Sun 2; must check for and maybe reinitialize - the "sky" board. */ - -#define sun2 - -/* Must use the system's termcap. It does special things. */ - -#define LIBS_TERMCAP -ltermcap - -/* Mask for address bits within a memory segment */ - -#define SEGMENT_MASK (SEGSIZ - 1) - -/* arch-tag: 543c3570-74ca-4099-aa47-db7c7b691c8e - (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 @@ -/* sun3-68881.h, for a Sun 3, using the 68881. */ - -#include "sun3.h" - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Sun with 68881 co-processor (-machine=sun3-68881; - -opsystem=bsd4-2 or -opsystem=sunos4) - - Versions 1, 2, and 3 of the operating system are derived from - Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. - - For SunOS release 4 on a Sun 3 with a 68881, use -machine=sun3-68881 - and -opsystem=sunos4. See the file share-lib/SUNBUG for how to - solve problems caused by bugs in the "export" version of SunOS 4. -NOTE-END */ - -/* In case we are using floating point, work together with crt0.c. */ - -#ifndef __GNUC__ -#define C_SWITCH_MACHINE -f68881 -#endif - -#define sun_68881 -#define START_FILES crt0.o /usr/lib/Mcrt1.o - -/* arch-tag: f8659e89-5f5e-4921-940c-814a5786b901 - (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 @@ -/* sun3-fpa.h, for a Sun 3, using the Sun fpa. */ - -#include "sun3.h" - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Sun with FPA co-processor (-machine=sun3-fpa; - -opsystem=bsd4-2 or -opsystem=sunos4) - - Versions 1, 2, and 3 of the operating system are derived from - Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. - - For SunOS release 4 on a Sun 3 with an FPA, use -machine=sun3-fpa - and -opsystem=sunos4. See the file share-lib/SUNBUG for how to - solve problems caused by bugs in the "export" version of SunOS 4. -NOTE-END */ - -/* In case we are using floating point, work together with crt0.c. */ - -#ifndef __GNUC__ -#define C_SWITCH_MACHINE -ffpa -#endif - -#define sun_fpa -#define START_FILES crt0.o /usr/lib/Wcrt1.o - -/* arch-tag: db287fbb-966f-4a70-a3f4-a6768c09326b - (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 @@ -/* sun3-soft.h, for a Sun 3, using the Sun with software floating point. */ - -#include "sun3.h" - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Sun with software floating point (-machine=sun3-soft; - -opsystem=bsd4-2 or -opsystem=sunos4) - - Versions 1, 2, and 3 of the operating system are derived from - Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. - - If you want to use software floating point on SunOS release 4 on a - Sun 3, use -machine=sun3-68881 and -opsystem=sunos4. See the file - share-lib/SUNBUG for how to solve problems caused by bugs in the - "export" version of SunOS 4. -NOTE-END */ - -/* In case we are using floating point, work together with crt0.c. */ - -#ifndef __GNUC__ -#define C_SWITCH_MACHINE -fsoft -#endif - -#define sun_soft -#define START_FILES crt0.o /usr/lib/Fcrt1.o - -/* arch-tag: 76e9d7e6-66a8-4c4f-b0a5-335d082e5720 - (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 @@ -/* machine description file for Sun 68000's OPERATING SYSTEM version 3 - (for either 68000 or 68020 systems). */ - -#include "sun2.h" -#undef sun2 -#ifndef sun3 -#define sun3 -#endif - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3; - -opsystem=bsd4-2 or -opsystem=sunos4) - - Whether you should use sun1, sun2 or sun3 depends on the - VERSION OF THE OPERATING SYSTEM - you have. There are three machine types for different versions of - SunOS. All are derived from Berkeley 4.2, meaning that you should - use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will - need to use sun3 on Sun 2's running SunOS release 3. - - For SunOS release 4 on a Sun 3, use -machine=sun3 and - -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve - problems caused by bugs in the "export" version of SunOS 4. -NOTE-END */ - -/* Say that the text segment of a.out includes the header; - the header actually occupies the first few bytes of the text segment - and is counted in hdr.a_text. */ - -#define A_TEXT_OFFSET(HDR) sizeof (HDR) - -/* This is the offset of the executable's text, from the start of the file. */ - -#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) - -/* In case we are using floating point, work together with crt0.c. */ - -#ifndef __GNUC__ -#define C_SWITCH_MACHINE -fsoft -#endif - -/* This line is needed if you are linking with X windows - and the library xlib was compiled to use the 68881. - For maximum cleanliness, don't edit this file; - instead, insert this line in config.h. */ -/* #define START_FILES crt0.o /usr/lib/Mcrt1.o */ - -/* arch-tag: d0559a79-2285-4a78-ad68-9694264d0d8a - (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 @@ -/* machine description file for Sun's 386-based RoadRunner. This file borrows heavily from - "sun2.h", but since that file is heavily cpu-specific, it was easier - not to include it. - - Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START - Use s-sunos4-0.h for operating system version 4.0, and s-sunos4-1.h - for later versions. See the file share-lib/SUNBUG for how to solve - problems caused by bugs in the "export" version of SunOS 4. -NOTE-END */ - -/* Say this machine is a bird */ -#ifndef roadrunner -#define roadrunner -#endif - -/* Actual cpu-specific defs */ -#include "intel386.h" - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Underscores are not prepended to C symbols on this machine. */ -#undef LDAV_SYMBOL -#define LDAV_SYMBOL "avenrun" - -/* Must use the system's termcap. It does special things. */ - -#define LIBS_TERMCAP -ltermcap - -/* Roadrunner uses 'COFF' format */ -#define COFF - -#define C_SWITCH_MACHINE -Bstatic /* avoid dynamic linking */ -#define LD_SWITCH_MACHINE -n -Bstatic -/* Get rid of the -e __start that s-sunos4.h does. */ -#undef LD_SWITCH_SYSTEM - -#ifdef USG -/* USG detects Solaris. j.w.hawtin@lut.ac.uk says Solaris 2.1 - on the 386 needs this. */ -#define LIBS_MACHINE -lkvm -#endif - -/* arch-tag: 861af4b4-ce5f-475e-876e-ebff6436a1fe - (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 @@ -/* machine description file for SEQUENT SYMMETRY machines - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* CHANGE: [Eric H. Herrin II; eric@ms.uky.edu - 15 Sept 1988] - * Modified the sequent.h file for the Sequent Symmetry machine. - * Biggest change was to align the sections in the a.out to 4K - * boundaries (this is the page size). - */ - - -/* NOTICE: this file works for DYNIX release 3.0.12 on Sequent Symmetry - * (Intel 80386) machines. Hasn't been tested on anything else. - */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-3" */ - -#include "intel386.h" - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE unsigned long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define FSCALE 1000.0 -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Name of file the to look in - for the kernel symbol table (for load average) */ - -#undef KERNEL_FILE -#define KERNEL_FILE "/dynix" - -/* Avoids a compiler bug */ - -#define TAHOE_REGISTER_BUG - -/* Say that the text segment of a.out includes the header; - the header actually occupies the first few bytes of the text segment - and is counted in hdr.a_text. Furthermore, the value written - in the a_text in the file must have N_ADDRADJ added to it. */ - -#define A_TEXT_OFFSET(HDR) (sizeof (HDR) + N_ADDRADJ (HDR)) - -/* This is the offset of the executable's text, from the start of the file. */ - -#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) - -/* The file sections in the Symmetry a.out must be on 4K boundaries. - */ -#define SEGSIZ 4096 -#define SECTION_ALIGNMENT (SEGSIZ-1) - -/* (short) negative-int doesn't sign-extend correctly */ -#define SHORT_CAST_BUG - -/* Cause compilations to be done in parallel in ymakefile. */ -#define MAKE_PARALLEL & - -/* Define how to search all pty names. - This is for Dynix 3.0; delete next 5 definitions for older systems. */ - -#define PTY_MAJOR "pqrstuvwPQRSTUVW" -#define PTY_MINOR "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" -#define PTY_ITERATION \ - register int ma, mi; \ - for (ma = 0; ma < sizeof(PTY_MAJOR) - 1; ma++) \ - for (mi = 0; mi < sizeof(PTY_MINOR) - 1; mi++) -#define PTY_NAME_SPRINTF \ - sprintf (pty_name, "/dev/pty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]); -#define PTY_TTY_NAME_SPRINTF \ - sprintf (pty_name, "/dev/tty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]); - -/* arch-tag: 4169a89e-3764-4147-98df-1ba3bdd45a5b - (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 @@ -/* Machine-dependent configuration for GNU Emacs for Tadpole 68k machines - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -/* #define EXPLICIT_SIGN_EXTEND */ - -/* Data type of load average, as read out of kmem. */ -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */ - -/* SysV has alloca in the PW library */ - -#define LIB_STANDARD -lPW -lc - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -/* #define NO_REMAP */ - -/* Use Terminfo, not Termcap. */ - -#define TERMINFO - -/* TPIX extras */ - -#define TPIX /* used in various source files */ -#define BSTRING /* we do have the BSTRING functions */ -#define CLASH_DETECTION /* we want to know about clashes */ -#undef ADDR_CORRECT /* don't need this bug fix */ -#define fchmod /* we don't have fchmod() */ -#define SECTION_ALIGNMENT (2048-1) /* 2k boundaries required in unexec */ -#define SEGMENT_MASK (128*1024-1) /* 128k offsets required in unexec */ -#define C_DEBUG_SWITCH -O /* build with -O (TPIX has GCC 1.34) */ - -#define BROKEN_TIOCGWINSZ /* Don't try to use TIOCGWINSZ. */ - -/* omit next four lines if no TCP installed */ - -#define select gnu_select /* avoid select() name clash */ -#define HAVE_PTYS /* we do have PTYs if we have TCP */ -#define HAVE_SOCKETS /* we do have sockets if we have TCP */ -#define LIBS_SYSTEM -lsocket /* get TCP networking functions */ - -/* arch-tag: e0c09754-b0f2-48da-a8a5-aee3c94838f4 - (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 @@ -/* machine description file for tahoe. - Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Use -opsystem=bsd4-2 or -opsystem=bsd4-3, depending on the version of -Berkeley you are running. -NOTE-END */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Say this machine is a tahoe */ - -#ifndef tahoe -#define tahoe -#endif /* not tahoe */ - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* crt0.c should use the vax-bsd style of entry, with no dummy args. */ - -#define CRT0_DUMMIES - -/* crt0.c should define a symbol `start' and do .globl with a dot. */ - -#define DOT_GLOBAL_START - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* This triggers some stuff to avoid a compiler bug */ - -#define TAHOE_REGISTER_BUG - -/* arch-tag: dd452693-80e1-413f-a164-0141eb68d831 - (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 @@ -/* targon31 machine description file - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#define WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ - -/* #define m68k is defined by the Compiler */ -/* #define m68000 */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -/* #define LOAD_AVE_TYPE double */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -/* #define NO_REMAP */ -/* Supposedly NO_REMAP is not needed with the following change. */ -#define SEGMENT_MASK 0xffff - -#define SWITCH_ENUM_BUG 1 - -/* arch-tag: f2438018-7d4e-4be5-b368-4bf342b7785b - (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 @@ -/* machine description file for tek4300. - Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="bsd4-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#undef NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ - -#ifndef tek4300 -#define tek4300 -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (x) - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, */ - -#define _longjmp longjmp -#define _setjmp setjmp - -/* The text segment always starts at a fixed address. - This way we don't need to have a label _start defined. */ - -#define TEXT_START 0 - -/* The Tektronix exec struct for ZMAGIC files is struct zexec */ - -#define EXEC_HDR_TYPE struct zexec - -/* The entry-point label (start of text segment) is `start', not `__start'. */ - -#define DEFAULT_ENTRY_ADDRESS start - -/* Use the system's malloc calls, gmalloc.c won't work for us. */ - -#define SYSTEM_MALLOC - -/* In building xmakefile, "cc -E -g" forcibly reads from stdin. Since we - can't remove the CFLAGS from that "cc -E" invocation, make sure we - never pass -g. If you want to debug, remove the following, and fix - src/Makefile.in so it doesn't pass ${CFLAGS} when creating xmakefile. */ - -#define C_DEBUG_SWITCH - -/* eirik@elf.ithaca.ny.us said this was needed in 19.22. */ -#define NO_MODE_T - -/* Process groups work in the traditional BSD manner. */ - -#define BSD_PGRPS - -/* arch-tag: afa06e53-094c-4a19-9219-155f8ba4bbcc - (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 @@ -/* Configuration file for the Tektronix XD88 running UTekV 3.2e, - contributed by Kaveh Ghazi (ghazi@caip.rutgers.edu) 1/15/93. - You probably need to use gnu make (version 3.63 or higher.) - Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ -#ifndef m88000 /* Some 88k C compilers already define this */ -#define m88000 -#endif - -/* Define how to take a char and sign-extend into an int. - On machines where char is signed, this is a no-op. */ -#define SIGN_EXTEND_CHAR(c) (c) - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ -/* #define EXPLICIT_SIGN_EXTEND */ - -/* Data type of load average, as read out of kmem. */ -/* #define LOAD_AVE_TYPE double */ /* No load average on XD88. */ -/* Convert that into an integer that is 100 for a load average of 1.0 */ -/* #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ -/*#define CANNOT_DUMP*/ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ -#define NO_REMAP - -#ifndef __GNUC__ -# define C_OPTIMIZE_SWITCH -O -#endif /* __GNUC__ */ - -#undef NOMULTIPLEJOBS /* we have job control */ -#define HAVE_SOCKETS /* sockets are available */ -#define BROKEN_FIONREAD /* is this needed ? */ -#define BSTRING /* its in libc but not declared in any header file. */ -#undef sigsetmask /* XD88 has sigsetmask() */ - -#undef LIB_X11_LIB /* Don't use shared libraries defined in usg5-3.h */ -#undef LIBX11_SYSTEM - -#define HAVE_TERMIOS /* We have termios. */ -#undef HAVE_TERMIO /* Make sure termios ifdef code is used, not termio. */ -#define NO_TERMIO /* Don't include both termios.h and termio.h */ -#define HAVE_PTYS /* XD88 SysV has PTYs. */ -#define SYSV_PTYS /* Requires <termios.h> */ - -#ifdef ghs /* Stands for "Green Hills Software", defined only in /bin/cc */ -/* -X18 means do not allocate programmer-defined local variables to a - register unless they are declared register. (Copied from perl-4.036 - Green Hills C hints file. Might be needed for setjmp, I don't know.) */ -# define C_SWITCH_MACHINE -X18 -/* We need /lib/default.ld so that /bin/ld can read its link directives. */ -# define LD_SWITCH_SYSTEM /lib/default.ld -#endif /* ghs */ - -/* We need this to get dumping to work */ -#define KEEP_OLD_TEXT_SCNPTR - -/* arch-tag: fd3cebc3-2aed-4f8c-be9b-f37331c6e0ff - (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 @@ -/* machine description file for the NCR Tower 32 running System V.2. - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ -#define m68000 - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Change some things to avoid bugs in compiler */ - -#define SWITCH_ENUM_BUG 1 - -/* The standard C library is -lcieee, not -lc. - Also use the PW library, which contains alloca. */ - -#define LIB_STANDARD -lPW -lcieee - -/* crt0.c should use the vax-bsd style of entry. Beware that if you have - OS release 2.00.00 or later, *and* change src/ymakefile so that CFLAGS - includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, you need to - uncomment CRT0_DUMMIES and C_OPTIMIZE_SWITCH below. */ - -/* With the optimizer OFF */ - -#define CRT0_DUMMIES zero, bogus_fp, - -/* With the optimizer ON */ - -/* #define CRT0_DUMMIES */ -/* #define C_OPTIMIZE_SWITCH -O2 */ - -/* emacs's magic number isn't temacs's; - temacs is writable text (the default!). */ - -#include <asld.h> -#define EXEC_MAGIC AOUT1MAGIC -#define EXEC_PAGESIZE DATACLICK - -/* arch-tag: a08e7dea-d48e-44cc-b60d-c7f2e5187ff5 - (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 @@ -/* machine description file for the NCR Tower 32 running System V.3. - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ -#define m68000 - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -#ifdef __GNUC__ -#define C_OPTIMIZE_SWITCH -O -fstrength-reduce -fomit-frame-pointer -#define LIB_STANDARD -lc /lib/crtn.o -#else -/* This section is correct if you do *not* change src/ymakefile so that - CFLAGS includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH. */ -#define C_DEBUG_SWITCH -g -O0 -#define LIB_STANDARD -lc -lPW /lib/crtn.o -/* This section is correct if you do enable C_OPTIMIZE_SWITCH. */ -/* #define C_OPTIMIZE_SWITCH -O2 */ -/* #define LIB_STANDARD -lc /lib/crtn.o */ -#endif - -/* The OS maps the data section far away from the text section. */ -#define NO_REMAP -#define TEXT_START 0 -#undef static -#define START_FILES pre-crt0.o /lib/crt1.o - -/* The OS has an implementation of symlinks that is semantically different - from BSD, but for some silly reason it partly has the same syntax. */ -#undef S_IFLNK - -/* The OS needs stream.h+ptem.h included in sysdep.c. */ -#define NO_SIOCTL_H -#define NEED_PTEM_H - -/* arch-tag: 3dff1355-7cb6-49e3-8834-85a369e4ea8f - (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 @@ -/* machine description file for U-station (Nihon Unisys, SS5E; Sumitomo Denkoh, U-Station E30). - Copyright (C) 1986, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-3" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#undef NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO - are the ones defined so far. */ -/* Masscomp predefines mc68000. */ - -#define m68000 mc68000 - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#undef EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that data space precedes text space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#undef NO_REMAP - -/* Name of file the to look in - for the kernel symbol table (for load average) */ - -#define KERNEL_FILE "/unix" - -/* This triggers some stuff to avoid a compiler bug */ - -#define MASSC_REGISTER_BUG - -/* Prevent -lg from being used for debugging. Not implemented? */ - -#define LIBS_DEBUG - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* -lnet is not standard library */ - -#undef LIBS_SYSTEM - -/* Compiler's bug */ - -#define SWITCH_ENUM_BUG - -/* Termcap is available */ - -#define LIBS_TERMCAP -ltermcap - -#define EXEC_PAGESIZE 1024 -#define PURESIZE 130000 - -#define BROKEN_SIGIO -#define BROKEN_SIGTSTP - -/* arch-tag: 797f1d3e-3077-4eee-a81b-03fcf3a988fe - (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 @@ -/* machine description file for WICAT machines. - Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#undef NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - vax, m68000, ns16000 are the ones defined so far. */ - -#ifndef m68000 -#define m68000 -#endif - -/* This flag is used only in alloca.s. */ -#define WICAT - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#undef LOAD_AVE_TYPE - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#undef LOAD_AVE_CVT - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -#undef VIRT_ADDR_VARIES - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#undef NO_REMAP - -/* For WICAT, define TAHOE_REGISTER_BUG if you have a pre-4.2 C compiler */ - -#define TAHOE_REGISTER_BUG - -/* pagesize definition */ - -#define EXEC_PAGESIZE 0x1000 - -/* Delete this for WICAT sys V releases before 2.0. */ - -#define LIB_STANDARD -lc-nofp - -/* Special magic number */ - -#define EXEC_MAGIC MC68ROMAGIC - -/* Special switches to give to ld. */ - -#define LD_SWITCH_MACHINE -e __start -N - -/* Sigh...cannot define this for WICAT cuz 0 length memcpy blows chunks */ - -#undef BSTRING - -/* - * Define optimflags if you want to optimize. - * - Set to null string for pre-4.2 C compiler - * - Set to "-O -Wopt,-O-f" for 4.2 - */ - -#define C_OPTIMIZE_SWITCH /* -O -Wopt,-O-f */ - -/* For WICAT version supporting PTYs and select (currently internal only) */ - -#ifdef HAVE_PTYS -#undef FIRST_PTY_LETTER -#define FIRST_PTY_LETTER 'q' -#endif - -/* there is a select() in libcurses.a that causes a conflict so use termlib */ -#ifdef HAVE_SELECT -#undef TERMINFO -#define LIBS_TERMCAP select.o -ltermlib -#endif - -/* arch-tag: b181c512-0275-4d25-9bbc-be0c8ca7bcad - (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 @@ -/* xps100.h for the Honeywell XPS100 running UNIX System V.2 - Mark J. Hewitt (mjh@uk.co.kernel) - - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-2" */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -/* #define LOAD_AVE_TYPE long */ - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */ - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP -#define TERMINFO -#define SWITCH_ENUM_BUG -#define LIB_STANDARD -lc -#define LD_SWITCH_MACHINE -X -#define SECTION_ALIGNMENT (0x3ff) - -/* arch-tag: 42316eb5-74b2-4762-970a-e372c6a2783d - (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 @@ -/* Header file for Harris CXUX. - Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -/* #define UNIPLUS */ -#define USG5 -#define USG -/* #define HPUX */ -/* #define UMAX */ -/* #define BSD4_1 */ -/* #define BSD4_2 */ -/* #define BSD4_3 */ -/* #define BSD_SYSTEM */ -/* #define VMS */ - -#ifndef _CX_UX -#define _CX_UX 1 -#endif - -/* Define this symbol if you are running CX/UX 7.0 or later (7.0 introduced - * support for ELF files, and while we still build emacs in COFF format, the - * way it is linked is different for 7.0). - */ -/* #define USING_CX_UX_7 */ - -#ifdef USING_CX_UX_7 -#define LINKER /usr/sde/coff/usr/bin/ld -#define LD_SWITCH_SYSTEM -L/usr/sde/coff/usr/lib -zzero_word -#define START_FILES pre-crt0.o /usr/sde/coff/usr/lib/crt0.o /usr/sde/coff/usr/lib/m88100.o -#else /* !USING_CX_UX_7 */ -#ifdef _M88K -#define START_FILES pre-crt0.o /lib/crt0.o -#else -#define START_FILES cxux-crt0.o /lib/crt0.o -#endif -#endif /* USING_CX_UX_7 */ - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "usg-unix-v" - -#define C_SWITCH_SYSTEM -Xa - -#define POSIX_SIGNALS - -/* With POSIX signals, also need to use sigaction rather than signal to - * setup signal handlers - */ -#define signal sys_signal - -/* NOMULTIPLEJOBS should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -/* #define NOMULTIPLEJOBS */ - -/* Emacs can read input using SIGIO and buffering characters itself, - or using CBREAK mode and making C-g cause SIGINT. - The choice is controlled by the variable interrupt_input. - - Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) - - Emacs uses the presence or absence of the SIGIO macro to indicate - whether or not signal-driven I/O is possible. It uses - INTERRUPT_INPUT to decide whether to use it by default. - - SIGIO can be used only on systems that implement it (4.2 and 4.3). - CBREAK mode has two disadvantages - 1) At least in 4.2, it is impossible to handle the Meta key properly. - I hear that in system V this problem does not exist. - 2) Control-G causes output to be discarded. - I do not know whether this can be fixed in system V. - - Another method of doing input is planned but not implemented. - It would have Emacs fork off a separate process - to read the input and send it to the true Emacs process - through a pipe. */ - -#define INTERRUPT_INPUT -/* #define BROKEN_FIONREAD */ - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'a' means it is /dev/ptya0 */ - -#define FIRST_PTY_LETTER 'A' -#define PTY_ITERATION for (c = 'A'; c <= 'P'; c++) for (i = 0; i < 16; i++) - -/* - * Define HAVE_TERMIOS if the system provides POSIX-style - * functions and macros for terminal control. - * - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - * - * Do not define both. HAVE_TERMIOS is preferred, if it is - * supported on your system. - */ - -#define HAVE_TERMIOS -/* #define HAVE_TERMIO */ -#define NO_TERMIO - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -#define HAVE_PTYS - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -/* #define NONSYSTEM_DIR_LIBRARY */ - -#define SYSV_SYSTEM_DIR - -/* Define this symbol if your system has the functions bcopy, etc. */ - -#define BSTRING - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is generally OS dependent, and not supported - under most USG systems. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -#define COFF - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -#define MAIL_USE_FLOCK - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -#define CLASH_DETECTION - -/* Define this if your operating system declares signal handlers to - have a type other than the usual. `The usual' is `void' for ANSI C - systems (i.e. when the __STDC__ macro is defined), and `int' for - pre-ANSI systems. If you're using GCC on an older system, __STDC__ - will be defined, but the system's include files will still say that - signal returns int or whatever; in situations like that, define - this to be what the system's include files want. */ -/* #define SIGTYPE int */ -#define SIGTYPE void - -/* If the character used to separate elements of the executable path - is not ':', #define this to be the appropriate character constant. */ -/* #define SEPCHAR ':' */ - -/* Here, on a separate page, add any special hacks needed - to make Emacs work on this system. For example, - you might define certain system call names that don't - exist on your system, or that do different things on - your system and must be used only through an encapsulation - (Which you should place, by convention, in sysdep.c). */ - -/* Yes! The Night Hawk has sockets! */ - -#define HAVE_SOCKETS - -/* The symbol in the kernel where the load average is found - is named _avenrun. */ - -#define LDAV_SYMBOL "_avenrun" - -#define KERNEL_FILE "/unix" - -/* There are too many kludges required to redefine malloc - use the system - one */ -#define SYSTEM_MALLOC - -#define _setjmp setjmp -#define _longjmp longjmp - -/* const really does work, but I can't get configure to run the C compiler - * with the right options so it figures that out. - */ -#undef const - -#ifdef sigmask -#undef sigmask -#endif - -/* - * <pwd.h> already declares getpwuid, and with a uid_t argument in ANSI C - * mode. Define this so xrdb.c will compile - */ -#ifdef __STDC__ -#define DECLARE_GETPWUID_WITH_UID_T -#endif - -/* Some compilers tend to put everything declared static - into the initialized data area, which becomes pure after dumping Emacs. - On these systems, you must #define static as nothing to foil this. - Note that emacs carefully avoids static vars inside functions. */ - -/* #define static */ - -/* arch-tag: 5febe5fe-f0b0-49cb-9280-9d5a9fa43710 - (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 @@ -/* Define this symbol if you are running CX/UX 7.0 or later (7.0 introduced - * support for ELF files, and while we still build emacs in COFF format, the - * way it is linked is different for 7.0). - */ -#define USING_CX_UX_7 - -#include "cxux.h" - -/* arch-tag: 520cfbad-fd5c-4b3b-ace4-66e9bcd31a60 - (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 @@ -/* Definitions file for GNU Emacs running on Data General's DG/UX - version 4.32 upto and including 5.4.1. - Copyright (C) 1994, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -/* #define UNIPLUS */ -/* #define USG5 */ -/* #define USG */ -/* #define HPUX */ -/* #define UMAX */ -/* #define BSD4_1 */ -#define BSD4_2 -#define BSD4_3 -#define BSD4_4 -#define BSD_SYSTEM - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "dgux" - -/* NOMULTIPLEJOBS should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -/* #define NOMULTIPLEJOBS */ - -/* Emacs can read input using SIGIO and buffering characters itself, - or using CBREAK mode and making C-g cause SIGINT. - The choice is controlled by the variable interrupt_input. - Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) - - SIGIO can be used only on systems that implement it (4.2 and 4.3). - CBREAK mode has two disadvantages - 1) At least in 4.2, it is impossible to handle the Meta key properly. - I hear that in system V this problem does not exist. - 2) Control-G causes output to be discarded. - I do not know whether this can be fixed in system V. - - Another method of doing input is planned but not implemented. - It would have Emacs fork off a separate process - to read the input and send it to the true Emacs process - through a pipe. - -*/ - -#define INTERRUPT_INPUT - -/* - * Define HAVE_SOCKETS if the system supports sockets. - */ - -#define HAVE_SOCKETS - -/* - * Define HAVE_UNIX_DOMAIN if the system supports Unix - * domain sockets. - */ - -#define HAVE_UNIX_DOMAIN - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -#define HAVE_PTYS - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -/* #define NONSYSTEM_DIR_LIBRARY */ - -/* Define this symbol if your system has the functions bcopy, etc. */ - -#define BSTRING - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is generally OS dependent, and not supported - under most USG systems. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". - - DGUX can use either COFF or ELF; the default is ELF. - To compile for COFF (or BCS) use the TARGET_BINARY_INTERFACE - environment variable. */ - -#if defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) -#undef ELF -#ifndef COFF -#define COFF -#endif /* COFF */ -#else /* defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) */ -#undef COFF -#ifndef ELF -#define ELF -#endif /* ELF */ -#endif /* defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) */ - -#ifndef COFF /* People will probably find this apparently unreliable - till the NFS dumping bug is fixed. */ - -/* It is possible to undump to ELF with DG/UX 5.4, but for revisions below - 5.4.1 the undump MUST be done on a local file system, or the kernel will - panic. ELF executables have the advantage of using shared libraries, - while COFF executables will still work on 4.2x systems. */ - -#define UNEXEC unexelf.o - -/* This makes sure that all segments in the executable are undumped, - not just text, data, and bss. In the case of Mxdb and shared - libraries, additional information is stored in other sections. - It does not hurt to have this defined if you don't use Mxdb or - shared libraries. In fact, it makes no difference. */ - -/* Necessary for shared libraries and Mxdb debugging information. */ -#define USG_SHARED_LIBRARIES -#endif - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -/* #define MAIL_USE_FLOCK */ - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* #define CLASH_DETECTION */ - -/* Define a replacement for the baud rate switch, since DG/UX uses a different - from BSD. */ - -#define BAUD_CONVERT { 0, 110, 134, 150, 300, 600, 1200, 1800, 2400, \ - 4800, 9600, 19200, 38400 } - -/* - * Make WM Interface Compliant. - */ - -#define XICCC - -/* Here, on a separate page, add any special hacks needed - to make Emacs work on this system. For example, - you might define certain system call names that don't - exist on your system, or that do different things on - your system and must be used only through an encapsulation - (Which you should place, by convention, in sysdep.c). */ - -/* Some compilers tend to put everything declared static - into the initialized data area, which becomes pure after dumping Emacs. - On these systems, you must #define static as nothing to foil this. - Note that emacs carefully avoids static vars inside functions. */ - -/* #define static */ - -/* DG/UX SPECIFIC ADDITIONS TO TEMPLATE FOLLOW: */ - -/* Use the Berkeley flavors of the library routines, instead of System V. */ - -#define setpgrp(pid,pgrp) setpgrp2(pid,pgrp) -#define getpgrp(pid) getpgrp2(pid) - -/* Act like Berkeley. */ - -#define _setjmp(env) sigsetjmp(env,0) -#define _longjmp(env,val) longjmp(env,val) - -/* Use TERMINFO instead of termcap */ - -#define TERMINFO - -/* - * Send signals to subprocesses using characters. - * - */ - -#define SIGNALS_VIA_CHARACTERS - -/* - * Define HAVE_TERMIOS since this is POSIX, - * for terminal control. Prevent redundant inclusion of termio.h. - */ - -#define HAVE_TERMIOS -#define NO_TERMIO - -/* - * Use a Berkeley style sys/wait.h. - * This makes WIF* macros operate on structures instead of ints. - */ - -#define _BSD_WAIT_FLAVOR - -/* - * Use BSD and POSIX-style signals. This is crucial! - */ - -/* #define SYSTEM_MALLOC */ - -/* MAKING_MAKEFILE must be defined in "ymakefile" before including config.h */ -#ifndef NOT_C_CODE - -/* Make sure signal.h is included so macros below don't mess with it. */ -/* DG/UX include files prevent multiple inclusion. */ - -#include <signal.h> - -/* but undefine the sigmask and sigpause macros since they will get - #define'd later. */ -#undef sigmask -#undef sigpause - -#define POSIX_SIGNALS - -#ifndef NO_DGUX_SIGNAL_REDEF -/* Can't use sys_signal because then etc/server.c would need sysdep.o. */ -extern struct sigaction act, oact; -#define signal(SIG,FUNC) berk_signal(SIG,FUNC) -#endif - -#endif /* not NOT_C_CODE */ - -#ifndef __GNUC__ -#error You must use GCC to compiler Emascs on DGUX -#endif - -#define ORDINARY_LINK -#define START_FILES pre-crt0.o -#define LIB_GCC /usr/lib/gcc/libgcc.a - -#ifdef _M88KBCS_TARGET -/* Karl Berry says: the environment - recommended by gcc (88/open, a.k.a. m88kbcs) doesn't support some system - functions, and gcc doesn't make it easy to switch environments. */ -#define NO_GET_LOAD_AVG -#endif - -/* definitions for xmakefile production */ -#ifdef COFF - -/* Define the following to use all of the available pty's. */ - -#define PTY_ITERATION \ - for (c = 'p'; c < 't'; c++) \ - for (i = 0; (((c == 'p') && (i < 64)) || ((c != 'p') && (i < 16))); i++) - -#define PTY_NAME_SPRINTF \ - if (c == 'p') \ - sprintf (pty_name, "/dev/pty%c%d", c, i); \ - else \ - sprintf (pty_name, "/dev/pty%c%x", c, i); - -#define PTY_TTY_NAME_SPRINTF \ - if (c == 'p') \ - sprintf (pty_name, "/dev/tty%c%d", c, i); \ - else \ - sprintf (pty_name, "/dev/tty%c%x", c, i); - -#define C_DEBUG_SWITCH -g - -#else /* not COFF */ - -/* We are generating ELF object format. This makes the system more - SVR4 like. */ - -#define SVR4 - -/* Pseudo-terminal support under SVR4 only loops to deal with errors. */ - -#define PTY_ITERATION for (i = 0; i < 1; i++) - -/* This sets the name of the master side of the PTY. */ - -#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); - -/* This sets the name of the slave side of the PTY. On SysVr4, - grantpt(3) forks a subprocess, so keep sigchld_handler() from - intercepting that death. If any child but grantpt's should die - within, it should be caught after sigrelse(2). */ - -#define PTY_TTY_NAME_SPRINTF \ - { \ - char *ptsname(), *ptyname; \ - \ - sigblock(sigmask(SIGCLD)); \ - if (grantpt(fd) == -1) \ - fatal("could not grant slave pty"); \ - sigunblock(sigmask(SIGCLD)); \ - if (unlockpt(fd) == -1) \ - fatal("could not unlock slave pty"); \ - if (!(ptyname = ptsname(fd))) \ - fatal ("could not enable slave pty"); \ - strncpy(pty_name, ptyname, sizeof(pty_name)); \ - pty_name[sizeof(pty_name) - 1] = 0; \ - } - -/* Push various streams modules onto a PTY channel. */ - -#define SETUP_SLAVE_PTY \ - if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ - fatal ("ioctl I_PUSH ptem", errno); \ - if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \ - fatal ("ioctl I_PUSH ldterm", errno); \ - if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ - fatal ("ioctl I_PUSH ttcompat", errno); - -#ifdef __GNUC__ -#define C_DEBUG_SWITCH -g -V2 -mversion-03.00 -mstandard -#endif - -#endif /* ELF */ - -/* Extra stuff which probably should be someplace else but is here out - of expediency. */ - -#define LIB_X11_LIB -lX11 -#define LIB_MOTIF -lXm -lgen - -/* Process groups work in the traditional BSD manner. */ - -#define BSD_PGRPS - -/* arch-tag: 1b6d117d-82d2-4480-a6d0-3f7a8360f658 - (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 @@ -/* Definitions file for GNU Emacs running on Data General's DG/UX - Release 4.10 and above. - Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* This file was written by Roderick Schertler <roderick@ibcinc.com>, - contact me if you have problems with or comments about running Emacs - on dgux. - - A number of things in the older dgux*.h files don't make sense to me, - but since I'm relying on memory and I don't have any older dgux - systems installed on which to test changes I'm undoing or fixing them - here rather than fixing them at the source. */ - -/* In dgux.h it says "Can't use sys_signal because then etc/server.c - would need sysdep.o." and then it #defines signal() to be - berk_signal(), but emacsserver.c does `#undef signal' anyway, so that - doesn't make sense. - - Further, sys_signal() in sysdep.c already had a special case for - #ifdef DGUX, it called berk_signal() explicitly. I've removed that - special case because it also didn't make sense: All versions of dgux - which the dgux*.h headers take into account have POSIX signals - (POSIX_SIGNALS is #defined in dgux.h). The comments in sys_signal() - even acknowledged this (saying that the special berk_signal() case - wasn't really necessary), they said that sys_signal() was using - berk_signal() instead of sigaction() for efficiency. Since both give - reliable signals neither has to be invoked within the handler. If - the efficiency that the comments were talking about is the overhead - of setting up the sigaction struct rather than just passing the - function pointer in (which is the only efficiency I can think of) - then that's a needless optimization, the Emacs sources do better - without the special case. - - The following definition will prevent dgux.h from re-defining - signal(). I can't just say `#undef signal' after including dgux.h - because signal() is already a macro, defined in <sys/signal.h>, and - the original definition would be lost. */ -#define NO_DGUX_SIGNAL_REDEF - -#include "dgux5-4-3.h" - -#define LIBS_DEBUG /* nothing, -lg doesn't exist */ -#define LIBS_SYSTEM -lsocket -lnsl - -#ifndef NOT_C_CODE - -/* dgux.h defines _setjmp() to be sigsetjmp(), but it defines _longjmp - to be longjmp() rather than siglongjmp(). Further, it doesn't define - jmp_buf, so sigsetjmp() is being called with a jmp_buf rather than a - sigjmp_buf, and the buffer is then passed to vanilla longjmp(). This - provides a more complete emulation of the Berkeley semantics. */ - -#include <setjmp.h> -#undef jmp_buf -#undef _setjmp -#undef setjmp -#undef _longjmp -#undef longjmp -#define jmp_buf sigjmp_buf -#define _setjmp(env) sigsetjmp(env, 0) -#define setjmp(env) sigsetjmp(env, 1) -#define _longjmp siglongjmp -#define longjmp siglongjmp - -/* The BAUD_CONVERT definition in dgux.h is wrong with this version - of dgux, but I'm not sure when it changed. - - With the current system Emacs' standard handling of ospeed and - baud_rate don't work. The baud values (B9600 and so on) returned by - cfgetospeed() aren't compatible with those used by ospeed. speed_t, - the type returned by cfgetospeed(), is unsigned long and speed_t - values are large. Further, it isn't possible to get at both the - SysV3 (ospeed) and POSIX (cfgetospeed()) values through symbolic - constants simultaneously because they both use the same names - (B9600). To get both baud_rate and ospeed right at the same time - it's necessary to hardcode the values for one set of values, here I'm - hardcoding ospeed. */ -#undef BAUD_CONVERT -#define INIT_BAUD_RATE() \ - struct termios sg; \ - \ - tcgetattr (input_fd, &sg); \ - switch (cfgetospeed (&sg)) { \ - case B50: baud_rate = 50; ospeed = 0x1; break; \ - case B75: baud_rate = 75; ospeed = 0x2; break; \ - case B110: baud_rate = 110; ospeed = 0x3; break; \ - case B134: baud_rate = 134; ospeed = 0x4; break; \ - case B150: baud_rate = 150; ospeed = 0x5; break; \ - case B200: baud_rate = 200; ospeed = 0x6; break; \ - case B300: baud_rate = 300; ospeed = 0x7; break; \ - case B600: baud_rate = 600; ospeed = 0x8; break; \ - default: \ - case B1200: baud_rate = 1200; ospeed = 0x9; break; \ - case B1800: baud_rate = 1800; ospeed = 0xa; break; \ - case B2400: baud_rate = 2400; ospeed = 0xb; break; \ - case B4800: baud_rate = 4800; ospeed = 0xc; break; \ - case B9600: baud_rate = 9600; ospeed = 0xd; break; \ - case B19200: baud_rate = 19200; ospeed = 0xe; break; \ - case B38400: baud_rate = 38400; ospeed = 0xf; break; \ - } \ - return; - - -#if 0 /* Ehud Karni <ehud@unix.simonwiesel.co.il> says that the problem - still exists on m88k-dg-dguxR4.11MU04 and i586-dg-dguxR4.11MU04. */ -/* The `stop on tty output' problem which occurs when using - INTERRUPT_INPUT and when Emacs is invoked under X11 using a job - control shell (csh, ksh, etc.) in the background doesn't look to be - present in R4.11. (At least, I can't reproduce it using jsh, csh, - ksh or zsh.) */ -#undef BROKEN_FIONREAD -#define INTERRUPT_INPUT -#endif /* 0 - never */ - -/* In R4.11 (or maybe R4.10, I don't have a system with that version - loaded) some of the internal stdio semantics were changed. One I - found while working on MH is that _cnt has to be 0 before _filbuf() - is called. Another is that (_ptr - _base) doesn't indicate how many - characters are waiting to be sent. I can't spot a good way to get - that info from the FILE internals. */ -#define PENDING_OUTPUT_COUNT(FILE) (1) - -#endif /* NOT_C_CODE */ - -/* arch-tag: c7013e7b-6e2e-44f2-ba61-90b6d5e2ea45 - (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 @@ -/* Definitions file for GNU Emacs running on Data General's DG/UX - version 5.4 Release 3.00 and above. - Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* NOTE: DGUX5.4R3.00 will not build with the delivered gcc-2.4.5 - compiler. You must upgraded to at least gcc-2.5.8. If you are - running DGUX 5.4R3.00 check on the system dg-rtp.dg.com:/pub/gnu - for gcc-2.5.8 or later compiler. - -pmr@pajato.com */ - -#include "dgux5-4r2.h" - -/* DGUX 5.4R3.00 brought the definition of `struct inet_addr' into - compliance with the majority of Unix systems. The workaround - introduced in 5.4R2 is no longer necessary. */ - -#ifdef HAVE_BROKEN_INET_ADDR -#undef HAVE_BROKEN_INET_ADDR -#endif - -/* The `stop on tty output' problem which occurs when using - INTERRUPT_INPUT and when Emacs is invoked under X11 using a job - control shell (csh, ksh, etc.) in the background has not been fixed in - DGUX 5.4R3.00. - -pmr@pajato.com */ - -#if 0 -#ifdef BROKEN_FIONREAD -#undef BROKEN_FIONREAD -#endif -#ifndef INTERRUPT_INPUT -#define INTERRUPT_INPUT -#endif -#endif - -/* Under DGUX 5.4R3.00, getting a debuggable executable has been - greatly simplified and applies to either COFF or ELF - environments. */ - -#ifdef C_DEBUG_SWITCH -#undef C_DEBUG_SWITCH -#define C_DEBUG_SWITCH -g -#endif - -/* This is needed according to Ehud Karni <ehud@unix.simonwiesel.co.il> - for m88k-dg-dgux5.4R3.10. */ -#undef BSD_PGRPS - -/* arch-tag: c11938c9-0cb0-4652-88aa-7eb80bf1cda9 - (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 @@ -/* Definitions file for GNU Emacs running on Data General's DG/UX - 5.4 Release 2.xx systems. - Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -#include "dgux.h" - -/* There is a known kernel bug in DGUX 5.4R2.xx when using - INTERRUPT_INPUT and invoking Emacs with a job control shell (csh, - ksh, etc.) in the background. This bug manifests itself by - outputting `stop on tty output' and hanging. The workaround is to - set BROKEN_FIONREAD. - -pmr@pajato.com */ - -#ifndef BROKEN_FIONREAD -#define BROKEN_FIONREAD -#endif -#ifdef INTERRUPT_INPUT -#undef INTERRUPT_INPUT -#endif - -/* In DGUX 5.4R2.xx the function inet_addr() returns a `struct - in_addr' instead of the more common `unsigned long'. - -pmr@pajato.com */ - -#define HAVE_BROKEN_INET_ADDR - -#if 0 /* Shawn M. Carey <smcarey@mailbox.syr.edu> found this - caused trouble on DGUX 5.4.2. */ -#define LIBS_SYSTEM -ldgc -#endif - -/* arch-tag: a14f4043-6caa-4f01-a9b9-ae0fb0d2c96e - (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 @@ -/* Definitions for ESIX, a variant of v.5.3 for the 386. */ -/* These are based on reports for ESIX 5.3.2 D. */ - -#include "usg5-3.h" - -/* Some versions of V.3 have this, but not all. ESIX does. */ -#define HAVE_PTYS -#define SYSV_PTYS - -/* Have -lg be used for debugging. */ -#undef LIBS_DEBUG -#define LIBS_DEBUG -lg - -/* If using Roell's X server, define X11R4 */ -#ifdef X11R4 /* Roell's X server */ -#define select sys_select /* Emacs select() not good enough? */ -#undef LIBX11_SYSTEM -#define LIBX11_SYSTEM -lpt -#endif /* X11R4 */ - -/* ESIX does not need <sys/sioctl.h>, but needs <sys/ptem.h> */ -#define NO_SIOCTL_H -#define NEED_PTEM_H -#define BROKEN_FIONREAD - -/* arch-tag: d66e6a70-0812-437d-aa35-9b01bd474941 - (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 @@ -/* Definitions for ESIX System V 4.0.4, a variant of V.4 for the 386. */ -/* Redone by zircon!joe@uunet.uu.net (Joe Kelsey). */ - -#include "usg5-4.h" - -#define SYSTEM_MALLOC 1 -#if defined (HAVE_XFREE386) -# undef LIB_STANDARD -# define LIB_STANDARD -lc -#else -# define LIB_X11_LIB -lsocket -lc -lX11 -# undef LIB_STANDARD -# ifdef ORDINARY_LINK -# define LIB_STANDARD -lnsl -lns -lelf /usr/ucblib/libucb.a -# else -# define LIB_STANDARD -lnsl -lns -lelf /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o -# endif - -/* Resolve BSD string functions in X Window library from libucb.a. */ -# define BSTRING - -/* zircon!joe says this makes X windows work. */ -# define BROKEN_FIONREAD -#endif - -/* arch-tag: 2d314ae9-0357-4ddf-96e5-cf821071ba4b - (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 @@ -/* System description file for HI-UX. - -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 - Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -#define BSD 198911 /* system version (year & month) */ -#define DBL_DIG 15 /* same as the definition of <float.h> */ -#include "bsd4-3.h" - -/* Identify OSF1 for the m- files. */ - -#define OSF1 - -/* To avoid to include the non-existant header file <sys/vlimit.h>, - we define BSD4_2. - This definition does not mean that the OS is based on BSD 4.2. */ -#define BSD4_2 - -/* Define _BSD to tell the include files we're running under - the BSD universe and not the SYSV universe. - Define HITACHI and OSF for Xt's Boolean type as int intead of char. - (But for these defines, /usr/include/X11/Intrinsic.h defines - Boolean as char, but libXt.a on HI-UX/MPP requires it as int.) */ - -#define C_SWITCH_SYSTEM -D_BSD -DHITACHI -DOSF -#define LIBS_SYSTEM -lbsd - -#define GETPGRP_NO_ARG - -#define SYSV_SYSTEM_DIR - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ - -/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option - says where to find X windows at run time. We convert it to a -rpath option - which is what OSF1 uses. */ -#define LD_SWITCH_SYSTEM - -#undef KERNEL_FILE -#define KERNEL_FILE "/mach_kernel" - -#undef LDAV_SYMBOL -#define LDAV_SYMBOL "avenrun" - -/* arch-tag: c5422584-cd86-4e10-8089-9f604523dab7 - (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 @@ -/* System description file for HI-UX. - -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -#define BSD 198911 /* system version (year & month) */ -#define DBL_DIG 15 /* same as the definition of <float.h> */ -#include "bsd4-3.h" - -/* Identify OSF1 for the m- files. */ - -#define OSF1 - -/* To avoid to include the non-existant header file <sys/vlimit.h>, - we define BSD4_2. - This definition does not mean that the OS is based on BSD 4.2. */ -#define BSD4_2 - -/* Define _BSD to tell the include files we're running under - the BSD universe and not the SYSV universe. - Define HITACHI and OSF for Xt's Boolean type as int intead of char. - (But for these defines, /usr/include/X11/Intrinsic.h defines - Boolean as char, but libXt.a on HI-UX/MPP requires it as int.) */ - -#define C_SWITCH_SYSTEM -D_BSD -DHITACHI -DOSF -#define LIBS_SYSTEM -lbsd - -#define GETPGRP_NO_ARG - -#define SYSV_SYSTEM_DIR - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ - -/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option - says where to find X windows at run time. We convert it to a -rpath option - which is what OSF1 uses. */ -#define LD_SWITCH_SYSTEM - -#undef KERNEL_FILE -#define KERNEL_FILE "/mach_kernel" - -#undef LDAV_SYMBOL -#define LDAV_SYMBOL "avenrun" - -/* arch-tag: c56449e1-6d1b-4537-a596-0b08b8e4ec73 - (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 @@ -/* Definitions file for GNU Emacs running on Silicon Graphics 3.5 - Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -#define USG -#define USG5 -#define IRIS - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "irix" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -#define NOMULTIPLEJOBS - -/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ - -/* #define INTERRUPT_INPUT */ - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'a' means it is /dev/ptya0 */ - -#define FIRST_PTY_LETTER 'a' - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -#define HAVE_PTYS - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -#define HAVE_SOCKETS - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -/* #define NONSYSTEM_DIR_LIBRARY */ - -/* Define this symbol if your system has the functions bcopy, etc. */ - -#define BSTRING - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is generally OS dependent, and not supported - under most USG systems. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -#define MAIL_USE_FLOCK - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* #define CLASH_DETECTION */ - -/* The file containing the kernel's symbol table is called /vmunix. */ - -#define KERNEL_FILE "/vmunix" - -/* The symbol in the kernel where the load average is found - is named _avenrun. */ - -#define LDAV_SYMBOL "_avenrun" - - -/* Special hacks needed to make Emacs run on this system. */ - -/* - * Make the sigsetmask function go away. Don't know what the - * ramifications of this are, but doesn't seem possible to - * emulate it properly anyway at this point. - */ - -#define sigsetmask(mask) /* Null expansion */ - -/* The IRIS defines SIGIO in signal.h, but doesn't implement it. */ -#define BROKEN_SIGIO - -#define LIBS_MACHINE -lbsd -ldbm -lPW -#define C_SWITCH_MACHINE -I/usr/include/bsd - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, - but they will run slower. */ - -#define _setjmp setjmp -#define _longjmp longjmp - -/* On USG systems these have different names */ - -#define index strchr -#define rindex strrchr - -/* USG systems tend to put everything declared static - into the initialized data area, which becomes pure after dumping Emacs. - Foil this. Emacs carefully avoids static vars inside functions. */ - -/* #define static */ - -/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ - -#define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0) - -/* some errno.h's don't actually allocate the variable itself */ - -#define NEED_ERRNO - -/* The symbol FIONREAD is defined, but the feature does not work. */ - -#define BROKEN_FIONREAD - -/* This is how to get the device name of the tty end of a pty. */ -#define PTY_TTY_NAME_SPRINTF \ - sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev)); - -/* arch-tag: 41161051-477f-44be-bb2a-0eead3142157 - (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 @@ -/* Definitions file for GNU Emacs running on Silicon Graphics system 3.6. - Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -#define USG -#define USG5 -#define IRIS - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "irix" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -#define NOMULTIPLEJOBS - -/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ - -/* #define INTERRUPT_INPUT */ - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'a' means it is /dev/ptya0 */ - -#define FIRST_PTY_LETTER 'a' - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -#define HAVE_PTYS - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -#define HAVE_SOCKETS - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -/* #define NONSYSTEM_DIR_LIBRARY */ - -/* Define this symbol if your system has the functions bcopy, etc. */ - -#define BSTRING - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is generally OS dependent, and not supported - under most USG systems. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -#define MAIL_USE_FLOCK - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* #define CLASH_DETECTION */ - -/* The file containing the kernel's symbol table is called /vmunix. */ - -#define KERNEL_FILE "/vmunix" - -/* The symbol in the kernel where the load average is found - is named _avenrun. */ - -#define LDAV_SYMBOL "_avenrun" - - -/* Special hacks needed to make Emacs run on this system. */ - -/* - * Make the sigsetmask function go away. Don't know what the - * ramifications of this are, but doesn't seem possible to - * emulate it properly anyway at this point. - */ - -#define sigsetmask(mask) /* Null expansion */ -#define sigblock(x) x - -/* The IRIS defines SIGIO in signal.h, but doesn't implement it. */ -#define BROKEN_SIGIO - -#define LIBS_MACHINE -lbsd -ldbm -lPW -#define C_SWITCH_MACHINE -I/usr/include/bsd - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, - but they will run slower. */ - -#define _setjmp setjmp -#define _longjmp longjmp - -/* On USG systems these have different names */ - -#define index strchr -#define rindex strrchr - -/* USG systems tend to put everything declared static - into the initialized data area, which becomes pure after dumping Emacs. - Foil this. Emacs carefully avoids static vars inside functions. */ - -/* #define static */ - -/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ - -#define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0) - -/* some errno.h's don't actually allocate the variable itself */ - -#define NEED_ERRNO - -/* This is how to get the device name of the tty end of a pty. */ -#define PTY_TTY_NAME_SPRINTF \ - sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev)); - -/* arch-tag: cdf2033e-a2d5-43e1-a1a2-a7243cf41a11 - (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 @@ -/* system description file for Interactive (ISC) Unix version 2.2 on the 386. - - Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -#include "usg5-3.h" - -/* select (in -linet) works okay on X ptys, but not on the serial port. - karl@cs.umb.edu says that with that select call, subprocesses made by - (e.g.) M-x grep don't exit cleanly, they just hang. Similar problems - have been observed in ISC 3.0. */ -#define BROKEN_SELECT_NON_X - -/* karl@cs.umb.edu says that ISC's socket support (in -linet) isn't - what Emacs needs; it makes interrupt-shell-subjob and the like do - nothing. But that appears to have been another manifestation of - the broken select, so it should now be safe to define this again. */ -#define HAVE_SOCKETS - -#define NO_SOCKETS_IN_FILE_SYSTEM -#define NEED_NET_ERRNO_H - -/* This keeps the .cdbx section that gcc puts out when generating - stabs-in-coff output, so Emacs can be debugged. --karl@cs.umb.edu. */ -#define USG_SHARED_LIBRARIES - -/* We can support lock files. */ -#define CLASH_DETECTION -#define NO_FCHMOD - -#define HAVE_PTYS -#define MAXNAMLEN 512 -#define O_NDELAY O_NONBLOCK -#define MEMORY_IN_STRING_H - -/* Tell gmalloc.c that we don't have memmove (system include files to the - contrary!). */ -#define MEMMOVE_MISSING - -/* Send a signal to a subprocess by "typing" a signal character. */ -#define SIGNALS_VIA_CHARACTERS - -/* -lPW is only needed if not using Gcc. We used to include -lcposix here - for the rename function, but some people say ISC's rename doesn't - work correctly with Emacs so we use Emacs' emulation instead. */ -#if defined (__GNUC__) -# define LIB_STANDARD_1 -lcposix -#else /* !__GNUC__ */ -# define LIB_STANDARD_1 -lPW -#endif /* !__GNUC__ */ - -/* LIB_STANDARD_1 is used both here and in LIBS_SYSTEM - (the latter for the sake of configure). */ -#define LIB_STANDARD LIB_STANDARD_1 -lc - -#define NO_X_DESTROY_DATABASE - -/* -linet may be needed to avoid undefined symbols such as gethostname, - inet_addr, gethostbyname, socket, connect, ... */ -#define LIBS_SYSTEM -linet LIB_STANDARD_1 - -/* This system has job control. */ -#undef NOMULTIPLEJOBS - -/* Inhibit asm code in netinet/in.h. Strictly speaking, only necessary - when -traditional is being used, but it doesn't hurt to - unconditionally define this. */ -#define NO_ASM - -/* -traditional is not necessary if the system header files are fixed to - define getc and putc in the absence of _POSIX_SOURCE. GCC's from 2.4.4 - on do this. */ -#if !defined (__GNUC__) || __GNUC__ < 2 -# define C_SWITCH_SYSTEM -traditional -#endif - -/* Some versions of ISC are said to define S_IFLNK even tho - they don't really support symlinks. */ -#undef S_IFLNK - -/* arch-tag: 4de02713-eac5-4360-9d36-fd82c7a3ae44 - (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 @@ -/* s- file for Interactive (ISC) Unix version 3.0 on the 386. - -Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -#include "isc2-2.h" - -/* This has been moved into isc2-2.h. */ -/* #define HAVE_SOCKETS */ - -/* This appears on 3.0, presumably as part of what SunSoft call X2. */ -#undef NO_X_DESTROY_DATABASE - -#ifdef __GNUC__ /* Currently we use -lcposix only with gcc */ -#define POSIX_SIGNALS - -/* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */ -#undef sigsetmask -#undef HAVE_SYSV_SIGPAUSE -#endif - -/* People say that using -traditional causes lossage with `const', - so we might as well try getting rid of -traditional. */ -#undef C_SWITCH_SYSTEM - -/* We indirectly #include s/usg5-3.h, which says to use libX11_s and - libc_s. Martin Tomes <mt00@controls.eurotherm.co.uk> says that ISC - has no libX11_s, and that linking with libc_s causes sbrk not to work. */ -#undef LIB_X11_LIB -#undef LIBX11_SYSTEM -#define LIBX11_SYSTEM -lpt -lnls -lnsl_s - -/* TIOCGWINSZ isn't broken; you just have to know where to find it. */ -#undef BROKEN_TIOCGWINSZ -#define NEED_SIOCTL - -/* We need either _XOPEN_SOURCE or _POSIX_SOURCE to import the posix - signal symbols; might as well use _XOPEN_SOURCE. Defining _SYSV3 - ensures that we don't lose the traditional symbols as a side effect - from this or __STDC__ being defined. It can't hurt to Define - _XOPEN_SOURCE=500, the latest and greatest value as of this writing. */ -#define C_SWITCH_SYSTEM -D_XOPEN_SOURCE=500 -D_SYSV3 - -#ifdef __GNUC__ /* Currently we use -lcposix only with gcc */ -/* This works around a bug in ISC 4.0 and 3.0; it fails - to clear the "POSIX process" flag on an exec. - It won't be needed for 4.1. */ -#define EXTRA_INITIALIZE __setostype (0) -#endif - -/* arch-tag: c1aca3f2-813d-4c1c-ad64-ca6c20ec9bfb - (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 @@ -#include "isc3-0.h" - -#undef LIBS_SYSTEM -#define LIBS_SYSTEM -linet -lcposix - -#define ISC4_0 - -/* fmcphers@csugrad.cs.vt.edu reported this was necessary. - He used GCC. I don't know what is needed with other compilers. */ -#ifdef __GNUC__ -#undef LIBX11_SYSTEM -#define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lcposix -lc -#endif - -/* Tobias Herbert <herbert@clipper.ikp.physik.th-darmstadt.de> - says this is needed. */ - -#ifndef POSIX_SIGNALS -#ifndef sigblock -#ifndef SIG_BLOCK -#define SIG_BLOCK 0 -#endif -#define sigblock(sig) \ - (sigprocmask_set = SIGEMPTYMASK | (sig), \ - sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL)) -#define sigunblock(sig) \ - (sigprocmask_set = SIGFULLMASK & ~(sig), \ - sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL)) -#endif -#endif /* not POSIX_SIGNALS */ - -/* arch-tag: 1278f86f-17f2-462d-88c9-85e4b5faa5c3 - (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 @@ -#include "isc3-0.h" - -/* ISC 4.1 has renamed __setostype, but also has fixed the bug - for which we needed to call it; so just do nothing. uddeborg@carmen.se. */ -#undef EXTRA_INITIALIZE - -#define ISC4_1 - -#undef LIBS_SYSTEM -#define LIBS_SYSTEM -linet - -/* uddeborg@carmen.se recommends the rest of this file. */ - -/* A special startup file is used when compiling with Posix. */ -#define START_FILES pre-crt0.o /lib/crtp1.o - -/* -lPW is only needed if not using Gcc. */ -#undef LIB_STANDARD -#if defined (__GNUC__) -# define LIB_STANDARD -lcposix -lc /lib/crtn.o -#else /* !__GNUC__ */ -# define LIB_STANDARD -lPW -lcposix -lc /lib/crtn.o -#endif /* !__GNUC__ */ - -/* We have Posix termios. */ -#define HAVE_TERMIOS -/* According to template.h HAVE_TERMIO and HAVE_TERMIOS shouldn't be */ -/* defined at the same time. */ -#undef HAVE_TERMIO - -/* ISC 4.1 has sys/wait.h but it does not work right. */ -#undef HAVE_SYS_WAIT_H - -/* arch-tag: ec5c77d9-a330-4d93-8117-d2b374531c67 - (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 @@ -/* Definitions file for GNU Emacs running on Sony's NEWS-OS 5.0.2 - Copyright (C) 1992, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* Use the SysVr4 file for at least base configuration. */ - -#include "usg5-4.h" - -#define NEWSOS5 - -/* These will be defined by "m-mips.h". */ -#undef START_FILES -#undef LIB_STANDARD - -#undef LIBS_SYSTEM -#define LIBS_SYSTEM -lsocket -lnsl -lgen - -/* Disable use of "unexelf.c" and shared libraries, because - "unexelf.c" doesn't work correctly on NEWS-OS. "unexmips.c" does - work correctly if the program is linked statically without ELF. */ -#undef UNEXEC -#undef USG_SHARED_LIBRARIES - -/* Use `ld' directly rather than ordinary link, because ordinary link - can't produce a non-ELF executable. */ -#undef ORDINARY_LINK -#define LINKER /usr/lib/cmplrs/cc/ld -#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o -#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o /usr/ccs/lib/values-Xt.o - -#ifndef HAVE_SOCKETS -#define HAVE_SOCKETS -#endif - -/* arch-tag: 2bb78fcd-fbc4-46dd-a14b-e4a9be957fe0 - (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 @@ -/* Definitions file for GNU Emacs running on Sony's NEWS-OS 6.x */ - -#include "usg5-4-2.h" - -#define NEWSOS6 -#define HAVE_TEXT_START - -/* arch-tag: a0db9cb0-43bb-4f9e-85fa-384e30f02d74 - (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 @@ -/* Definitions file for GNU Emacs running on osf1. - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -#include "bsd4-3.h" - -/* Identify OSF1 for the m- files. */ - -#define OSF1 - -#define C_SWITCH_SYSTEM -D_BSD -#define LIBS_SYSTEM -lbsd - -#define GETPGRP_NO_ARG - -#define SYSV_SYSTEM_DIR - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -#define COFF - -/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option - says where to find X windows at run time. We convert it to a -rpath option - which is what OSF1 uses. */ -#define LD_SWITCH_SYSTEM `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'` - -#define HAVE_TERMIOS - -#ifndef __GNUC__ -/* Optimize, inaccurate debugging. */ -#define C_DEBUG_SWITCH -g3 -#endif - -#ifndef NOT_C_CODE -#ifndef OSF5 /* fixed in 5.0 */ -/* Hack alert! For reasons unknown to mankind the string.h file insists - on defining bcopy etc. as taking char pointers as arguments. With - Emacs this produces an endless amount of warning which are harmless, - but tends to flood the real errors. This hack works around this problem - by not prototyping. */ -#define bcopy string_h_bcopy -#define bzero string_h_bzero -#define bcmp string_h_bcmp -#include <string.h> -#undef bcopy -#undef bzero -#undef bcmp -#endif -#endif - -#define ORDINARY_LINK - -/* Some systems seem to have this, others don't. */ -#ifdef HAVE_LIBDNET -#define LIBS_MACHINE -ldnet -#else -#define LIBS_MACHINE -ldnet_stub -#endif - -#define LIBS_DEBUG -#define START_FILES pre-crt0.o - -#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */ -#define PTY_NAME_SPRINTF /* none */ -#define PTY_TTY_NAME_SPRINTF /* none */ -#define PTY_OPEN \ - do \ - { \ - int dummy; \ - SIGMASKTYPE mask; \ - mask = sigblock (sigmask (SIGCHLD)); \ - if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \ - fd = -1; \ - sigsetmask (mask); \ - emacs_close (dummy); \ - } \ - while (0) - -/* arch-tag: 65eaea67-fcc3-4de7-8574-d46beb82d4ed - (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 @@ -#define OSF5 -#include "osf1.h" - -/* It's enough to define _OSF_SOURCE instead of _BSD. */ - -#undef C_SWITCH_SYSTEM -#define C_SWITCH_SYSTEM -D_OSF_SOURCE - -#ifndef NSIG /* _OSF_SOURCE seems to get us this */ -#define NSIG __sys_nsig -#endif - -/* We have missing/inconsistent prototypes on 5.0, at least. */ -#define INHIBIT_X11R6_XIM - -#define USE_MMAP_FOR_BUFFERS 1 - -#define TERMINFO -#define LIBS_TERMCAP -lcurses - -#define GC_SETJMP_WORKS 1 -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS - -/* arch-tag: 89580064-dd8c-4533-a47c-0f92d8090945 - (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 @@ -/* Definitions file for GNU Emacs running on RISCiX 1.1 (bsd 4.3) */ - -#define RISCiX_1_1 1 -#define RISCiX 11 -#define CRT0_O /lib/crt0.o -#include "bsd4-3.h" - -/* arch-tag: 382df034-9843-4a82-8a3a-2e50a4dd532c - (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 @@ -/* Definitions file for GNU Emacs running on RISCiX 1.2 (bsd 4.3) - Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -#define RISCiX_1_2 1 -#define RISCiX 12 -#define CRT0_O /usr/lib/crt0.o -#include "bsd4-3.h" - -/* arch-tag: f6b21e0a-f676-418a-9c8a-10fa8cd9dba7 - (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 @@ -/* System description file for SCO 3.2v4. - Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* Contributed by Ian Lance Taylor, ian@cygnus.com. */ - -/* SCO is sort of like SVR3. */ -#include "usg5-3.h" -#define SCO_R4 - -#if 0 /* Turned off rather than make the Lisp code check for this. -- rms. - I am assuming that (at least most of) the tests for usg-unix-v - do the right thing for sco3.2v4 also. Things that *might* be wrong - as a result of turning off these lines include the values of - ange-ftp-remote-shell-file-name (now remsh) - dired-chown-program (now just chown) - lpr-command (now lp) - nntp-buggy-select (now t) - rmail-spool-directory (now /usr/mail?) - and the actions of the function print-region-1. */ - -/* SYSTEM_TYPE should indicate the kind of system you are using. */ -#undef SYSTEM_TYPE -#define SYSTEM_TYPE "SCO 3.2v4" -#endif - -/* SCO supports job control. */ -#undef NOMULTIPLEJOBS - -/* SCO has termios. */ -#define HAVE_TERMIOS - -/* SCO has ptys with unusual names. */ -#define HAVE_PTYS - -#define PTY_ITERATION \ - for (i = 0; ; i++) -#define PTY_NAME_SPRINTF \ - sprintf (pty_name, "/dev/ptyp%d", i); -#define PTY_TTY_NAME_SPRINTF \ - sprintf (pty_name, "/dev/ttyp%d", i); - -/* Sockets are an option on SCO. If you have X, you have them. - They also exist if you have TCP, but we don't know how to test - for that. */ -#ifdef HAVE_X_WINDOWS -#define HAVE_SOCKETS -#endif - -/* Must use 'cc' to link when build with motif toolkit. */ -#ifndef __GNUC__ -#define LINKER cc -#endif - -/* This is safe since we already assumed HAVE_SOCKET - if using X windows. */ -#undef LIBX11_SYSTEM -#define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s -lsocket - -/* Motif needs -lintl on some (maybe all) ofthese systems. */ -#ifdef HAVE_LIBINTL -#define LIB_MOTIF -lXm -lintl -#endif - -#ifdef HAVE_INET_SOCKETS /* This comes from autoconf. */ -#define HAVE_SOCKETS -#endif - -#ifdef HAVE_SOCKETS -#define LIBS_SYSTEM -lsocket -lPW - -/* SCO has gettimeofday in socket library */ -/* Autoconf should determine this, but for now, - play safe to avoid error rather than deleting this - and risking the wrong result. */ -#ifndef HAVE_GETTIMEOFDAY -#define HAVE_GETTIMEOFDAY -#endif -#endif - -/* This enables configure to tell that we have alloca. */ -#ifndef LIBS_SYSTEM -#define LIBS_SYSTEM -lPW -#endif - -/* configure can't get this right linking fails unless -lsocket is used. */ -#undef HAVE_XSCREENNUMBEROFSCREEN -#define HAVE_XSCREENNUMBEROFSCREEN - -/* We don't have -loldX, and we don't need it. */ -#define LIB_XMENU_LIB - -/* SCO does have TIOCGWINSZ. */ -#undef BROKEN_TIOCGWINSZ -#define NEED_PTEM_H - -/* We need to link with crt1.o and crtn.o. */ -#define START_FILES pre-crt0.o /lib/crt1.o -#define LIB_STANDARD -lc /lib/crtn.o - -/* Send signals to subprocesses by "typing" signal chars at them. */ -#define SIGNALS_VIA_CHARACTERS - -/* Specify program for etc/fakemail to run. Define SMAIL if you are - using smail, don't for MMDF. */ - -#ifdef SMAIL -#define MAIL_PROGRAM_NAME "/bin/smail -q0" -#else -#define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail" -#endif - -/* Tell process_send_signal to use VSUSP instead of VSWTCH. */ -#define PREFER_VSUSP - -/* wjs@wang.com (William Smith) says this is needed on 3.2.4.2. */ -#define POSIX_SIGNALS - -/* wjs@wiis.wang.com says SCO 3.2 v4.2 "has sockets", - but only for network connections. - It doesn't have the kind of sockets that emacsclient.c - and emacsserver.c would use. */ -#define NO_SOCKETS_IN_FILE_SYSTEM - -#define NARROWPROTO 1 - -/* arch-tag: 4dd6fe94-bcb7-4be0-942a-ff4bc3cd914e - (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 @@ -/* System description file for SCO 3.2v5. - Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* Contributed by Mark Diekhans <markd@grizzly.com>. */ - -/* SCO is sort of like SVR3. */ -#include "usg5-3.h" -#define SCO_R5 - -#if 0 /* Turned off rather than make the Lisp code check for this. -- rms. - I am assuming that (at least most of) the tests for usg-unix-v - do the right thing for sco3.2v4 also. Things that *might* be wrong - as a result of turning off these lines include the values of - ange-ftp-remote-shell-file-name (now remsh) - dired-chown-program (now just chown) - lpr-command (now lp) - nntp-buggy-select (now t) - rmail-spool-directory (now /usr/mail?) - and the actions of the function print-region-1. */ - -/* SYSTEM_TYPE should indicate the kind of system you are using. */ -#undef SYSTEM_TYPE -#define SYSTEM_TYPE "SCO 3.2v4" -#endif - -/* SCO supports job control. */ -#undef NOMULTIPLEJOBS - -/* SCO has termios. */ -#define HAVE_TERMIOS - -/* SCO has ptys with unusual names. */ -#define HAVE_PTYS - -#define PTY_ITERATION \ - for (i = 0; ; i++) -#define PTY_NAME_SPRINTF \ - sprintf (pty_name, "/dev/ptyp%d", i); -#define PTY_TTY_NAME_SPRINTF \ - sprintf (pty_name, "/dev/ttyp%d", i); - -/* Sockets are an option on SCO. If you have X, you have them. - They also exist if you have TCP, but we don't know how to test - for that. */ -#ifdef HAVE_X_WINDOWS -#define HAVE_SOCKETS -#endif - -#ifndef __GNUC__ -#define LINKER ld -#endif - -/* This is safe since we already assumed HAVE_SOCKET - if using X windows. */ -#undef LIBX11_SYSTEM -#define LIBX11_SYSTEM_COMMON -lpt -lnls -lnsl -lc -lsocket -#ifdef MOTIF -# define LIBX11_SYSTEM -lgen LIBX11_SYSTEM_COMMON -#else /* ndef MOTIF */ -# define LIBX11_SYSTEM LIBX11_SYSTEM_COMMON -#endif /* ndef MOTIF */ - -#undef LIB_X11_LIB -#define LIB_X11_LIB -lX11 - -#ifdef HAVE_INET_SOCKETS /* This comes from autoconf. */ -#define HAVE_SOCKETS -#endif - -#ifdef HAVE_SOCKETS -#define LIBS_SYSTEM -lsocket -lPW -#endif - -#ifndef HAVE_GETTIMEOFDAY -#define HAVE_GETTIMEOFDAY -#endif - -/* This enables configure to tell that we have alloca. */ -#ifndef LIBS_SYSTEM -#define LIBS_SYSTEM -lPW -#endif - -/* configure can't get this right linking fails unless -lsocket is used. */ -#undef HAVE_XSCREENNUMBEROFSCREEN -#define HAVE_XSCREENNUMBEROFSCREEN - -/* We don't have -loldX, and we don't need it. */ -#define LIB_XMENU_LIB - -/* SCO does have TIOCGWINSZ. */ -#undef BROKEN_TIOCGWINSZ -#define NEED_PTEM_H - -/* We need to link with crt1.o and crtn.o. */ -#define START_FILES pre-crt0.o /lib/crt1.o -#define LIB_STANDARD -lc /lib/crtn.o - -/* Send signals to subprocesses by "typing" signal chars at them. */ -#define SIGNALS_VIA_CHARACTERS - -/* Specify program for etc/fakemail to run. Define SMAIL if you are - using smail, don't for MMDF. */ - -#ifdef SMAIL -#define MAIL_PROGRAM_NAME "/bin/smail -q0" -#else -#define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail" -#endif - -/* Tell process_send_signal to use VSUSP instead of VSWTCH. */ -#define PREFER_VSUSP - -/* SCO Unix has Posix signals, but in 3.2.5 something broken that causes - * all keyboard-quit signals to be lost after the first one. */ -#undef POSIX_SIGNALS - -#define SIGMASKTYPE long - -#ifndef NOT_C_CODE -extern SIGMASKTYPE sigprocmask_set; -#endif /* not NOT_C_CODE */ - -#define sigblock(sig) \ - (sigprocmask_set = SIGEMPTYMASK | (sig), \ - sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL)) -#define sigunblock(sig) \ - (sigprocmask_set = SIGFULLMASK & ~(sig), \ - sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL)) - -#ifndef PENDING_OUTPUT_COUNT -#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base) -#endif - -/* Use ELF and get real shared libraries */ - -#undef COFF -#define ELF - -#define UNEXEC unexelf.o - -#ifndef __GNUC__ -#define C_SWITCH_SYSTEM -belf -#define LD_SWITCH_SYSTEM -belf -#endif - -/* Don't disable static function, as SCO's header files have some.*/ -#undef static - -#undef START_FILES -#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/values-Xt.o -#undef LIB_STANDARD -#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o - -#define NARROWPROTO 1 - -/* arch-tag: 930541b5-52d9-4cbe-b73c-f4c72091f5df - (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 @@ -/* Definitions file for GNU Emacs running on sunos 4.0. - - Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -#include "bsd4-2.h" - -#ifndef SUNOS4 -#define SUNOS4 -#endif - -#if 0 /* This may have been needed for an earlier version of Sun OS 4. - It seems to cause warnings in 4.0.3 and 4.1. */ -#define O_NDELAY FNDELAY /* Non-blocking I/O (4.2 style) */ -#endif - -/* We use the Sun syntax -Bstatic unconditionally, because even when we - use GCC, these are passed through to the linker, not handled by GCC - directly. */ -#define LD_SWITCH_SYSTEM -Bstatic - -/* We use this for linking temacs, but not for other programs - or for tests in configure. */ -#define LD_SWITCH_SYSTEM_TEMACS -e __start - -/* In SunOS 4.1, a static function called by tzsetwall reportedly - clears the byte just past an eight byte region it mallocs, corrupting - GNU malloc's memory pool. But Sun's malloc doesn't seem to mind. */ - -#define SYSTEM_MALLOC - -/* SunOS 4.x cc <stdlib.h> declares abort and free to return int. */ - -#ifndef __STDC__ -#define ABORT_RETURN_TYPE int -#define FREE_RETURN_TYPE int -#endif - -#ifdef __GNUC__ -/* We must define mkdir with this arg prototype - to match GCC's fixed stat.h. */ -#define MKDIR_PROTOTYPE \ - int mkdir (const char *dpath, unsigned short dmode) -#endif /* __GNUC__ */ - -/* Must use the system's termcap, if we use any termcap. - It does special things. */ - -#ifndef TERMINFO -#define LIBS_TERMCAP -ltermcap -#endif - -#define GC_SETJMP_WORKS 1 -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS - -/* arch-tag: 362f3bfc-810d-4f6e-9b83-5a32f8f1a926 - (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 @@ -#include "sunos4-0.h" - -/* Cause the compilation of oldxmenu to use the right -I option. */ -#define OLDXMENU_OPTIONS CFLAGS=C_SWITCH_SYSTEM - -#if 0 /* This isn't right. Apparently some sites do have -lresolv - but don't use that. On those systems, the code below loses. - There's no way to win automatically unless someone - figures out a way of determining automatically which way is right - on any given system. */ -/* Some systems do not run the Network Information Service, but have - modified the shared C library to include resolver support without - also changing the C archive library (/usr/lib/libc.a). If we - detect the presence of libresolv.a, use -lresolv to supplement libc.a. - - We used to have #ifdef HAVE_GETHOSTNAME is to prevent configure from - setting libsrc_libs to -lresolv in lib-src/Makefile. But nowadays - configure is smarter about computing libsrc_libs, and would not - be fooled. Anyway, why not use -lresolv in lib-src? */ -/* #ifdef HAVE_GETHOSTNAME */ -#ifdef HAVE_LIBRESOLV -#define LIBS_SYSTEM -lresolv -#endif -/* #endif */ -#endif - -#if 0 /* Not necessary, since SYSTEM_MALLOC is defined in sunos4-0.h. */ -/* Tell GNU malloc to compensate for a bug in localtime. */ -#define SUNOS_LOCALTIME_BUG -#endif - -/* Define dlopen, dlclose, dlsym. */ -#define USE_DL_STUBS - -/* arch-tag: 154e2eb2-2180-4d66-90b9-7e56a22004f2 - (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 @@ -#include "sunos4-1.h" - -/* jik@gza.com says this works now. */ -/* The bug that corrupts GNU malloc's memory pool is fixed in SunOS 4.1.3. */ - -#undef SYSTEM_MALLOC - -/* barrie@calvin.demon.co.uk says memmove is missing. */ -#ifndef SYSTEM_MALLOC -#define MEMMOVE_MISSING -#endif - -#define USE_MMAP_FOR_BUFFERS 1 - -/* arch-tag: ebd184b0-9084-4306-8e71-c0437330e1e1 - (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 @@ -/* -Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, - 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* This file permits building Emacs with a shared libc on Sunos 4. - To make this work, you must completely replace your C shared library - using one of the SunOS 4.1.x jumbo replacement patches from Sun. - Here are the patch numbers for Sunos 4.1.3: - 100890-10 SunOS 4.1.3: domestic libc jumbo patch - 100891-10 SunOS 4.1.3: international libc jumbo patch */ - - -#include "sunos4-1.h" - -/* Say that the text segment of a.out includes the header; - the header actually occupies the first few bytes of the text segment - and is counted in hdr.a_text. */ - -/* Misleading! Actually gets loaded after crt0.o */ -#define START_FILES pre-crt0.o - -/* - * Kludge! can't get at symbol "start" in std crt0.o - * Who the #$%&* decided to remove the __ characters! - * Someone needs to fix this in sysdep.c with an #ifdef BROKEN_START in - * sysdep.c. We do not use this address so any value should do really. Still - * may need it in the future? - */ -#define BROKEN_START -#define TEXT_START 0x2020 - -#define UNEXEC unexsunos4.o -#define RUN_TIME_REMAP -#define ORDINARY_LINK -#define SUNOS4_SHARED_LIBRARIES - -#undef LD_SWITCH_SYSTEM -#undef LD_SWITCH_SYSTEM_TEMACS - -#undef SYSTEM_MALLOC -#ifndef GNU_MALLOC -#define GNU_MALLOC -#endif -#ifndef REL_ALLOC -#define REL_ALLOC -#endif - -/* khera@cs.duke.edu says this is needed. */ -#define memmove(to, from, size) bcopy (from, to, size) - -#undef USE_DL_STUBS - -#ifndef HAVE_X11R6 -/* With X11R5 it was reported that linking -lXmu dynamically - did not work. With X11R6, it does work; and since normally - only the dynamic libraries are available, we should use them. */ -#ifdef __GNUC__ -#define LIBXMU -Xlinker -Bstatic -lXmu -Xlinker -Bdynamic -#else -#define LIBXMU -Bstatic -lXmu -Bdynamic -#endif - -#endif /* not HAVE_X11R6 */ - -/* arch-tag: cb54321a-ed45-4c17-a23e-1c157758da78 - (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 @@ -/* Definitions file for GNU Emacs running on UMAX 4.2 - Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -/* #define UNIPLUS */ -/* #define USG5 */ -/* #define USG */ -/* #define BSD4_1 */ -#define BSD4_2 -/* #define BSD4_3 */ -#define BSD_SYSTEM -#define UMAX4_2 -#define UMAX -/* #define VMS */ - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "berkeley-unix" - -/* NOMULTIPLEJOBS should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -/* #define NOMULTIPLEJOBS */ - -/* Emacs can read input using SIGIO and buffering characters itself, - or using CBREAK mode and making C-g cause SIGINT. - The choice is controlled by the variable interrupt_input. - Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) - - SIGIO can be used only on systems that implement it (4.2 and 4.3). - CBREAK mode has two disadvantages - 1) At least in 4.2, it is impossible to handle the Meta key properly. - I hear that in system V this problem does not exist. - 2) Control-G causes output to be discarded. - I do not know whether this can be fixed in system V. - - Another method of doing input is planned but not implemented. - It would have Emacs fork off a separate process - to read the input and send it to the true Emacs process - through a pipe. -*/ - -#define INTERRUPT_INPUT - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'a' means it is /dev/ptya0 */ - -#define FIRST_PTY_LETTER 'p' - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -#define HAVE_PTYS - -/* Define this macro if system defines a type `union wait'. */ - -#define HAVE_UNION_WAIT - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -#define HAVE_SOCKETS - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -/* #define NONSYSTEM_DIR_LIBRARY */ - -/* Define this symbol if your system has the functions bcopy, etc. */ - -#define BSTRING - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is generally OS dependent, and not supported - under most USG systems. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -#define COFF - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -#define MAIL_USE_FLOCK - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -#define CLASH_DETECTION - -/* The file containing the kernel's symbol table is called /vmunix. */ - -#define KERNEL_FILE "/vmunix" - -/* The symbol in the kernel where the load average is found - is named _avenrun. */ - -#define LDAV_SYMBOL "_avenrun" - -/* Here, on a separate page, add any special hacks needed - to make Emacs work on this system. For example, - you might define certain system call names that don't - exist on your system, or that do different things on - your system and must be used only through an encapsulation - (Which you should place, by convention, in sysdep.c). */ - -/* Specify alignment requirement for start of text and data sections - in the executable file. */ - -#define SECTION_ALIGNMENT pagemask - - -#define SEGMENT_MASK (64 * 1024 - 1) - - -/* crt0.c needs this for compilation because it uses asm. */ - -#define C_SWITCH_ASM -q nodirect_code - -/* Encore machines with APC processor boards align sections on 4M - boundaries, so it is not easy to remap the start of the text segment - in the unexec() routine. For them you need the following two lines. - For DPC processors you can enable these or not, as you wish, but - you will get better performance without them. */ - -/* #define NO_REMAP - #define TEXT_START 0 -*/ - -/* Process groups work in the traditional BSD manner. */ - -#define BSD_PGRPS - -/* arch-tag: 2860edda-ce9e-4cfa-943d-3a06c7045854 - (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 @@ -/* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.2 - Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -#define USG /* System III, System V, etc */ - -#define USG5 - -#define UNIPLUS - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "unisoft-unix" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -/* #define NOMULTIPLEJOBS */ - -/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ - -/* #define INTERRUPT_INPUT */ - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'p' means it is /dev/ptyp0 */ - -#define FIRST_PTY_LETTER 'p' - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -#define HAVE_PTYS - -/* Define this macro if system defines a type `union wait'. */ - -#define HAVE_UNION_WAIT - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -/* #define HAVE_SOCKETS */ - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -#define NONSYSTEM_DIR_LIBRARY - -/* Define this symbol if your system has the functions bcopy, etc. */ - -/* #define BSTRING */ - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is generally OS dependent, and not supported - under most USG systems. It is supported under UniPlus - System V Release 2. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -#define COFF - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -/* #define MAIL_USE_FLOCK */ - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* #define CLASH_DETECTION */ - -/* Uniplus 5.2 supports long names in C */ - -/* #define SHORTNAMES */ - -/* The file containing the kernel's symbol table is called /unix. */ - -#define KERNEL_FILE "/unix" - -/* The symbol in the kernel where the load average is found - is named avenrun. */ - -#define LDAV_SYMBOL "avenrun" - -/* Special hacks needed to make Emacs run on this system. */ - -/* - * Make the sigsetmask function go away. Don't know what the - * ramifications of this are, but doesn't seem possible to - * emulate it properly anyway at this point. - */ - -#define sigsetmask(mask) /* Null expansion */ - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, - but they will run slower. */ - -#define _setjmp setjmp -#define _longjmp longjmp - -/* On USG systems these have different names */ - -#define index strchr -#define rindex strrchr - -/* Compiler bug bites when default ADDR_CORRECT is used. */ - -#define ADDR_CORRECT(x) (x) - -/* Special library needed for linking for Uniplus */ - -#define LIBS_SYSTEM -lnet - -/* A system-specific loader switch is needed. */ - -#define LD_SWITCH_SYSTEM -N -L/lib/libg /usr/lib/unshared.ld - -/* arch-tag: d3f952a9-fef5-45d5-9c1e-c1c32bfef86c - (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 @@ -/* Definitions file for GNU Emacs running SCO Xenix 386 Release 2.2 - Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -/* #define UNIPLUS */ -#define XENIX -#define USG5 -#define USG -/* #define HPUX */ -/* #define UMAX */ -/* #define BSD4_1 */ -/* #define BSD4_2 */ -/* #define BSD4_3 */ -/* #define BSD_SYSTEM */ -/* #define VMS */ - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "xenix" - -/* NOMULTIPLEJOBS should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -#define NOMULTIPLEJOBS - -/* Emacs can read input using SIGIO and buffering characters itself, - or using CBREAK mode and making C-g cause SIGINT. - The choice is controlled by the variable interrupt_input. - Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) - - SIGIO can be used only on systems that implement it (4.2 and 4.3). - CBREAK mode has two disadvantages: - 1) At least in 4.2, it is impossible to handle the Meta key properly. - I hear that in system V this problem does not exist. - 2) Control-G causes output to be discarded. - I do not know whether this can be fixed in system V. - - Another method of doing input is planned but not implemented. - It would have Emacs fork off a separate process - to read the input and send it to the true Emacs process - through a pipe. -*/ - -/* #define INTERRUPT_INPUT */ - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'p' means it is /dev/ptyp0 */ - -/* #define FIRST_PTY_LETTER 'p' */ - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -/* #define HAVE_PTYS */ - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -/* #define HAVE_SOCKETS */ - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -#define NONSYSTEM_DIR_LIBRARY - -/* Define this symbol if your system has the functions bcopy, etc. */ - -/* #define BSTRING */ - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is supposed to work now on system V release 2. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ - -/* Xenix requires completely different unexec code - which lives in a separate file. Specify the file name. */ - -#define UNEXEC unexenix.o - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -#define MAIL_USE_FLOCK - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* The way this is implemented requires long filenames... */ -/* #define CLASH_DETECTION */ - -/* Define SHORTNAMES if the C compiler can distinguish only - short names. It means that the stuff in ../shortnames - must be run to convert the long names to short ones. */ - -/* #define SHORTNAMES */ - -/* Compensate for one incompatibility between Xenix and V.0. */ -#define n_zeroes n_name[0] - -/* The file containing the kernel's symbol table is called /xenix. */ - -#define KERNEL_FILE "/xenix" - -/* The symbol in the kernel where the load average is found - is named avenrun. */ - -#define LDAV_SYMBOL "_avenrun" - -/* Special hacks needed to make Emacs run on this system. */ - -/* - * Make the sigsetmask function go away. Don't know what the - * ramifications of this are, but doesn't seem possible to - * emulate it properly anyway at this point. - */ - -#define sigsetmask(mask) /* Null expansion */ - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, - but they will run slower. */ - -#define _setjmp setjmp -#define _longjmp longjmp - -/* On USG systems these have different names */ - -#define index strchr -#define rindex strrchr - -/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ - -#define ADDR_CORRECT(x) (x) - -/* Prevent -lg from being used for debugging. Not implemented? */ - -#define LIBS_DEBUG - -/* Switches for linking temacs. */ - -#define LD_SWITCH_SYSTEM -i - -/* Xenix implements sysV style IPC. */ - -#define HAVE_SYSVIPC - -/* Use terminfo instead of termcap. */ - -/* Tell Emacs to use Terminfo. */ - -#define TERMINFO - -/* Tell Xenix curses to BE Terminfo. */ -#define M_TERMINFO - -/* Control program name for etc/fakemail to run. */ - -#ifdef SMAIL -#define MAIL_PROGRAM_NAME "/usr/bin/smail -q0" -#else -#define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail" -#endif - -/* Some variants have TIOCGETC, but the structures to go with it - are not declared. */ - -#define BROKEN_TIOCGETC - -/* arch-tag: 71d3985d-4e53-4572-8276-5dce26bbd076 - (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. */ /* Including stdlib.h isn't necessarily enough to get srandom declared, e.g. without __USE_XOPEN_EXTENDED with glibc 2. */ #ifdef HAVE_RANDOM -#if 0 /* It turns out that defining _OSF_SOURCE in osf5-0.h gets - random prototyped as returning `int'. It looks to me as - though the best way to DTRT is to prefer the rand48 functions - (per libc.info). -- fx */ -extern long int random P_ ((void)); -#endif #if 0 /* Don't prototype srandom; it takes an unsigned argument on some systems, and an unsigned long on others, like FreeBSD 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 @@ -/* unexapollo.c -- COFF File UNEXEC for GNU Emacs on Apollo SR10.x - Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -/* Written by Leonard N. Zubkoff. */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <fcntl.h> - - -#include <a.out.h> -#include <sys/file.h> -#include <apollo/base.h> -#include <apollo/ios.h> -#include <apollo/type_uids.h> -#include <apollo/dst.h> - - -#define DST_RECORD_HDR_SIZE 2 -#define LONG_ALIGN(X) (((X)+3)&(~3)) - - -void -unexec (target_file_name, source_file_name) - char *target_file_name, *source_file_name; -{ - struct filehdr file_header; - struct aouthdr domain_header; - struct scnhdr *section, *sections, *sections_limit; - struct scnhdr *first_data_section, *last_data_section; - struct scnhdr *rwdi_section, *blocks_section; - struct reloc reloc_entry; - unsigned long data_size, old_data_section_size, source_file_offset_past_rwdi; - unsigned char buffer[4096]; - long delta_before_rwdi, delta_after_rwdi, byte_count; - long first_changed_vaddr, old_rwdi_vaddr, i; - ios_$id_t target_file, source_file; - status_$t status; - /* Open the Source File. */ - if ((source_file = open (source_file_name, O_RDONLY)) < 0) - error ("cannot open source file for input"); - /* Read the File Header. */ - if (read (source_file, &file_header, sizeof (file_header)) != sizeof (file_header)) - error ("cannot read file header"); - - /* Read the Domain Header. */ - if (read (source_file, &domain_header, sizeof (domain_header)) - != sizeof (domain_header)) - error ("cannot read domain header"); - /* Read the Section Headers. */ - sections = - (struct scnhdr *) malloc (file_header.f_nscns*sizeof (struct scnhdr)); - if (sections == (struct scnhdr *) 0) - error ("cannot allocate section header storage"); - sections_limit = sections + file_header.f_nscns; - if (read (source_file, sections, file_header.f_nscns*sizeof (struct scnhdr)) - != file_header.f_nscns*sizeof (struct scnhdr)) - error ("cannot read section headers"); - /* Compute the new Size of the Data Section. */ - data_size = sbrk (0) - domain_header.data_start; - delta_before_rwdi = delta_after_rwdi = data_size - domain_header.dsize; - old_rwdi_vaddr = 0; - /* Find and Deallocate the .rwdi Section Information. */ - for (rwdi_section = sections; rwdi_section != sections_limit; rwdi_section++) - if (strcmp (rwdi_section->s_name, ".rwdi") == 0) - { - /* If there are relocation entries, we cannot "unrelocate" them. */ - if (rwdi_section->s_nreloc > 0) - error (".rwdi section needs relocation - cannot dump Emacs"); - delta_after_rwdi = delta_before_rwdi - rwdi_section->s_size; - old_rwdi_vaddr = rwdi_section->s_vaddr; - rwdi_section->s_paddr = 0; - rwdi_section->s_vaddr = 0; - rwdi_section->s_scnptr = 0; - rwdi_section->s_size = 0; - source_file_offset_past_rwdi = (rwdi_section+1)->s_scnptr; - break; - } - /* Skip over the Text Section Headers. */ - for (section = sections; (section->s_flags & STYP_TEXT) != 0; section++) ; - /* - Find the First and Last Data Sections and Fixup - Section Header Relocation Pointers. - */ - first_data_section = last_data_section = (struct scnhdr *) 0; - for (; section != sections_limit; section++) - { - if ((section->s_flags & STYP_DATA) != 0) - { - if (first_data_section == (struct scnhdr *) 0) - first_data_section = section; - last_data_section = section; - } - if (section->s_relptr != 0) - section->s_relptr += delta_after_rwdi; - } - /* Increment the Size of the Last Data Section. */ - old_data_section_size = last_data_section->s_size; - last_data_section->s_size += delta_before_rwdi; - - /* Update the File Header and Domain Header. */ - file_header.f_symptr += delta_after_rwdi; - domain_header.dsize = data_size; - domain_header.bsize = 0; - /* Skip over subsequent Bss Section Headers. */ - for (section = last_data_section+1; - (section->s_flags & STYP_BSS) != 0; section++) ; - /* Update the remaining Section Headers. */ - blocks_section = (struct scnhdr *) 0; - first_changed_vaddr = 0; - for (; section != sections_limit; section++) - { - long delta = (section < rwdi_section ? delta_before_rwdi : delta_after_rwdi); - if (section->s_paddr != 0) - section->s_paddr += delta; - if (section->s_vaddr != 0) - { - if (first_changed_vaddr == 0) - first_changed_vaddr = section->s_vaddr; - section->s_vaddr += delta; - } - if (section->s_scnptr != 0) - section->s_scnptr += delta; - if (strcmp (section->s_name, ".blocks") == 0) - blocks_section = section; - else if (strcmp (section->s_name, ".sri") == 0 && - domain_header.o_sri != 0) - domain_header.o_sri += delta; - else if (strcmp (section->s_name, ".inlib") == 0 && - domain_header.o_inlib != 0) - domain_header.o_inlib += delta; - } - /* Open the Target File. */ - ios_$create (target_file_name, strlen (target_file_name), coff_$uid, - ios_$recreate_mode, ios_$write_opt, &target_file, &status); - if (status.all != status_$ok) - error ("cannot open target file for output"); - /* Write the File Header. */ - if (write (target_file, &file_header, sizeof (file_header)) != sizeof (file_header)) - error ("cannot write file header"); - /* Write the Domain Header. */ - if (write (target_file, &domain_header, sizeof (domain_header)) - != sizeof (domain_header)) - error ("cannot write domain header"); - /* Write the Section Headers. */ - if (write (target_file, sections, file_header.f_nscns*sizeof (struct scnhdr)) - != file_header.f_nscns*sizeof (struct scnhdr)) - error ("cannot write section headers"); - /* Copy the Allocated Sections. */ - for (section = sections; section != first_data_section; section++) - if (section->s_scnptr != 0) - CopyData (target_file, source_file, LONG_ALIGN(section->s_size)); - /* Write the Expanded Data Segment. */ - if (write (target_file, first_data_section->s_vaddr, data_size) != data_size) - error ("cannot write new data section"); - - /* Skip over the Last Data Section and Copy until the .rwdi Section. */ - if (lseek (source_file, last_data_section->s_scnptr - +old_data_section_size, L_SET) == -1) - error ("cannot seek past data section"); - for (section = last_data_section+1; section != rwdi_section; section++) - if (section->s_scnptr != 0) - CopyData (target_file, source_file, LONG_ALIGN(section->s_size)); - /* Skip over the .rwdi Section and Copy Remainder of Source File. */ - if (lseek (source_file, source_file_offset_past_rwdi, L_SET) == -1) - error ("cannot seek past .rwdi section"); - while ((byte_count = read (source_file, buffer, sizeof (buffer))) > 0) - if (write (target_file, buffer, byte_count) != byte_count) - error ("cannot write data"); - /* Unrelocate .data references to Global Symbols. */ - for (section = first_data_section; section <= last_data_section; section++) - for (i = 0; i < section->s_nreloc; i++) - { - if (lseek (source_file, section->s_relptr - +i*sizeof (struct reloc)-delta_after_rwdi, L_SET) == -1) - error ("cannot seek to relocation info"); - if (read (source_file, &reloc_entry, sizeof (reloc_entry)) - != sizeof (reloc_entry)) - error ("cannot read reloc entry"); - if (lseek (source_file, reloc_entry.r_vaddr-section->s_vaddr - +section->s_scnptr, L_SET) == -1) - error ("cannot seek to data element"); - if (lseek (target_file, reloc_entry.r_vaddr-section->s_vaddr - +section->s_scnptr, L_SET) == -1) - error ("cannot seek to data element"); - if (read (source_file, buffer, 4) != 4) - error ("cannot read data element"); - if (write (target_file, buffer, 4) != 4) - error ("cannot write data element"); - } - - /* Correct virtual addresses in .blocks section. */ - if (blocks_section != (struct scnhdr *) 0) - { - dst_rec_t dst_record; - dst_rec_comp_unit_t *comp_unit; - unsigned short number_of_sections; - unsigned long section_base; - unsigned long section_offset = 0; - /* Find section tables and update section base addresses. */ - while (section_offset < blocks_section->s_size) - { - if (lseek (target_file, - blocks_section->s_scnptr+section_offset, L_SET) == -1) - error ("cannot seek to comp unit record"); - /* Handle pad records before the comp unit record. */ - if (read (target_file, &dst_record, DST_RECORD_HDR_SIZE) - != DST_RECORD_HDR_SIZE) - error ("cannot read dst record tag"); - if (dst_record.rec_type == dst_typ_pad) - section_offset += DST_RECORD_HDR_SIZE; - else if (dst_record.rec_type == dst_typ_comp_unit) - { - comp_unit = &dst_record.rec_data.comp_unit_; - if (read (target_file, comp_unit, sizeof (*comp_unit)) - != sizeof (*comp_unit)) - error ("cannot read comp unit record"); - if (lseek (target_file, blocks_section->s_scnptr - +section_offset -#if dst_version_major == 1 && dst_version_minor < 4 - +comp_unit->section_table -#else - +comp_unit->section_table.rel_offset -#endif - +DST_RECORD_HDR_SIZE, - L_SET) == -1) - error ("cannot seek to section table"); - if (read (target_file, &number_of_sections, sizeof (number_of_sections)) - != sizeof (number_of_sections)) - error ("cannot read section table size"); - for (i = 0; i < number_of_sections; i++) - { - if (read (target_file, §ion_base, sizeof (section_base)) - != sizeof (section_base)) - error ("cannot read section base value"); - if (section_base < first_changed_vaddr) - continue; - else if (section_base < old_rwdi_vaddr) - section_base += delta_before_rwdi; - else section_base += delta_after_rwdi; - if (lseek (target_file, -sizeof (section_base), L_INCR) == -1) - error ("cannot seek to section base value"); - if (write (target_file, §ion_base, sizeof (section_base)) - != sizeof (section_base)) - error ("cannot write section base"); - } - section_offset += comp_unit->data_size; - } - else error ("unexpected dst record type"); - } - } - - if (close (source_file) == -1) - error("cannot close source file"); - if (close (target_file) == -1) - error ("cannot close target file"); -} - - -static -CopyData (target_file, source_file, total_byte_count) - int target_file, source_file; - long total_byte_count; -{ - unsigned char buffer[4096]; - long byte_count; - while (total_byte_count > 0) - { - if (total_byte_count > sizeof (buffer)) - byte_count = sizeof (buffer); - else byte_count = total_byte_count; - if (read (source_file, buffer, byte_count) != byte_count) - error ("cannot read data"); - if (write (target_file, buffer, byte_count) != byte_count) - error ("cannot write data"); - total_byte_count -= byte_count; - } -} - -/* arch-tag: 783ebbdf-7d26-4df8-9469-17a1747dce96 - (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 @@ -/* Modified version of unexec for convex machines. - Note that the GNU project considers support for the peculiarities - of the Convex operating system a peripheral activity which should - not be allowed to divert effort from development of the GNU system. - Changes in this code will be installed when Convex system - maintainers send them in, but aside from that we don't plan to - think about it, or about whether other Emacs maintenance might - break it. - - Copyright (C) 1985, 1986, 1988, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - -/* modified for C-1 arch by jthomp@convex 871103 */ -/* Corrected to support convex SOFF object file formats and thread specific - * regions. streepy@convex 890302 -*/ - -/* - * unexec.c - Convert a running program into an a.out file. - * - * Author: Spencer W. Thomas - * Computer Science Dept. - * University of Utah - * Date: Tue Mar 2 1982 - * Modified heavily since then. - * - * Synopsis: - * unexec (new_name, a_name, data_start, bss_start, entry_address) - * char *new_name, *a_name; - * unsigned data_start, bss_start, entry_address; - * - * Takes a snapshot of the program and makes an a.out format file in the - * file named by the string argument new_name. - * If a_name is non-NULL, the symbol table will be taken from the given file. - * On some machines, an existing a_name file is required. - * - * The boundaries within the a.out file may be adjusted with the data_start - * and bss_start arguments. Either or both may be given as 0 for defaults. - * - * Data_start gives the boundary between the text segment and the data - * segment of the program. The text segment can contain shared, read-only - * program code and literal data, while the data segment is always unshared - * and unprotected. Data_start gives the lowest unprotected address. - * The value you specify may be rounded down to a suitable boundary - * as required by the machine you are using. - * - * Specifying zero for data_start means the boundary between text and data - * should not be the same as when the program was loaded. - * If NO_REMAP is defined, the argument data_start is ignored and the - * segment boundaries are never changed. - * - * Bss_start indicates how much of the data segment is to be saved in the - * a.out file and restored when the program is executed. It gives the lowest - * unsaved address, and is rounded up to a page boundary. The default when 0 - * is given assumes that the entire data segment is to be stored, including - * the previous data and bss as well as any additional storage allocated with - * break (2). - * - * The new file is set up to start at entry_address. - * - * If you make improvements I'd like to get them too. - * harpo!utah-cs!thomas, thomas@Utah-20 - * - */ - -/* There are several compilation parameters affecting unexec: - -* COFF - -Define this if your system uses COFF for executables. -Otherwise we assume you use Berkeley format. - -* NO_REMAP - -Define this if you do not want to try to save Emacs's pure data areas -as part of the text segment. - -Saving them as text is good because it allows users to share more. - -However, on machines that locate the text area far from the data area, -the boundary cannot feasibly be moved. Such machines require -NO_REMAP. - -Also, remapping can cause trouble with the built-in startup routine -/lib/crt0.o, which defines `environ' as an initialized variable. -Dumping `environ' as pure does not work! So, to use remapping, -you must write a startup routine for your machine in Emacs's crt0.c. -If NO_REMAP is defined, Emacs uses the system's crt0.o. - -* SECTION_ALIGNMENT - -Some machines that use COFF executables require that each section -start on a certain boundary *in the COFF file*. Such machines should -define SECTION_ALIGNMENT to a mask of the low-order bits that must be -zero on such a boundary. This mask is used to control padding between -segments in the COFF file. - -If SECTION_ALIGNMENT is not defined, the segments are written -consecutively with no attempt at alignment. This is right for -unmodified system V. - -* SEGMENT_MASK - -Some machines require that the beginnings and ends of segments -*in core* be on certain boundaries. For most machines, a page -boundary is sufficient. That is the default. When a larger -boundary is needed, define SEGMENT_MASK to a mask of -the bits that must be zero on such a boundary. - -* A_TEXT_OFFSET(HDR) - -Some machines count the a.out header as part of the size of the text -segment (a_text); they may actually load the header into core as the -first data in the text segment. Some have additional padding between -the header and the real text of the program that is counted in a_text. - -For these machines, define A_TEXT_OFFSET(HDR) to examine the header -structure HDR and return the number of bytes to add to `a_text' -before writing it (above and beyond the number of bytes of actual -program text). HDR's standard fields are already correct, except that -this adjustment to the `a_text' field has not yet been made; -thus, the amount of offset can depend on the data in the file. - -* A_TEXT_SEEK(HDR) - -If defined, this macro specifies the number of bytes to seek into the -a.out file before starting to write the text segment.a - -* EXEC_MAGIC - -For machines using COFF, this macro, if defined, is a value stored -into the magic number field of the output file. - -* ADJUST_EXEC_HEADER - -This macro can be used to generate statements to adjust or -initialize nonstandard fields in the file header - -* ADDR_CORRECT(ADDR) - -Macro to correct an int which is the bit pattern of a pointer to a byte -into an int which is the number of a byte. - -This macro has a default definition which is usually right. -This default definition is a no-op on most machines (where a -pointer looks like an int) but not on all machines. - -*/ - -#include <config.h> -#define PERROR(file) report_error (file, new) - -#include <a.out.h> -/* Define getpagesize () if the system does not. - Note that this may depend on symbols defined in a.out.h - */ -#include "getpagesize.h" - -#include <sys/types.h> -#include <stdio.h> -#include <sys/stat.h> -#include <errno.h> - -extern char *start_of_text (); /* Start of text */ -extern char *start_of_data (); /* Start of initialized data */ - -#include <machine/filehdr.h> -#include <machine/opthdr.h> -#include <machine/scnhdr.h> -#include <machine/pte.h> - -static long block_copy_start; /* Old executable start point */ -static struct filehdr f_hdr; /* File header */ -static struct opthdr f_ohdr; /* Optional file header (a.out) */ -long bias; /* Bias to add for growth */ -#define SYMS_START block_copy_start - -static long text_scnptr; -static long data_scnptr; - -static int pagemask; -static int pagesz; - -static -report_error (file, fd) - char *file; - int fd; -{ - if (fd) - close (fd); - error ("Failure operating on %s", file); -} - -#define ERROR0(msg) report_error_1 (new, msg, 0, 0); return -1 -#define ERROR1(msg,x) report_error_1 (new, msg, x, 0); return -1 -#define ERROR2(msg,x,y) report_error_1 (new, msg, x, y); return -1 - -static -report_error_1 (fd, msg, a1, a2) -int fd; -char *msg; -int a1, a2; -{ - close (fd); - error (msg, a1, a2); -} - -/* **************************************************************** - * unexec - * - * driving logic. - */ -unexec (new_name, a_name, data_start, bss_start, entry_address) -char *new_name, *a_name; -unsigned data_start, bss_start, entry_address; -{ - int new, a_out = -1; - - if (a_name && (a_out = open (a_name, 0)) < 0) { - PERROR (a_name); - } - if ((new = creat (new_name, 0666)) < 0) { - PERROR (new_name); - } - - if (make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) < 0 - || copy_text_and_data (new) < 0 - || copy_sym (new, a_out, a_name, new_name) < 0 ) { - close (new); - return -1; - } - - close (new); - if (a_out >= 0) - close (a_out); - mark_x (new_name); - return 0; -} - -/* **************************************************************** - * make_hdr - * - * Make the header in the new a.out from the header in core. - * Modify the text and data sizes. - */ - - struct scnhdr *stbl; /* Table of all scnhdr's */ - struct scnhdr *f_thdr; /* Text section header */ - struct scnhdr *f_dhdr; /* Data section header */ - struct scnhdr *f_tdhdr; /* Thread Data section header */ - struct scnhdr *f_bhdr; /* Bss section header */ - struct scnhdr *f_tbhdr; /* Thread Bss section header */ - -static int -make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) - int new, a_out; - unsigned data_start, bss_start, entry_address; - char *a_name; - char *new_name; -{ - register int scns; - unsigned int bss_end; - unsigned int eo_data; /* End of initialized data in new exec file */ - int scntype; /* Section type */ - int i; /* Var for sorting by vaddr */ - struct scnhdr scntemp; /* For swapping entries in sort */ - extern char *start_of_data(); - - pagemask = (pagesz = getpagesize()) - 1; - - /* Adjust text/data boundary. */ - if (!data_start) - data_start = (unsigned) start_of_data (); - - data_start = data_start & ~pagemask; /* (Down) to page boundary. */ - - bss_end = (sbrk(0) + pagemask) & ~pagemask; - - /* Adjust data/bss boundary. */ - if (bss_start != 0) { - bss_start = (bss_start + pagemask) & ~pagemask;/* (Up) to page bdry. */ - if (bss_start > bss_end) { - ERROR1 ("unexec: Specified bss_start (%x) is past end of program", - bss_start); - } - } else - bss_start = bss_end; - - if (data_start > bss_start) { /* Can't have negative data size. */ - ERROR2 ("unexec: data_start (%x) can't be greater than bss_start (%x)", - data_start, bss_start); - } - - /* Salvage as much info from the existing file as possible */ - if (a_out < 0) { - ERROR0 ("can't build a COFF file from scratch yet"); - /*NOTREACHED*/ - } - - if (read (a_out, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) { - PERROR (a_name); - } - block_copy_start += sizeof (f_hdr); - if (f_hdr.h_opthdr > 0) { - if (read (a_out, &f_ohdr, sizeof (f_ohdr)) != sizeof (f_ohdr)) { - PERROR (a_name); - } - block_copy_start += sizeof (f_ohdr); - } - - /* Allocate room for scn headers */ - stbl = (struct scnhdr *)malloc( sizeof(struct scnhdr) * f_hdr.h_nscns ); - if( stbl == NULL ) { - ERROR0( "unexec: malloc of stbl failed" ); - } - - f_tdhdr = f_tbhdr = NULL; - - /* Loop through section headers, copying them in */ - for (scns = 0; scns < f_hdr.h_nscns; scns++) { - - if( read( a_out, &stbl[scns], sizeof(*stbl)) != sizeof(*stbl)) { - PERROR (a_name); - } - - scntype = stbl[scns].s_flags & S_TYPMASK; /* What type of section */ - - if( stbl[scns].s_scnptr > 0L) { - if( block_copy_start < stbl[scns].s_scnptr + stbl[scns].s_size ) - block_copy_start = stbl[scns].s_scnptr + stbl[scns].s_size; - } - - if( scntype == S_TEXT) { - f_thdr = &stbl[scns]; - } else if( scntype == S_DATA) { - f_dhdr = &stbl[scns]; -#ifdef S_TDATA - } else if( scntype == S_TDATA ) { - f_tdhdr = &stbl[scns]; - } else if( scntype == S_TBSS ) { - f_tbhdr = &stbl[scns]; -#endif /* S_TDATA (thread stuff) */ - - } else if( scntype == S_BSS) { - f_bhdr = &stbl[scns]; - } - - } - - /* We will now convert TEXT and DATA into TEXT, BSS into DATA, and leave - * all thread stuff alone. - */ - - /* Now we alter the contents of all the f_*hdr variables - to correspond to what we want to dump. */ - - f_thdr->s_vaddr = (long) start_of_text (); - f_thdr->s_size = data_start - f_thdr->s_vaddr; - f_thdr->s_scnptr = pagesz; - f_thdr->s_relptr = 0; - f_thdr->s_nrel = 0; - - eo_data = f_thdr->s_scnptr + f_thdr->s_size; - - if( f_tdhdr ) { /* Process thread data */ - - f_tdhdr->s_vaddr = data_start; - f_tdhdr->s_size += f_dhdr->s_size - (data_start - f_dhdr->s_vaddr); - f_tdhdr->s_scnptr = eo_data; - f_tdhdr->s_relptr = 0; - f_tdhdr->s_nrel = 0; - - eo_data += f_tdhdr->s_size; - - /* And now for DATA */ - - f_dhdr->s_vaddr = f_bhdr->s_vaddr; /* Take BSS start address */ - f_dhdr->s_size = bss_end - f_bhdr->s_vaddr; - f_dhdr->s_scnptr = eo_data; - f_dhdr->s_relptr = 0; - f_dhdr->s_nrel = 0; - - eo_data += f_dhdr->s_size; - - } else { - - f_dhdr->s_vaddr = data_start; - f_dhdr->s_size = bss_start - data_start; - f_dhdr->s_scnptr = eo_data; - f_dhdr->s_relptr = 0; - f_dhdr->s_nrel = 0; - - eo_data += f_dhdr->s_size; - - } - - f_bhdr->s_vaddr = bss_start; - f_bhdr->s_size = bss_end - bss_start + pagesz /* fudge */; - f_bhdr->s_scnptr = 0; - f_bhdr->s_relptr = 0; - f_bhdr->s_nrel = 0; - - text_scnptr = f_thdr->s_scnptr; - data_scnptr = f_dhdr->s_scnptr; - bias = eo_data - block_copy_start; - - if (f_ohdr.o_symptr > 0L) { - f_ohdr.o_symptr += bias; - } - - if (f_hdr.h_strptr > 0) { - f_hdr.h_strptr += bias; - } - - if (write (new, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) { - PERROR (new_name); - } - - if (write (new, &f_ohdr, sizeof (f_ohdr)) != sizeof (f_ohdr)) { - PERROR (new_name); - } - - for( scns = 0; scns < f_hdr.h_nscns; scns++ ) { - - /* This is a cheesy little loop to write out the section headers - * in order of increasing virtual address. Dull but effective. - */ - - for( i = scns+1; i < f_hdr.h_nscns; i++ ) { - if( stbl[i].s_vaddr < stbl[scns].s_vaddr ) { /* Swap */ - scntemp = stbl[i]; - stbl[i] = stbl[scns]; - stbl[scns] = scntemp; - } - } - - } - - for( scns = 0; scns < f_hdr.h_nscns; scns++ ) { - - if( write( new, &stbl[scns], sizeof(*stbl)) != sizeof(*stbl)) { - PERROR (new_name); - } - - } - - return (0); - -} - -/* **************************************************************** - * copy_text_and_data - * - * Copy the text and data segments from memory to the new a.out - */ -static int -copy_text_and_data (new) -int new; -{ - register int scns; - - for( scns = 0; scns < f_hdr.h_nscns; scns++ ) - write_segment( new, &stbl[scns] ); - - return 0; -} - -write_segment( new, sptr ) -int new; -struct scnhdr *sptr; -{ - register char *ptr, *end; - register int nwrite, ret; - char buf[80]; - extern int errno; - char zeros[128]; - - if( sptr->s_scnptr == 0 ) - return; /* Nothing to do */ - - if( lseek( new, (long) sptr->s_scnptr, 0 ) == -1 ) - PERROR( "unexecing" ); - - bzero (zeros, sizeof zeros); - - ptr = (char *) sptr->s_vaddr; - end = ptr + sptr->s_size; - - while( ptr < end ) { - - /* distance to next multiple of 128. */ - nwrite = (((int) ptr + 128) & -128) - (int) ptr; - /* But not beyond specified end. */ - if (nwrite > end - ptr) nwrite = end - ptr; - ret = write (new, ptr, nwrite); - /* If write gets a page fault, it means we reached - a gap between the old text segment and the old data segment. - This gap has probably been remapped into part of the text segment. - So write zeros for it. */ - if (ret == -1 && errno == EFAULT) - write (new, zeros, nwrite); - else if (nwrite != ret) { - sprintf (buf, - "unexec write failure: addr 0x%x, fileno %d, size 0x%x, wrote 0x%x, errno %d", - ptr, new, nwrite, ret, errno); - PERROR (buf); - } - ptr += nwrite; - } -} - -/* **************************************************************** - * copy_sym - * - * Copy the relocation information and symbol table from the a.out to the new - */ -static int -copy_sym (new, a_out, a_name, new_name) - int new, a_out; - char *a_name, *new_name; -{ - char page[1024]; - int n; - - if (a_out < 0) - return 0; - - if (SYMS_START == 0L) - return 0; - - lseek (a_out, SYMS_START, 0); /* Position a.out to symtab. */ - lseek( new, (long)f_ohdr.o_symptr, 0 ); - - while ((n = read (a_out, page, sizeof page)) > 0) { - if (write (new, page, n) != n) { - PERROR (new_name); - } - } - if (n < 0) { - PERROR (a_name); - } - return 0; -} - -/* **************************************************************** - * mark_x - * - * After successfully building the new a.out, mark it executable - */ -static -mark_x (name) -char *name; -{ - struct stat sbuf; - int um; - int new = 0; /* for PERROR */ - - um = umask (777); - umask (um); - if (stat (name, &sbuf) == -1) { - PERROR (name); - } - sbuf.st_mode |= 0111 & ~um; - if (chmod (name, sbuf.st_mode) == -1) - PERROR (name); -} - -/* Find the first pty letter. This is usually 'p', as in ptyp0, but - is sometimes configured down to 'm', 'n', or 'o' for some reason. */ - -first_pty_letter () -{ - struct stat buf; - char pty_name[16]; - char c; - - for (c = 'o'; c >= 'a'; c--) - { - sprintf (pty_name, "/dev/pty%c0", c); - if (stat (pty_name, &buf) < 0) - return c + 1; - } - return 'a'; -} - -/* arch-tag: 8199e06d-69b5-4f79-84d8-00f6ea929af9 - (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 @@ -/* Unexec for Xenix. - Note that the GNU project considers support for Xenix operation - a peripheral activity which should not be allowed to divert effort - from development of the GNU system. Changes in this code will be - installed when Xenix users send them in, but aside from that - we don't plan to think about it, or about whether other Emacs - maintenance might break it. - - Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - - - -/* - On 80386 Xenix, segmentation screws prevent us from modifying the text - segment at all. We basically just plug a new value for "data segment - size" into the countless headers and copy the other records straight - through. The data segment is ORG'ed at the xs_rbase value of the data - segment's xseg record (always @ 0x1880000, thanks to the "sophisticated - memory management hardware" of the chip) and extends to sbrk(0), exactly. - This code is afraid to malloc (should it be?), and alloca has to be the - wimpy, malloc-based version; consequently, data is usually copied in - smallish chunks. - - gb@entity.com -*/ - -#include <config.h> -#include <sys/types.h> -#include <fcntl.h> -#include <sys/file.h> -#include <sys/stat.h> -#include <stdio.h> -#include <varargs.h> -#include <a.out.h> - -static void fatal_unexec (); - -#define READ(_fd, _buffer, _size, _error_message, _error_arg) \ - errno = EEOF; \ - if (read(_fd, _buffer, _size) != _size) \ - fatal_unexec(_error_message, _error_arg); - -#define WRITE(_fd, _buffer, _size, _error_message, _error_arg) \ - if (write(_fd, _buffer, _size) != _size) \ - fatal_unexec(_error_message, _error_arg); - -#define SEEK(_fd, _position, _error_message, _error_arg) \ - errno = EEOF; \ - if (lseek(_fd, _position, L_SET) != _position) \ - fatal_unexec(_error_message, _error_arg); - -extern int errno; -extern char *strerror (); -#define EEOF -1 - -#ifndef L_SET -#define L_SET 0 -#endif - -/* Should check the magic number of the old executable; - not yet written. */ -check_exec (x) - struct xexec *x; -{ -} - - -unexec (new_name, a_name, data_start, bss_start, entry_address) - char *new_name, *a_name; - unsigned data_start, bss_start, entry_address; -{ - char *sbrk (), *datalim = sbrk (0), *data_org; - long segpos, textseen, textpos, textlen, datapos, datadiff, datalen; - - struct xexec u_xexec, /* a.out header */ - *u_xexecp = &u_xexec; - struct xext u_xext, /* extended header */ - *u_xextp = &u_xext; - struct xseg u_xseg, /* segment table entry */ - *u_xsegp = &u_xseg; - int i, nsegs, isdata = 0, infd, outfd; - - infd = open (a_name, O_RDONLY, 0); - if (infd < 0) fatal_unexec ("opening %s", a_name); - - outfd = creat (new_name, 0666); - if (outfd < 0) fatal_unexec ("creating %s", new_name); - - READ (infd, u_xexecp, sizeof (struct xexec), - "error reading %s", a_name); - check_exec (u_xexecp); - READ (infd, u_xextp, sizeof (struct xext), - "error reading %s", a_name); - segpos = u_xextp->xe_segpos; - nsegs = u_xextp->xe_segsize / sizeof (struct xseg); - SEEK (infd, segpos, "seek error on %s", a_name); - for (i = 0; i < nsegs; i ++) - { - READ (infd, u_xsegp, sizeof (struct xseg), - "error reading %s", a_name); - switch (u_xsegp->xs_type) - { - case XS_TTEXT: - { - if (i == 0) - { - textpos = u_xsegp->xs_filpos; - textlen = u_xsegp->xs_psize; - break; - } - fatal_unexec ("invalid text segment in %s", a_name); - } - case XS_TDATA: - { - if (i == 1) - { - datapos = u_xsegp->xs_filpos; - datalen = datalim - (data_org = (char *)(u_xsegp->xs_rbase)); - datadiff = datalen - u_xsegp->xs_psize; - break; - } - fatal_unexec ("invalid data segment in %s", a_name); - } - default: - { - if (i > 1) break; - fatal_unexec ("invalid segment record in %s", a_name); - } - } - } - u_xexecp->x_data = datalen; - u_xexecp->x_bss = 0; - WRITE (outfd, u_xexecp, sizeof (struct xexec), - "error writing %s", new_name); - WRITE (outfd, u_xextp, sizeof (struct xext), - "error writing %s", new_name); - SEEK (infd, segpos, "seek error on %s", a_name); - SEEK (outfd, segpos, "seek error on %s", new_name); - - /* Copy the text segment record verbatim. */ - - copyrec (infd, outfd, sizeof (struct xseg), a_name, new_name); - - /* Read, modify, write the data segment record. */ - - READ (infd, u_xsegp, sizeof (struct xseg), - "error reading %s", a_name); - u_xsegp->xs_psize = u_xsegp->xs_vsize = datalen; - u_xsegp->xs_attr &= (~XS_AITER & ~XS_ABSS); - WRITE (outfd, u_xsegp, sizeof (struct xseg), - "error writing %s", new_name); - - /* Now copy any additional segment records, adjusting their - file position field */ - - for (i = 2; i < nsegs; i++) - { - READ (infd, u_xsegp, sizeof (struct xseg), - "error reading %s", a_name); - u_xsegp->xs_filpos += datadiff; - WRITE (outfd, u_xsegp, sizeof (struct xseg), - "error writing %s", new_name); - } - - SEEK (infd, textpos, "seek error on %s", a_name); - SEEK (outfd, textpos, "seek error on %s", new_name); - copyrec (infd, outfd, textlen, a_name, new_name); - - SEEK (outfd, datapos, "seek error on %s", new_name); - WRITE (outfd, data_org, datalen, - "write error on %s", new_name); - - for (i = 2, segpos += (2 * sizeof (struct xseg)); - i < nsegs; - i++, segpos += sizeof (struct xseg)) - { - SEEK (infd, segpos, "seek error on %s", a_name); - READ (infd, u_xsegp, sizeof (struct xseg), - "read error on %s", a_name); - SEEK (infd, u_xsegp->xs_filpos, "seek error on %s", a_name); - /* We should be at eof in the output file here, but we must seek - because the xs_filpos and xs_psize fields in symbol table - segments are inconsistent. */ - SEEK (outfd, u_xsegp->xs_filpos + datadiff, "seek error on %s", new_name); - copyrec (infd, outfd, u_xsegp->xs_psize, a_name, new_name); - } - close (infd); - close (outfd); - mark_x (new_name); - return 0; -} - -copyrec (infd, outfd, len, in_name, out_name) - int infd, outfd, len; - char *in_name, *out_name; -{ - char buf[BUFSIZ]; - int chunk; - - while (len) - { - chunk = BUFSIZ; - if (chunk > len) - chunk = len; - READ (infd, buf, chunk, "error reading %s", in_name); - WRITE (outfd, buf, chunk, "error writing %s", out_name); - len -= chunk; - } -} - -/* - * mark_x - * - * After successfully building the new a.out, mark it executable - */ -static -mark_x (name) - char *name; -{ - struct stat sbuf; - int um = umask (777); - umask (um); - if (stat (name, &sbuf) < 0) - fatal_unexec ("getting protection on %s", name); - sbuf.st_mode |= 0111 & ~um; - if (chmod (name, sbuf.st_mode) < 0) - fatal_unexec ("setting protection on %s", name); -} - -static void -fatal_unexec (s, va_alist) - va_dcl -{ - va_list ap; - if (errno == EEOF) - fputs ("unexec: unexpected end of file, ", stderr); - else - fprintf (stderr, "unexec: %s, ", strerror (errno)); - va_start (ap); - _doprnt (s, ap, stderr); - fputs (".\n", stderr); - exit (1); -} - -/* arch-tag: ce26be27-370a-438d-83b4-766059749a02 - (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 @@ -/* Unexec for Siemens machines running Sinix (modified SVR4). - Copyright (C) 1985, 1986, 1987, 1988, 1990, 1992, 1993, 1994, 1995, 2001, - 2002, 2003, 2004, 2005, 2006, 2007 - Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. - -In other words, you are welcome to use, share and improve this program. -You are forbidden to forbid anyone else to use, share and improve -what you give them. Help stamp out software-hoarding! */ - -/* - * unexec.c - Convert a running program into an a.out file. - * - * Author: Spencer W. Thomas - * Computer Science Dept. - * University of Utah - * Date: Tue Mar 2 1982 - * Modified heavily since then. - * - * Synopsis: - * unexec (new_name, a_name, data_start, bss_start, entry_address) - * char *new_name, *a_name; - * unsigned data_start, bss_start, entry_address; - * - * Takes a snapshot of the program and makes an a.out format file in the - * file named by the string argument new_name. - * If a_name is non-NULL, the symbol table will be taken from the given file. - * On some machines, an existing a_name file is required. - * - * The boundaries within the a.out file may be adjusted with the data_start - * and bss_start arguments. Either or both may be given as 0 for defaults. - * - * Data_start gives the boundary between the text segment and the data - * segment of the program. The text segment can contain shared, read-only - * program code and literal data, while the data segment is always unshared - * and unprotected. Data_start gives the lowest unprotected address. - * The value you specify may be rounded down to a suitable boundary - * as required by the machine you are using. - * - * Specifying zero for data_start means the boundary between text and data - * should not be the same as when the program was loaded. - * If NO_REMAP is defined, the argument data_start is ignored and the - * segment boundaries are never changed. - * - * Bss_start indicates how much of the data segment is to be saved in the - * a.out file and restored when the program is executed. It gives the lowest - * unsaved address, and is rounded up to a page boundary. The default when 0 - * is given assumes that the entire data segment is to be stored, including - * the previous data and bss as well as any additional storage allocated with - * break (2). - * - * The new file is set up to start at entry_address. - * - * If you make improvements I'd like to get them too. - * harpo!utah-cs!thomas, thomas@Utah-20 - * - */ - -/* Even more heavily modified by james@bigtex.cactus.org of Dell Computer Co. - * ELF support added. - * - * Basic theory: the data space of the running process needs to be - * dumped to the output file. Normally we would just enlarge the size - * of .data, scooting everything down. But we can't do that in ELF, - * because there is often something between the .data space and the - * .bss space. - * - * In the temacs dump below, notice that the Global Offset Table - * (.got) and the Dynamic link data (.dynamic) come between .data1 and - * .bss. It does not work to overlap .data with these fields. - * - * The solution is to create a new .data segment. This segment is - * filled with data from the current process. Since the contents of - * various sections refer to sections by index, the new .data segment - * is made the last in the table to avoid changing any existing index. - */ - -/* Modified by wtien@urbana.mcd.mot.com of Motorola Inc. - * - * The above mechanism does not work if the unexeced ELF file is being - * re-layout by other applications (such as `strip'). All the applications - * that re-layout the internal of ELF will layout all sections in ascending - * order of their file offsets. After the re-layout, the data2 section will - * still be the LAST section in the section header vector, but its file offset - * is now being pushed far away down, and causes part of it not to be mapped - * in (ie. not covered by the load segment entry in PHDR vector), therefore - * causes the new binary to fail. - * - * The solution is to modify the unexec algorithm to insert the new data2 - * section header right before the new bss section header, so their file - * offsets will be in the ascending order. Since some of the section's (all - * sections AFTER the bss section) indexes are now changed, we also need to - * modify some fields to make them point to the right sections. This is done - * by macro PATCH_INDEX. All the fields that need to be patched are: - * - * 1. ELF header e_shstrndx field. - * 2. section header sh_link and sh_info field. - * 3. symbol table entry st_shndx field. - */ - -/* - * New modifications for Siemens Nixdorf's MIPS-based machines. - * Marco.Walther@mch.sni.de - * marco@inreach.com - * - * The problem: Before the bss segment we have a so called sbss segment - * (small bss) and maybe an sdata segment. These segments - * must also be handled correct. - * - * /home1/marco/emacs/emacs-19.22/src - * dump -hv temacs - * - * temacs: - * - * **** SECTION HEADER TABLE **** - * [No] Type Flags Addr Offset Size Name - * Link Info Adralgn Entsize - * - * [1] PBIT -A-- 0x4000f4 0xf4 0x13 .interp - * 0 0 0x1 0 - * - * [2] REGI -A-- 0x400108 0x108 0x18 .reginfo - * 0 0 0x4 0x18 - * - * [3] DYNM -A-- 0x400120 0x120 0xb8 .dynamic - * 6 0 0x4 0x8 - * - * [4] HASH -A-- 0x4001d8 0x1d8 0x8a0 .hash - * 5 0 0x4 0x4 - * - * [5] DYNS -A-- 0x400a78 0xa78 0x11f0 .dynsym - * 6 2 0x4 0x10 - * - * [6] STRT -A-- 0x401c68 0x1c68 0xbf9 .dynstr - * 0 0 0x1 0 - * - * [7] REL -A-- 0x402864 0x2864 0x18 .rel.dyn - * 5 14 0x4 0x8 - * - * [8] PBIT -AI- 0x402880 0x2880 0x60 .init - * 0 0 0x10 0x1 - * - * [9] PBIT -AI- 0x4028e0 0x28e0 0x1234 .plt - * 0 0 0x4 0x4 - * - * [10] PBIT -AI- 0x403b20 0x3b20 0xee400 .text - * 0 0 0x20 0x1 - * - * [11] PBIT -AI- 0x4f1f20 0xf1f20 0x60 .fini - * 0 0 0x10 0x1 - * - * [12] PBIT -A-- 0x4f1f80 0xf1f80 0xd90 .rdata - * 0 0 0x10 0x1 - * - * [13] PBIT -A-- 0x4f2d10 0xf2d10 0x17e0 .rodata - * 0 0 0x10 0x1 - * - * [14] PBIT WA-- 0x5344f0 0xf44f0 0x4b3e4 .data <<<<< - * 0 0 0x10 0x1 - * - * [15] PBIT WA-G 0x57f8d4 0x13f8d4 0x2a84 .got - * 0 0 0x4 0x4 - * - * [16] PBIT WA-G 0x582360 0x142360 0x10 .sdata <<<<< - * 0 0 0x10 0x1 - * - * [17] NOBI WA-G 0x582370 0x142370 0xb84 .sbss <<<<< - * 0 0 0x4 0 - * - * [18] NOBI WA-- 0x582f00 0x142370 0x27ec0 .bss <<<<< - * 0 0 0x10 0x1 - * - * [19] SYMT ---- 0 0x142370 0x10e40 .symtab - * 20 1108 0x4 0x10 - * - * [20] STRT ---- 0 0x1531b0 0xed9e .strtab - * 0 0 0x1 0 - * - * [21] STRT ---- 0 0x161f4e 0xb5 .shstrtab - * 0 0 0x1 0 - * - * [22] PBIT ---- 0 0x162003 0x28e2a .comment - * 0 0 0x1 0x1 - * - * [23] PBIT ---- 0 0x18ae2d 0x592 .debug - * 0 0 0x1 0 - * - * [24] PBIT ---- 0 0x18b3bf 0x80 .line - * 0 0 0x1 0 - * - * [25] MDBG ---- 0 0x18b440 0x60 .mdebug - * 0 0 0x4 0 - * - * - * dump -hv emacs - * - * emacs: - * - * **** SECTION HEADER TABLE **** - * [No] Type Flags Addr Offset Size Name - * Link Info Adralgn Entsize - * - * [1] PBIT -A-- 0x4000f4 0xf4 0x13 .interp - * 0 0 0x1 0 - * - * [2] REGI -A-- 0x400108 0x108 0x18 .reginfo - * 0 0 0x4 0x18 - * - * [3] DYNM -A-- 0x400120 0x120 0xb8 .dynamic - * 6 0 0x4 0x8 - * - * [4] HASH -A-- 0x4001d8 0x1d8 0x8a0 .hash - * 5 0 0x4 0x4 - * - * [5] DYNS -A-- 0x400a78 0xa78 0x11f0 .dynsym - * 6 2 0x4 0x10 - * - * [6] STRT -A-- 0x401c68 0x1c68 0xbf9 .dynstr - * 0 0 0x1 0 - * - * [7] REL -A-- 0x402864 0x2864 0x18 .rel.dyn - * 5 14 0x4 0x8 - * - * [8] PBIT -AI- 0x402880 0x2880 0x60 .init - * 0 0 0x10 0x1 - * - * [9] PBIT -AI- 0x4028e0 0x28e0 0x1234 .plt - * 0 0 0x4 0x4 - * - * [10] PBIT -AI- 0x403b20 0x3b20 0xee400 .text - * 0 0 0x20 0x1 - * - * [11] PBIT -AI- 0x4f1f20 0xf1f20 0x60 .fini - * 0 0 0x10 0x1 - * - * [12] PBIT -A-- 0x4f1f80 0xf1f80 0xd90 .rdata - * 0 0 0x10 0x1 - * - * [13] PBIT -A-- 0x4f2d10 0xf2d10 0x17e0 .rodata - * 0 0 0x10 0x1 - * - * [14] PBIT WA-- 0x5344f0 0xf44f0 0x4b3e4 .data <<<<< - * 0 0 0x10 0x1 - * - * [15] PBIT WA-G 0x57f8d4 0x13f8d4 0x2a84 .got - * 0 0 0x4 0x4 - * - * [16] PBIT WA-G 0x582360 0x142360 0xb94 .sdata <<<<< - * 0 0 0x10 0x1 - * - * [17] PBIT WA-- 0x582f00 0x142f00 0x94100 .data <<<<< - * 0 0 0x10 0x1 - * - * [18] NOBI WA-G 0x617000 0x1d7000 0 .sbss <<<<< - * 0 0 0x4 0 - * - * [19] NOBI WA-- 0x617000 0x1d7000 0 .bss <<<<< - * 0 0 0x4 0x1 - * - * [20] SYMT ---- 0 0x1d7000 0x10e40 .symtab - * 21 1109 0x4 0x10 - * - * [21] STRT ---- 0 0x1e7e40 0xed9e .strtab - * 0 0 0x1 0 - * - * [22] STRT ---- 0 0x1f6bde 0xb5 .shstrtab - * 0 0 0x1 0 - * - * [23] PBIT ---- 0 0x1f6c93 0x28e2a .comment - * 0 0 0x1 0x1 - * - * [24] PBIT ---- 0 0x21fabd 0x592 .debug - * 0 0 0x1 0 - * - * [25] PBIT ---- 0 0x22004f 0x80 .line - * 0 0 0x1 0 - * - * [26] MDBG ---- 0 0x2200d0 0x60 .mdebug - * 0 0 0x4 0 - * - */ - -#include <sys/types.h> -#include <stdio.h> -#include <sys/stat.h> -#include <memory.h> -#include <string.h> -#include <errno.h> -#include <unistd.h> -#include <fcntl.h> -#include <elf.h> -#include <sys/mman.h> -#include <assert.h> - -/* #define DEBUG */ - -#ifndef emacs -#define fatal(a, b, c) fprintf(stderr, a, b, c), exit(1) -#else -extern void fatal(char *, ...); -#endif - -/* Get the address of a particular section or program header entry, - * accounting for the size of the entries. - */ - -#define OLD_SECTION_H(n) \ - (*(Elf32_Shdr *) ((byte *) old_section_h + old_file_h->e_shentsize * (n))) -#define NEW_SECTION_H(n) \ - (*(Elf32_Shdr *) ((byte *) new_section_h + new_file_h->e_shentsize * (n))) -#define OLD_PROGRAM_H(n) \ - (*(Elf32_Phdr *) ((byte *) old_program_h + old_file_h->e_phentsize * (n))) -#define NEW_PROGRAM_H(n) \ - (*(Elf32_Phdr *) ((byte *) new_program_h + new_file_h->e_phentsize * (n))) - -#define PATCH_INDEX(n) \ - do { \ - if ((n) >= old_sbss_index) \ - (n) += 1 + (old_sdata_index ? 0 : 1); } while (0) - -typedef unsigned char byte; - -/* Round X up to a multiple of Y. */ - -int -round_up (x, y) - int x, y; -{ - int rem = x % y; - if (rem == 0) - return x; - return x - rem + y; -} - -/* **************************************************************** - * unexec - * - * driving logic. - * - * In ELF, this works by replacing the old .bss section with a new - * .data section, and inserting an empty .bss immediately afterwards. - * - */ -void -unexec (new_name, old_name, data_start, bss_start, entry_address) - char *new_name, *old_name; - unsigned data_start, bss_start, entry_address; -{ - extern unsigned int bss_end; - int new_file, old_file, new_file_size; - - /* Pointers to the base of the image of the two files. */ - caddr_t old_base, new_base; - - /* Pointers to the file, program and section headers for the old and new - * files. - */ - Elf32_Ehdr *old_file_h, *new_file_h; - Elf32_Phdr *old_program_h, *new_program_h; - Elf32_Shdr *old_section_h, *new_section_h; - - /* Point to the section name table in the old file */ - char *old_section_names; - - Elf32_Addr old_bss_addr, new_bss_addr; - Elf32_Addr old_sbss_addr; - Elf32_Word old_bss_size, new_data2_size; - Elf32_Word old_sbss_size, new_data3_size; - Elf32_Off new_data2_offset; - Elf32_Off new_data3_offset; - Elf32_Addr new_data2_addr; - Elf32_Addr new_data3_addr; - - - Elf32_Addr old_rel_dyn_addr; - Elf32_Word old_rel_dyn_size; - int old_rel_dyn_index; - - Elf32_Word old_sdata_size, new_sdata_size; - int old_sdata_index = 0; - - int n, nn, old_data_index, new_data2_align; - int old_bss_index; - int old_sbss_index; - int old_bss_padding; - struct stat stat_buf; - - /* Open the old file & map it into the address space. */ - - old_file = open (old_name, O_RDONLY); - - if (old_file < 0) - fatal ("Can't open %s for reading: errno %d\n", old_name, errno); - - if (fstat (old_file, &stat_buf) == -1) - fatal ("Can't fstat(%s): errno %d\n", old_name, errno); - - old_base = mmap (0, stat_buf.st_size, PROT_READ, MAP_SHARED, old_file, 0); - - if (old_base == (caddr_t) -1) - fatal ("Can't mmap(%s): errno %d\n", old_name, errno); - -#ifdef DEBUG - fprintf (stderr, "mmap(%s, %x) -> %x\n", old_name, stat_buf.st_size, - old_base); -#endif - - /* Get pointers to headers & section names */ - - old_file_h = (Elf32_Ehdr *) old_base; - old_program_h = (Elf32_Phdr *) ((byte *) old_base + old_file_h->e_phoff); - old_section_h = (Elf32_Shdr *) ((byte *) old_base + old_file_h->e_shoff); - old_section_names = (char *) old_base - + OLD_SECTION_H(old_file_h->e_shstrndx).sh_offset; - - /* Find the old .sbss section. - */ - - for (old_sbss_index = 1; old_sbss_index < old_file_h->e_shnum; - old_sbss_index++) - { -#ifdef DEBUG - fprintf (stderr, "Looking for .sbss - found %s\n", - old_section_names + OLD_SECTION_H(old_sbss_index).sh_name); -#endif - if (!strcmp (old_section_names + OLD_SECTION_H(old_sbss_index).sh_name, - ".sbss")) - break; - } - if (old_sbss_index == old_file_h->e_shnum) - fatal ("Can't find .sbss in %s.\n", old_name, 0); - - if (!strcmp(old_section_names + OLD_SECTION_H(old_sbss_index - 1).sh_name, - ".sdata")) - { - old_sdata_index = old_sbss_index - 1; - } - - - /* Find the old .bss section. - */ - - for (old_bss_index = 1; old_bss_index < old_file_h->e_shnum; old_bss_index++) - { -#ifdef DEBUG - fprintf (stderr, "Looking for .bss - found %s\n", - old_section_names + OLD_SECTION_H(old_bss_index).sh_name); -#endif - if (!strcmp (old_section_names + OLD_SECTION_H(old_bss_index).sh_name, - ".bss")) - break; - } - if (old_bss_index == old_file_h->e_shnum) - fatal ("Can't find .bss in %s.\n", old_name, 0); - - if (old_sbss_index != (old_bss_index - 1)) - fatal (".sbss should come immediately before .bss in %s.\n", old_name, 0); - - /* Find the old .rel.dyn section. - */ - - for (old_rel_dyn_index = 1; old_rel_dyn_index < old_file_h->e_shnum; - old_rel_dyn_index++) - { -#ifdef DEBUG - fprintf (stderr, "Looking for .rel.dyn - found %s\n", - old_section_names + OLD_SECTION_H(old_rel_dyn_index).sh_name); -#endif - if (!strcmp (old_section_names + OLD_SECTION_H(old_rel_dyn_index).sh_name, - ".rel.dyn")) - break; - } - if (old_rel_dyn_index == old_file_h->e_shnum) - fatal ("Can't find .rel_dyn in %s.\n", old_name, 0); - - old_rel_dyn_addr = OLD_SECTION_H(old_rel_dyn_index).sh_addr; - old_rel_dyn_size = OLD_SECTION_H(old_rel_dyn_index).sh_size; - - /* Figure out parameters of the new data3 and data2 sections. - * Change the sbss and bss sections. - */ - - old_bss_addr = OLD_SECTION_H(old_bss_index).sh_addr; - old_bss_size = OLD_SECTION_H(old_bss_index).sh_size; - - old_sbss_addr = OLD_SECTION_H(old_sbss_index).sh_addr; - old_sbss_size = OLD_SECTION_H(old_sbss_index).sh_size; - - if (old_sdata_index) - { - old_sdata_size = OLD_SECTION_H(old_sdata_index).sh_size; - } - -#if defined(emacs) || !defined(DEBUG) - bss_end = (unsigned int) sbrk (0); - new_bss_addr = (Elf32_Addr) bss_end; -#else - new_bss_addr = old_bss_addr + old_bss_size + 0x1234; -#endif - if (old_sdata_index) - { - new_sdata_size = OLD_SECTION_H(old_sbss_index).sh_offset - - OLD_SECTION_H(old_sdata_index).sh_offset + old_sbss_size; - } - - new_data3_addr = old_sbss_addr; - new_data3_size = old_sbss_size; - new_data3_offset = OLD_SECTION_H(old_sbss_index).sh_offset; - - new_data2_addr = old_bss_addr; - new_data2_size = new_bss_addr - old_bss_addr; - new_data2_align = (new_data3_offset + old_sbss_size) % - OLD_SECTION_H(old_bss_index).sh_addralign; - new_data2_align = new_data2_align ? - OLD_SECTION_H(old_bss_index).sh_addralign - new_data2_align : - 0; - new_data2_offset = new_data3_offset + old_sbss_size + new_data2_align; - - old_bss_padding = OLD_SECTION_H(old_bss_index).sh_offset - - OLD_SECTION_H(old_sbss_index).sh_offset; -#ifdef DEBUG - fprintf (stderr, "old_bss_index %d\n", old_bss_index); - fprintf (stderr, "old_bss_addr %x\n", old_bss_addr); - fprintf (stderr, "old_bss_size %x\n", old_bss_size); - fprintf (stderr, "new_bss_addr %x\n", new_bss_addr); - fprintf (stderr, "new_data2_addr %x\n", new_data2_addr); - fprintf (stderr, "new_data2_size %x\n", new_data2_size); - fprintf (stderr, "new_data2_offset %x\n", new_data2_offset); - fprintf (stderr, "old_sbss_index %d\n", old_sbss_index); - fprintf (stderr, "old_sbss_addr %x\n", old_sbss_addr); - fprintf (stderr, "old_sbss_size %x\n", old_sbss_size); - fprintf (stderr, "old_rel_dyn_addr %x\n", old_rel_dyn_addr); - fprintf (stderr, "old_rel_dyn_size %x\n", old_rel_dyn_size); - if (old_sdata_index) - { - fprintf (stderr, "old_sdata_size %x\n", old_sdata_size); - fprintf (stderr, "new_sdata_size %x\n", new_sdata_size); - } - else - { - fprintf (stderr, "new_data3_addr %x\n", new_data3_addr); - fprintf (stderr, "new_data3_size %x\n", new_data3_size); - fprintf (stderr, "new_data3_offset %x\n", new_data3_offset); - } -#endif - - if ((unsigned) new_bss_addr < (unsigned) old_bss_addr + old_bss_size) - fatal (".bss shrank when undumping???\n", 0, 0); - - /* Set the output file to the right size and mmap(2) it. Set - * pointers to various interesting objects. stat_buf still has - * old_file data. - */ - - new_file = open (new_name, O_RDWR | O_CREAT, 0666); - if (new_file < 0) - fatal ("Can't creat(%s): errno %d\n", new_name, errno); - - new_file_size = stat_buf.st_size + - ((1 + (old_sdata_index ? 0 : 1)) * old_file_h->e_shentsize) + - new_data2_size + new_data3_size + new_data2_align; - - if (ftruncate (new_file, new_file_size)) - fatal ("Can't ftruncate(%s): errno %d\n", new_name, errno); - - new_base = mmap (0, new_file_size, PROT_READ | PROT_WRITE, MAP_SHARED, - new_file, 0); - - if (new_base == (caddr_t) -1) - fatal ("Can't mmap(%s): errno %d\n", new_name, errno); - - new_file_h = (Elf32_Ehdr *) new_base; - new_program_h = (Elf32_Phdr *) ((byte *) new_base + old_file_h->e_phoff); - new_section_h = (Elf32_Shdr *) ((byte *) new_base + - old_file_h->e_shoff + - new_data2_size + - new_data2_align + - new_data3_size); - - /* Make our new file, program and section headers as copies of the - * originals. - */ - - memcpy (new_file_h, old_file_h, old_file_h->e_ehsize); - memcpy (new_program_h, old_program_h, - old_file_h->e_phnum * old_file_h->e_phentsize); - - /* Modify the e_shstrndx if necessary. */ - PATCH_INDEX (new_file_h->e_shstrndx); - - /* Fix up file header. We'll add one section. Section header is - * further away now. - */ - - new_file_h->e_shoff += new_data2_size + new_data2_align + new_data3_size; - new_file_h->e_shnum += 1 + (old_sdata_index ? 0 : 1); - -#ifdef DEBUG - fprintf (stderr, "Old section offset %x\n", old_file_h->e_shoff); - fprintf (stderr, "Old section count %d\n", old_file_h->e_shnum); - fprintf (stderr, "New section offset %x\n", new_file_h->e_shoff); - fprintf (stderr, "New section count %d\n", new_file_h->e_shnum); -#endif - - /* Fix up a new program header. Extend the writable data segment so - * that the bss area is covered too. Find that segment by looking - * for a segment that ends just before the .bss area. Make sure - * that no segments are above the new .data2. Put a loop at the end - * to adjust the offset and address of any segment that is above - * data2, just in case we decide to allow this later. - */ - - for (n = new_file_h->e_phnum - 1; n >= 0; n--) - { - /* Compute maximum of all requirements for alignment of section. */ - int alignment = (NEW_PROGRAM_H (n)).p_align; - if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment) - alignment = OLD_SECTION_H (old_bss_index).sh_addralign; - - if ((OLD_SECTION_H (old_sbss_index)).sh_addralign > alignment) - alignment = OLD_SECTION_H (old_sbss_index).sh_addralign; - - /* Supposedly this condition is okay for the SGI. */ -#if 0 - if (NEW_PROGRAM_H(n).p_vaddr + NEW_PROGRAM_H(n).p_filesz > old_bss_addr) - fatal ("Program segment above .bss in %s\n", old_name, 0); -#endif - - if (NEW_PROGRAM_H(n).p_type == PT_LOAD - && (round_up ((NEW_PROGRAM_H (n)).p_vaddr - + (NEW_PROGRAM_H (n)).p_filesz, - alignment) - == round_up (old_bss_addr, alignment))) - break; - } - if (n < 0) - fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); - - NEW_PROGRAM_H(n).p_filesz += new_data2_size + new_data2_align + - new_data3_size; - NEW_PROGRAM_H(n).p_memsz = NEW_PROGRAM_H(n).p_filesz; - -#if 1 /* Maybe allow section after data2 - does this ever happen? */ - for (n = new_file_h->e_phnum - 1; n >= 0; n--) - { - if (NEW_PROGRAM_H(n).p_vaddr - && NEW_PROGRAM_H(n).p_vaddr >= new_data3_addr) - NEW_PROGRAM_H(n).p_vaddr += new_data2_size - old_bss_size + - new_data3_size - old_sbss_size; - - if (NEW_PROGRAM_H(n).p_offset >= new_data3_offset) - NEW_PROGRAM_H(n).p_offset += new_data2_size + new_data2_align + - new_data3_size; - } -#endif - - /* Fix up section headers based on new .data2 section. Any section - * whose offset or virtual address is after the new .data2 section - * gets its value adjusted. .bss size becomes zero and new address - * is set. data2 section header gets added by copying the existing - * .data header and modifying the offset, address and size. - */ - for (old_data_index = 1; old_data_index < old_file_h->e_shnum; - old_data_index++) - if (!strcmp (old_section_names + OLD_SECTION_H(old_data_index).sh_name, - ".data")) - break; - if (old_data_index == old_file_h->e_shnum) - fatal ("Can't find .data in %s.\n", old_name, 0); - - /* Walk through all section headers, insert the new data2 section right - before the new bss section. */ - for (n = 1, nn = 1; n < old_file_h->e_shnum; n++, nn++) - { - caddr_t src; - - if (n == old_sbss_index) - - /* If it is sbss section, insert the new data3 section before it. */ - { - /* Steal the data section header for this data3 section. */ - if (!old_sdata_index) - { - memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(old_data_index), - new_file_h->e_shentsize); - - NEW_SECTION_H(nn).sh_addr = new_data3_addr; - NEW_SECTION_H(nn).sh_offset = new_data3_offset; - NEW_SECTION_H(nn).sh_size = new_data3_size; - NEW_SECTION_H(nn).sh_flags = OLD_SECTION_H(n).sh_flags; - /* Use the sbss section's alignment. This will assure that the - new data3 section always be placed in the same spot as the old - sbss section by any other application. */ - NEW_SECTION_H(nn).sh_addralign = OLD_SECTION_H(n).sh_addralign; - - /* Now copy over what we have in the memory now. */ - memcpy (NEW_SECTION_H(nn).sh_offset + new_base, - (caddr_t) OLD_SECTION_H(n).sh_addr, - new_data3_size); - /* the new .data2 section should also come before the - * new .sbss section */ - nn += 2; - } - else - { - /* We always have a .sdata section: append the contents of the - * old .sbss section. - */ - memcpy (new_data3_offset + new_base, - (caddr_t) OLD_SECTION_H(n).sh_addr, - new_data3_size); - nn ++; - } - } - else if (n == old_bss_index) - - /* If it is bss section, insert the new data2 section before it. */ - { - Elf32_Word tmp_align; - Elf32_Addr tmp_addr; - - tmp_align = OLD_SECTION_H(n).sh_addralign; - tmp_addr = OLD_SECTION_H(n).sh_addr; - - nn -= 2; - /* Steal the data section header for this data2 section. */ - memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(old_data_index), - new_file_h->e_shentsize); - - NEW_SECTION_H(nn).sh_addr = new_data2_addr; - NEW_SECTION_H(nn).sh_offset = new_data2_offset; - NEW_SECTION_H(nn).sh_size = new_data2_size; - /* Use the bss section's alignment. This will assure that the - new data2 section always be placed in the same spot as the old - bss section by any other application. */ - NEW_SECTION_H(nn).sh_addralign = tmp_align; - - /* Now copy over what we have in the memory now. */ - memcpy (NEW_SECTION_H(nn).sh_offset + new_base, - (caddr_t) tmp_addr, new_data2_size); - nn += 2; - } - - memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(n), - old_file_h->e_shentsize); - - if (old_sdata_index && n == old_sdata_index) - /* The old .sdata section has now a new size */ - NEW_SECTION_H(nn).sh_size = new_sdata_size; - - /* The new bss section's size is zero, and its file offset and virtual - address should be off by NEW_DATA2_SIZE. */ - if (n == old_sbss_index) - { - /* NN should be `old_sbss_index + 2' at this point. */ - NEW_SECTION_H(nn).sh_offset += new_data2_size + new_data2_align + - new_data3_size; - NEW_SECTION_H(nn).sh_addr += new_data2_size + new_data2_align + - new_data3_size; - /* Let the new bss section address alignment be the same as the - section address alignment followed the old bss section, so - this section will be placed in exactly the same place. */ - NEW_SECTION_H(nn).sh_addralign = - OLD_SECTION_H(nn + (old_sdata_index ? 1 : 0)).sh_addralign; - NEW_SECTION_H(nn).sh_size = 0; - } - else if (n == old_bss_index) - { - /* NN should be `old_bss_index + 2' at this point. */ - NEW_SECTION_H(nn).sh_offset += new_data2_size + new_data2_align + - new_data3_size - old_bss_padding; - NEW_SECTION_H(nn).sh_addr += new_data2_size; - /* Let the new bss section address alignment be the same as the - section address alignment followed the old bss section, so - this section will be placed in exactly the same place. */ - NEW_SECTION_H(nn).sh_addralign = - OLD_SECTION_H((nn - (old_sdata_index ? 0 : 1))).sh_addralign; - NEW_SECTION_H(nn).sh_size = 0; - } - /* Any section that was original placed AFTER the bss section should now - be off by NEW_DATA2_SIZE. */ - else if (NEW_SECTION_H(nn).sh_offset >= new_data3_offset) - NEW_SECTION_H(nn).sh_offset += new_data2_size + - new_data2_align + - new_data3_size - - old_bss_padding; - - /* If any section hdr refers to the section after the new .data - section, make it refer to next one because we have inserted - a new section in between. */ - - PATCH_INDEX(NEW_SECTION_H(nn).sh_link); - PATCH_INDEX(NEW_SECTION_H(nn).sh_info); - - /* Now, start to copy the content of sections. */ - if (NEW_SECTION_H(nn).sh_type == SHT_NULL - || NEW_SECTION_H(nn).sh_type == SHT_NOBITS) - continue; - - /* Write out the sections. .data, .data1 and .sdata get copied from - * the current process instead of the old file. - */ - if (!strcmp (old_section_names + OLD_SECTION_H(n).sh_name, ".data") || - !strcmp (old_section_names + OLD_SECTION_H(n).sh_name, ".data1") || - (old_sdata_index && (n == old_sdata_index))) - src = (caddr_t) OLD_SECTION_H(n).sh_addr; - else - src = old_base + OLD_SECTION_H(n).sh_offset; - - memcpy (NEW_SECTION_H(nn).sh_offset + new_base, src, - ((n == old_sdata_index) ? - old_sdata_size : - NEW_SECTION_H(nn).sh_size)); - - /* If it is the symbol table, its st_shndx field needs to be patched. */ - if (NEW_SECTION_H(nn).sh_type == SHT_SYMTAB - || NEW_SECTION_H(nn).sh_type == SHT_DYNSYM) - { - Elf32_Shdr *spt = &NEW_SECTION_H(nn); - unsigned int num = spt->sh_size / spt->sh_entsize; - Elf32_Sym * sym = (Elf32_Sym *) (NEW_SECTION_H(nn).sh_offset + - new_base); - for (; num--; sym++) - { - if ((sym->st_shndx == SHN_UNDEF) - || (sym->st_shndx == SHN_ABS) - || (sym->st_shndx == SHN_COMMON)) - continue; - - PATCH_INDEX(sym->st_shndx); - } - } - } - { - Elf32_Rel *rel_p; - unsigned int old_data_addr_start; - unsigned int old_data_addr_end; - unsigned int old_data_offset; - unsigned int new_data_offset; - int i; - - rel_p = (Elf32_Rel *)OLD_SECTION_H(old_rel_dyn_index).sh_addr; - old_data_addr_start = OLD_SECTION_H(old_data_index).sh_addr; - old_data_addr_end = old_data_addr_start + - OLD_SECTION_H(old_data_index).sh_size; - old_data_offset = (int)OLD_SECTION_H(old_data_index).sh_offset + - (unsigned int)old_base; - new_data_offset = (int)NEW_SECTION_H(old_data_index).sh_offset + - (unsigned int)new_base; - -#ifdef DEBUG - fprintf(stderr, "old_data.sh_addr= 0x%08x ... 0x%08x\n", old_data_addr_start, - old_data_addr_end); -#endif /* DEBUG */ - - for (i = 0; i < old_rel_dyn_size/sizeof(Elf32_Rel); i++) - { -#ifdef DEBUG - fprintf(stderr, ".rel.dyn offset= 0x%08x type= %d sym= %d\n", - rel_p->r_offset, ELF32_R_TYPE(rel_p->r_info), ELF32_R_SYM(rel_p->r_info)); -#endif /* DEBUG */ - - if (rel_p->r_offset) - { - unsigned int offset; - - assert(old_data_addr_start <= rel_p->r_offset && - rel_p->r_offset <= old_data_addr_end); - - offset = rel_p->r_offset - old_data_addr_start; - -#ifdef DEBUG - fprintf(stderr, "r_offset= 0x%08x *r_offset= 0x%08x\n", - rel_p->r_offset, *((int *)(rel_p->r_offset))); - fprintf(stderr, "old = 0x%08x *old =0x%08x\n", - (old_data_offset + offset - (unsigned int)old_base), - *((int *)(old_data_offset + offset))); - fprintf(stderr, "new = 0x%08x *new =0x%08x\n", - (new_data_offset + offset - (unsigned int)new_base), - *((int *)(new_data_offset + offset))); -#endif /* DEBUG */ - - *((int *)(new_data_offset + offset)) = *((int *)(old_data_offset + offset)); - } - - rel_p++; - } - } - - /* Close the files and make the new file executable */ - - if (close (old_file)) - fatal ("Can't close(%s): errno %d\n", old_name, errno); - - if (close (new_file)) - fatal ("Can't close(%s): errno %d\n", new_name, errno); - - if (stat (new_name, &stat_buf) == -1) - fatal ("Can't stat(%s): errno %d\n", new_name, errno); - - n = umask (777); - umask (n); - stat_buf.st_mode |= 0111 & ~n; - if (chmod (new_name, stat_buf.st_mode) == -1) - fatal ("Can't chmod(%s): errno %d\n", new_name, errno); -} - -/* arch-tag: c784ead3-7a27-442b-83fe-7af8d08654d3 - (do not change this comment) */ diff --git a/src/w32.c b/src/w32.c index d9d11c3094a..c2417f1a24d 100644 --- a/src/w32.c +++ b/src/w32.c @@ -1269,12 +1269,6 @@ get_emacs_configuration (void) break; #endif -#ifdef PROCESSOR_INTEL_860 - case PROCESSOR_INTEL_860: - arch = "i860"; - break; -#endif - #ifdef PROCESSOR_MIPS_R2000 case PROCESSOR_MIPS_R2000: case PROCESSOR_MIPS_R3000: |