aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicolaescu2008-01-06 00:56:56 +0000
committerDan Nicolaescu2008-01-06 00:56:56 +0000
commitf3041af143f4ab74041fc918feee43aa8ac2da88 (patch)
treea84bdb93b8f941075b511480aa283e2847fbbcac
parent37d6e31370557ab868033dde113f11b54994e576 (diff)
downloademacs-f3041af143f4ab74041fc918feee43aa8ac2da88.tar.gz
emacs-f3041af143f4ab74041fc918feee43aa8ac2da88.zip
* configure.in: Remove references to unsupported systems.
* notes/copyright: * MAINTAINERS: Remove references to files that have been removed. * os.texi (System Environment): Remove references to OSes that are not supported anymore. * PROBLEMS: * MACHINES: Remove references to systems not supported anymore. * makefile.w32-in: * Makefile.in: Remove references to Xenix. * gnus.el (gnus-use-long-file-name): Remove reference to xenix. * obsolete/x-apollo.el: Remove file for unsupported system. * term/x-win.el (vendor-specific-keysyms): Remove reference to Apollo. * progmodes/gud.el (gud-dgux-p): Remove. (dbx): Remove reference to dgux. * progmodes/ps-mode.el (ps-mode-print-function): * ps-print.el (ps-lp-system): * paths.el (rmail-spool-directory): * ls-lisp.el (ls-lisp-emulation): * lpr.el (lpr-lp-system): * dired.el (dired-chown-program): Remove references to dgux. * m/7300.h: * m/acorn.h: * m/alliant-2800.h: * m/alliant.h: * m/alliant1.h: * m/alliant4.h: * m/altos.h: * m/amdahl.h: * m/apollo.h: * m/att3b.h: * m/aviion-intel.h: * m/aviion.h: * m/celerity.h: * m/clipper.h: * m/cnvrgnt.h: * m/convex.h: * m/cydra5.h: * m/delta88k.h: * m/dpx2.h: * m/dual.h: * m/elxsi.h: * m/f301.h: * m/gould-np1.h: * m/gould.h: * m/i860.h: * m/ibmps2-aix.h: * m/ibmrt-aix.h: * m/ibmrt.h: * m/irist.h: * m/is386.h: * m/isi-ov.h: * m/mega68.h: * m/mg1.h: * m/news-r6.h: * m/news-risc.h: * m/news.h: * m/nh3000.h: * m/nh4000.h: * m/ns16000.h: * m/ns32000.h: * m/nu.h: * m/orion.h: * m/orion105.h: * m/paragon.h: * m/pfa50.h: * m/plexus.h: * m/pyramid.h: * m/pyrmips.h: * m/sh3el.h: * m/sps7.h: * m/sr2k.h: * m/stride.h: * m/sun1.h: * m/sun2.h: * m/sun3-68881.h: * m/sun3-fpa.h: * m/sun3-soft.h: * m/sun3.h: * m/sun386.h: * m/symmetry.h: * m/tad68k.h: * m/tahoe.h: * m/targon31.h: * m/tek4300.h: * m/tekxd88.h: * m/tower32.h: * m/tower32v3.h: * m/ustation.h: * m/wicat.h: * m/xps100.h: * s/cxux.h: * s/cxux7.h: * s/dgux.h: * s/dgux4.h: * s/dgux5-4-3.h: * s/dgux5-4r2.h: * s/esix.h: * s/esix5r4.h: * s/hiuxmpp.h: * s/hiuxwe2.h: * s/iris3-5.h: * s/iris3-6.h: * s/isc2-2.h: * s/isc3-0.h: * s/isc4-0.h: * s/isc4-1.h: * s/newsos5.h: * s/newsos6.h: * s/osf1.h: * s/osf5-0.h: * s/riscix1-1.h: * s/riscix12.h: * s/sco4.h: * s/sco5.h: * s/sunos4-0.h: * s/sunos4-1.h: * s/sunos413.h: * s/sunos4shr.h: * s/umax.h: * s/unipl5-2.h: * s/xenix.h: * cxux-crt0.s: * unexapollo.c: * unexconvex.c: * unexenix.c: * unexsni.c: Remove files for systems no longer supported. * m/intel386.h: Remove references to unsupported systems. * w32.c (get_emacs_configuration): Remove reference to i860. * sysdep.c: Remove dead code.
-rw-r--r--ChangeLog4
-rw-r--r--admin/CPP-DEFINES283
-rw-r--r--admin/ChangeLog5
-rw-r--r--admin/MAINTAINERS5
-rw-r--r--admin/notes/copyright20
-rw-r--r--configure.in466
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/os.texi8
-rw-r--r--etc/ChangeLog5
-rw-r--r--etc/MACHINES539
-rw-r--r--etc/PROBLEMS116
-rw-r--r--leim/ChangeLog5
-rw-r--r--leim/Makefile.in2
-rw-r--r--leim/makefile.w32-in2
-rw-r--r--lisp/ChangeLog17
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/gnus/ChangeLog4
-rw-r--r--lisp/gnus/gnus.el2
-rw-r--r--lisp/lpr.el2
-rw-r--r--lisp/ls-lisp.el2
-rw-r--r--lisp/obsolete/x-apollo.el98
-rw-r--r--lisp/paths.el2
-rw-r--r--lisp/progmodes/gud.el7
-rw-r--r--lisp/progmodes/ps-mode.el2
-rw-r--r--lisp/ps-print.el2
-rw-r--r--lisp/term/x-win.el25
-rw-r--r--src/ChangeLog115
-rw-r--r--src/cxux-crt0.s42
-rw-r--r--src/m/7300.h98
-rw-r--r--src/m/acorn.h185
-rw-r--r--src/m/alliant-2800.h130
-rw-r--r--src/m/alliant.h123
-rw-r--r--src/m/alliant1.h12
-rw-r--r--src/m/alliant4.h27
-rw-r--r--src/m/altos.h59
-rw-r--r--src/m/amdahl.h140
-rw-r--r--src/m/apollo.h96
-rw-r--r--src/m/att3b.h150
-rw-r--r--src/m/aviion-intel.h22
-rw-r--r--src/m/aviion.h126
-rw-r--r--src/m/celerity.h60
-rw-r--r--src/m/clipper.h98
-rw-r--r--src/m/cnvrgnt.h97
-rw-r--r--src/m/convex.h189
-rw-r--r--src/m/cydra5.h117
-rw-r--r--src/m/delta88k.h163
-rw-r--r--src/m/dpx2.h222
-rw-r--r--src/m/dual.h73
-rw-r--r--src/m/elxsi.h133
-rw-r--r--src/m/f301.h10
-rw-r--r--src/m/gould-np1.h108
-rw-r--r--src/m/gould.h189
-rw-r--r--src/m/i860.h101
-rw-r--r--src/m/ibmps2-aix.h235
-rw-r--r--src/m/ibmrt-aix.h165
-rw-r--r--src/m/ibmrt.h123
-rw-r--r--src/m/intel386.h5
-rw-r--r--src/m/irist.h136
-rw-r--r--src/m/is386.h29
-rw-r--r--src/m/isi-ov.h96
-rw-r--r--src/m/mega68.h53
-rw-r--r--src/m/mg1.h107
-rw-r--r--src/m/news-r6.h53
-rw-r--r--src/m/news-risc.h83
-rw-r--r--src/m/news.h65
-rw-r--r--src/m/nh3000.h109
-rw-r--r--src/m/nh4000.h108
-rw-r--r--src/m/ns16000.h95
-rw-r--r--src/m/ns32000.h102
-rw-r--r--src/m/nu.h75
-rw-r--r--src/m/orion.h70
-rw-r--r--src/m/orion105.h72
-rw-r--r--src/m/paragon.h13
-rw-r--r--src/m/pfa50.h93
-rw-r--r--src/m/plexus.h109
-rw-r--r--src/m/pyramid.h67
-rw-r--r--src/m/pyrmips.h10
-rw-r--r--src/m/sh3el.h106
-rw-r--r--src/m/sps7.h118
-rw-r--r--src/m/sr2k.h160
-rw-r--r--src/m/stride.h121
-rw-r--r--src/m/sun1.h80
-rw-r--r--src/m/sun2.h89
-rw-r--r--src/m/sun3-68881.h31
-rw-r--r--src/m/sun3-fpa.h31
-rw-r--r--src/m/sun3-soft.h32
-rw-r--r--src/m/sun3.h53
-rw-r--r--src/m/sun386.h74
-rw-r--r--src/m/symmetry.h95
-rw-r--r--src/m/tad68k.h115
-rw-r--r--src/m/tahoe.h72
-rw-r--r--src/m/targon31.h98
-rw-r--r--src/m/tek4300.h105
-rw-r--r--src/m/tekxd88.h117
-rw-r--r--src/m/tower32.h115
-rw-r--r--src/m/tower32v3.h113
-rw-r--r--src/m/ustation.h132
-rw-r--r--src/m/wicat.h137
-rw-r--r--src/m/xps100.h98
-rw-r--r--src/s/cxux.h236
-rw-r--r--src/s/cxux7.h10
-rw-r--r--src/s/dgux.h355
-rw-r--r--src/s/dgux4.h144
-rw-r--r--src/s/dgux5-4-3.h68
-rw-r--r--src/s/dgux5-4r2.h51
-rw-r--r--src/s/esix.h27
-rw-r--r--src/s/esix5r4.h27
-rw-r--r--src/s/hiuxmpp.h67
-rw-r--r--src/s/hiuxwe2.h67
-rw-r--r--src/s/iris3-5.h166
-rw-r--r--src/s/iris3-6.h163
-rw-r--r--src/s/isc2-2.h100
-rw-r--r--src/s/isc3-0.h70
-rw-r--r--src/s/isc4-0.h33
-rw-r--r--src/s/isc4-1.h35
-rw-r--r--src/s/newsos5.h53
-rw-r--r--src/s/newsos6.h9
-rw-r--r--src/s/osf1.h99
-rw-r--r--src/s/osf5-0.h25
-rw-r--r--src/s/riscix1-1.h9
-rw-r--r--src/s/riscix12.h29
-rw-r--r--src/s/sco4.h145
-rw-r--r--src/s/sco5.h175
-rw-r--r--src/s/sunos4-0.h75
-rw-r--r--src/s/sunos4-1.h36
-rw-r--r--src/s/sunos413.h16
-rw-r--r--src/s/sunos4shr.h84
-rw-r--r--src/s/umax.h170
-rw-r--r--src/s/unipl5-2.h160
-rw-r--r--src/s/xenix.h212
-rw-r--r--src/sysdep.c6
-rw-r--r--src/unexapollo.c301
-rw-r--r--src/unexconvex.c605
-rw-r--r--src/unexenix.c264
-rw-r--r--src/unexsni.c925
-rw-r--r--src/w32.c6
136 files changed, 465 insertions, 13238 deletions
diff --git a/ChangeLog b/ChangeLog
index 98b6837e730..b8e0da2cfb6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
12008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * configure.in: Remove references to unsupported systems.
4
12008-01-05 Romain Francoise <romain@orebokech.com> 52008-01-05 Romain Francoise <romain@orebokech.com>
2 6
3 * make-dist: Add --bzip2. Update copyright. 7 * make-dist: Add --bzip2. Update copyright.
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index ea2ae95b25a..ab485360138 100644
--- a/admin/CPP-DEFINES
+++ b/admin/CPP-DEFINES
@@ -43,47 +43,322 @@ FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
43REL_ALLOC Compile in the relocatable memory allocator ralloc.c. 43REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
44SYSTEM_MALLOC Use the system library's malloc. 44SYSTEM_MALLOC Use the system library's malloc.
45 45
46** All references to these symbols should be removed, all their definitions are gone **
47ALLIANT
48ALLIANT_2800
49ALTOS
50APOLLO
51APOLLO_SR10
52RTU
53STRIDE
54UNIPLUS
55GOULD
56NU
57pyramid
58sps7
59tahoe
60tek4300
61__DGUX
62DGUX
63romp
64ibmrt
65NEWSOS5
46 66
47** Temporarily put defines from removed files here ** 67** Temporarily put defines from removed files here, check if these macros need to be documented or removed because they are not used anymore. **
48
49 68
69ABORT_RETURN_TYPE
70ADDR_CORRECT
50ADJUST_EXEC_HEADER 71ADJUST_EXEC_HEADER
72ADJUST_TEXTBASE
73ADJUST_TEXT_SCNHDR_SIZE
74A_TEXT_OFFSET
75A_TEXT_SEEK
76BAUD_CONVERT
77BROKEN_FIONREAD
78BROKEN_SELECT_NON_X
79BROKEN_SIGIO
80BROKEN_START
81BROKEN_TIOCGETC
82BROKEN_TIOCGWINSZ
51BSD4_2 83BSD4_2
84BSD4_3
85BSD4_4
52BSD_PGRPS 86BSD_PGRPS
53BSD_SYSTEM 87BSD_SYSTEM
54BSTRING 88BSTRING
55CANNOT_DUMP 89CANNOT_DUMP
56CLASH_DETECTION 90CLASH_DETECTION
57COFF 91COFF
92COFF_BSD_SYMBOLS
93COFF_ENCAPSULATE
94CRT0_COMPILE
58CRT0_DUMMIES 95CRT0_DUMMIES
96C_DEBUG_SWITCH
97C_OPTIMIZE_SWITCH
98C_SWITCH_ASM
99C_SWITCH_MACHINE
100C_SWITCH_SYSTEM
101DATA_END
102DATA_SECTION_ALIGNMENT
103DATA_SEG_BITS
104DATA_START
105DEBUG
106DECLARE_GETPWUID_WITH_UID_T
107DEFAULT_ENTRY_ADDRESS
108DONT_NEED_ENVIRON
109DOT_GLOBAL_START
110DUMMIES
111EEOF
112ELF
113ERROR0
114ERROR1
115ERROR2
116EXEC_HDR_TYPE
117EXEC_MAGIC
118EXEC_PAGESIZE
59EXPLICIT_SIGN_EXTEND 119EXPLICIT_SIGN_EXTEND
120EXTRA_INITIALIZE
60FIRST_PTY_LETTER 121FIRST_PTY_LETTER
122FREE_RETURN_TYPE
123FSCALE
124F_SETOWN_BUG
125GC_MARK_STACK
126GC_SETJMP_WORKS
127GETPGRP_NO_ARG
128GNU_MALLOC
129HAVE_ALLOCA
130HAVE_BROKEN_INET_ADDR
131HAVE_CLOSEDIR
132HAVE_CONFIG_H
133HAVE_CRTN
134HAVE_GETTIMEOFDAY
135HAVE_INET_SOCKETS
136HAVE_LIBDNET
137HAVE_LIBINTL
138HAVE_LIBRESOLV
61HAVE_PTYS 139HAVE_PTYS
140HAVE_SELECT
62HAVE_SOCKETS 141HAVE_SOCKETS
63HAVE_SYSVIPC 142HAVE_SYSVIPC
143HAVE_SYSV_SIGPAUSE
144HAVE_SYS_WAIT_H
145HAVE_TCATTR
64HAVE_TERMIO 146HAVE_TERMIO
147HAVE_TERMIOS
148HAVE_TEXT_START
65HAVE_UNION_WAIT 149HAVE_UNION_WAIT
150HAVE_UNISTD_H
151HAVE_UNIX_DOMAIN
152HAVE_UTIMES
153HAVE_WAIT_HEADER
154HAVE_X11R6
155HAVE_XFREE386
156HAVE_XSCREENNUMBEROFSCREEN
157HAVE_X_WINDOWS
158HEADER_INCL_IN_TEXT
159IBMAIX
160INHIBIT_X11R6_XIM
161INIT_BAUD_RATE
162INTEL386
66INTERRUPT_INPUT 163INTERRUPT_INPUT
164IN_UNEXEC
165IRIS
166IRIS_4D
167IRIX6_5
168IRIX_FORCE_32_BITS
169ISC4_0
170ISI68K
171KEEP_OLD_PADDR
172KEEP_OLD_TEXT_SCNPTR
67KERNEL_FILE 173KERNEL_FILE
68LDAV_SYMBOL 174LDAV_SYMBOL
175LD_SWITCH_MACHINE
176LD_SWITCH_SYSTEM
177LD_SWITCH_SYSTEM_TEMACS
178LD_TEXT_START_ADDR
69LIBS_DEBUG 179LIBS_DEBUG
180LIBS_MACHINE
181LIBS_SYSTEM
182LIBS_TERMCAP
183LIBX11_MACHINE
184LIBX11_SYSTEM
185LIBXMU
186LIB_GCC
187LIB_MOTIF
188LIB_STANDARD
189LIB_X11_LIB
190LINKER
70LOAD_AVE_CVT 191LOAD_AVE_CVT
71LOAD_AVE_TYPE 192LOAD_AVE_TYPE
193LONG_ALIGN
194L_SET
195MAIL_PROGRAM_NAME
72MAIL_USE_FLOCK 196MAIL_USE_FLOCK
73MASSC_REGISTER_BUG 197MAKE_PARALLEL
198MAXNAMLEN
199MEMMOVE_MISSING
200MEMORY_IN_STRING_H
201MKDIR_PROTOTYPE
202MOTIF
203M_TERMINFO
204NARROWPROTO
205NBPC
206NEED_ERRNO
207NEED_NET_ERRNO_H
208NEED_PTEM_H
209NEED_SIOCTL
210NEW_PROGRAM_H
211NEW_SECTION_H
212NLIST_NAME_UNION
213NLIST_STRUCT
74NOMULTIPLEJOBS 214NOMULTIPLEJOBS
75NONSYSTEM_DIR_LIBRARY 215NONSYSTEM_DIR_LIBRARY
216NOT_C_CODE
76NO_ARG_ARRAY 217NO_ARG_ARRAY
218NO_GET_LOAD_AVG
219NO_MODE_T
220NO_PTY_H
77NO_REMAP 221NO_REMAP
222NO_SIOCTL_H
223NO_SOCKETS_IN_FILE_SYSTEM
224NO_TERMIO
78NO_UNION_TYPE 225NO_UNION_TYPE
226NSIG
227NSIG_MINIMUM
228OBJECTS_MACHINE
229OLDXMENU_OPTIONS
230OLD_PROGRAM_H
231OLD_SECTION_H
232ORDINARY_LINK
233OSF1
234O_NDELAY
235PATCH_INDEX
236PENDING_OUTPUT_COUNT
237PERROR
238PNTR_COMPARISON_TYPE
239POSIX_SIGNALS
240PREFER_VSUSP
241PTY_ITERATION
242PTY_MAJOR
243PTY_MINOR
79PTY_NAME_SPRINTF 244PTY_NAME_SPRINTF
245PTY_OPEN
80PTY_TTY_NAME_SPRINTF 246PTY_TTY_NAME_SPRINTF
81RTU 247PURESIZE
248READ
249REL_ALLOC
250RISCiX
251RISCiX_1_1
252RUN_TIME_REMAP
253SECTION_ALIGNMENT
254SEEK
255SEGMENT_MASK
256SEGSIZ
257SETUP_SLAVE_PTY
258SHORTNAMES
259SHORT_CAST_BUG
260SIGMASKTYPE
261SIGNALS_VIA_CHARACTERS
262SIGN_EXTEND_CHAR
263SIGTYPE
264SIG_BLOCK
265SKTPAIR
266SMAIL
267START_FILES
268SUNOS4
269SUNOS4_SHARED_LIBRARIES
270SUNOS_LOCALTIME_BUG
271SVR4
272SWITCH_ENUM_BUG
273SYMS_START
274SYSTEM_MALLOC
82SYSTEM_TYPE 275SYSTEM_TYPE
276SYSV_PTYS
277SYSV_SYSTEM_DIR
278S_IEXEC
279S_IFDIR
280S_IFLNK
281S_IFMT
282S_IREAD
283S_IWRITE
284TAHOE_REGISTER_BUG
285TERMCAP
286TERMINFO
287TEXT_END
288TEXT_START
289TEXT_START_ADDR
290THIS_IS_MAKEFILE
291TPIX
292ULIMIT_BREAK_VALUE
293UMAX
294UMAX4_2
295UNEXEC
296USE_DL_STUBS
297USE_GETOBAUD
298USE_MMAP_FOR_BUFFERS
299USE_NONANSI_DEFUN
300USG
301USG5
302USG5_3
303USG5_4
304USG_JOBCTRL
305USG_SHARED_LIBRARIES
306V3x
83VIRT_ADDR_VARIES 307VIRT_ADDR_VARIES
84WORDS_BIG_ENDIAN 308WORDS_BIG_ENDIAN
85WORD_MACHINE 309WORD_MACHINE
310WRITE
311X11R4
312XENIX
313XICCC
314XINT
315XSET
316XUINT
317X_DEFAULT_FONT
318_ABIN32
319_CX_UX
320_MIPS_SZLONG
321_POSIX_SOURCE
322__main
323_longjmp
324_setjmp
325_sobuf
326aix386
327alloca
328amdahl_uts
329aouthdr
330celerity
331clipper
332convex
333data_start
334drem
335dsize
336elxsi
337emacs
338entry
339etext
340fatal
341fchmod
342getpgrp
343ghs
344hp9000s800
345index
346internal_with_output_to_temp_buffer
347jmp_buf
348longjmp
86m68000 349m68000
350m68k
351m88k
352magic
353mc68000
354mips
355orion
356sel
87subprocesses 357subprocesses
358sun
359sun_68881
360sun_fpa
361sun_soft
362text_start
88 363
89# arch-tag: bc80061a-1168-4911-9766-46aaf2640250 364# arch-tag: bc80061a-1168-4911-9766-46aaf2640250
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 31ff5af2bac..016f7d10c3a 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,8 @@
12008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * notes/copyright:
4 * MAINTAINERS: Remove references to files that have been removed.
5
12008-01-04 Glenn Morris <rgm@gnu.org> 62008-01-04 Glenn Morris <rgm@gnu.org>
2 7
3 * admin.el (set-copyright): Add lib-src/ebrowse.c. 8 * admin.el (set-copyright): Add lib-src/ebrowse.c.
diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS
index f14bc2068db..805b19a6b7d 100644
--- a/admin/MAINTAINERS
+++ b/admin/MAINTAINERS
@@ -143,7 +143,6 @@ src/cmds.c
143src/coding.c 143src/coding.c
144src/composite.c 144src/composite.c
145src/config.in 145src/config.in
146src/cxux-crt0.s
147src/data.c 146src/data.c
148src/dispnew.c 147src/dispnew.c
149src/doc.c 148src/doc.c
@@ -196,15 +195,11 @@ src/tparam.c
196src/undo.c 195src/undo.c
197src/unexaix.c 196src/unexaix.c
198src/unexalpha.c 197src/unexalpha.c
199src/unexapollo.c
200src/unexconvex.c
201src/unexec.c 198src/unexec.c
202src/unexelf.c 199src/unexelf.c
203src/unexenix.c
204src/unexhp9k800.c 200src/unexhp9k800.c
205src/unexmips.c 201src/unexmips.c
206src/unexnext.c 202src/unexnext.c
207src/unexsni.c
208src/unexsunos4.c 203src/unexsunos4.c
209src/unexw32.c 204src/unexw32.c
210src/vm-limit.c 205src/vm-limit.c
diff --git a/admin/notes/copyright b/admin/notes/copyright
index 4ab01feeae3..aac2328b7f4 100644
--- a/admin/notes/copyright
+++ b/admin/notes/copyright
@@ -405,7 +405,7 @@ lisp/term/README
405 405
406 Accordingly, FSF copyright was added. 406 Accordingly, FSF copyright was added.
407 407
408src/unexhp9k800.c (and dependent src/m/sr2k.h) 408src/unexhp9k800.c
409 http://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00138.html 409 http://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00138.html
410 - briefly removed due to legal uncertainly Jan-Mar 2007. The 410 - briefly removed due to legal uncertainly Jan-Mar 2007. The
411 relevant assignment is under "hp9k800" in copyright.list. File was 411 relevant assignment is under "hp9k800" in copyright.list. File was
@@ -480,7 +480,7 @@ says it is obsolete:
480 480
481src/m/mips4.h, news-risc.h, pmax.h 481src/m/mips4.h, news-risc.h, pmax.h
482src/s/aix3-2.h, bsd386.h, hpux8.h, hpux9.h, irix4-0.h, irix5-0.h, 482src/s/aix3-2.h, bsd386.h, hpux8.h, hpux9.h, irix4-0.h, irix5-0.h,
483isc2-2.h, netbsd.h, osf1.h, sol2-3.h, sunos4-0.h, usg5-4-2.h 483netbsd.h, sol2-3.h, usg5-4-2.h
484 - all these (not obviously trivial) files were missing copyrights 484 - all these (not obviously trivial) files were missing copyrights
485 till Feb 2007, when FSF copyright was added. Matt Norwood advised: 485 till Feb 2007, when FSF copyright was added. Matt Norwood advised:
486 486
@@ -515,16 +515,6 @@ pmax.h
515 I would say started non-trivial (1993, jimb, heavily based 515 I would say started non-trivial (1993, jimb, heavily based
516 on irix4-0.h). A few borderline non-tiny changes since. 516 on irix4-0.h). A few borderline non-tiny changes since.
517 517
518? isc2-2.h
519 started trivial. 2 non-tiny change, in 1993. looks to
520 be made up of several small tweaks from various sources. maybe
521 non-tiny total changes from Karl Berry (no emacs assignment).
522
523osf1.h
524 started trivial. grown in tiny changes (one borderline tiny change
525 by fx in 2000, but most code was later removed). non-tiny addition
526 in 2002 from m/alpha.h, but that was and is copyright FSF.
527
528usg5-4-2.h 518usg5-4-2.h
529 started non-trivial, but was heavily based on usg5-4.h, which was and is 519 started non-trivial, but was heavily based on usg5-4.h, which was and is
530 copyright FSF. only tiny changes since installed. 520 copyright FSF. only tiny changes since installed.
@@ -533,7 +523,7 @@ sol2-3.h
533 started trivial. only non-tiny change (1994) incorporated code from 523 started trivial. only non-tiny change (1994) incorporated code from
534 usg5-4.h, which was and is copyright FSF. 524 usg5-4.h, which was and is copyright FSF.
535 525
536aix3-2.h, bsd386.h, hpux8.h, hpux9.h, netbsd.h, sunos4-0.h 526aix3-2.h, bsd386.h, hpux8.h, hpux9.h, netbsd.h
537 started trivial, grown in tiny changes. 527 started trivial, grown in tiny changes.
538 528
539netbsd.h: 529netbsd.h:
@@ -548,8 +538,8 @@ Someone might want to tweak the copyright years (for dates before
548Note: erring on the side of caution, I also added notices to some 538Note: erring on the side of caution, I also added notices to some
549files I thought might be considered non-trivial (if one includes 539files I thought might be considered non-trivial (if one includes
550comment) in s/: 540comment) in s/:
551 aix4-1.h hiuxmpp.h hiuxwe2.h hpux10.h irix6-0.h irix6-5.h isc3-0.h 541 aix4-1.h hpux10.h irix6-0.h irix6-5.h
552 ptx4.h sol2.h sunos4-0.h 542 ptx4.h sol2.h
553 543
554(everything with > 30 non-blank lines, which at least is _some_ kind of 544(everything with > 30 non-blank lines, which at least is _some_ kind of
555system) 545system)
diff --git a/configure.in b/configure.in
index 6d727dd642a..19471e32582 100644
--- a/configure.in
+++ b/configure.in
@@ -217,8 +217,8 @@ dnl quotation begins
217### based on the machine portion of the configuration name, and an s- 217### based on the machine portion of the configuration name, and an s-
218### file based on the operating system portion. However, it turns out 218### file based on the operating system portion. However, it turns out
219### that each m/*.h file is pretty manufacturer-specific - for 219### that each m/*.h file is pretty manufacturer-specific - for
220### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are 220### example hp9000s300.h is a 68000 machine;
221### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS 221### mips.h, pmax.h are all MIPS
222### machines. So we basically have to have a special case for each 222### machines. So we basically have to have a special case for each
223### configuration name. 223### configuration name.
224### 224###
@@ -279,14 +279,12 @@ dnl see the `changequote' comment above.
279 mips-*-netbsd*) machine=pmax ;; 279 mips-*-netbsd*) machine=pmax ;;
280 mipsel-*-netbsd*) machine=pmax ;; 280 mipsel-*-netbsd*) machine=pmax ;;
281 mipseb-*-netbsd*) machine=pmax ;; 281 mipseb-*-netbsd*) machine=pmax ;;
282 ns32k-*-netbsd*) machine=ns32000 ;;
283 powerpc-*-netbsd*) machine=macppc ;; 282 powerpc-*-netbsd*) machine=macppc ;;
284 sparc*-*-netbsd*) machine=sparc ;; 283 sparc*-*-netbsd*) machine=sparc ;;
285 vax-*-netbsd*) machine=vax ;; 284 vax-*-netbsd*) machine=vax ;;
286 arm-*-netbsd*) machine=arm ;; 285 arm-*-netbsd*) machine=arm ;;
287 x86_64-*-netbsd*) machine=amdx86-64 ;; 286 x86_64-*-netbsd*) machine=amdx86-64 ;;
288 hppa-*-netbsd*) machine=hp800 ;; 287 hppa-*-netbsd*) machine=hp800 ;;
289 shle-*-netbsd*) machine=sh3el ;;
290 esac 288 esac
291 ;; 289 ;;
292 290
@@ -299,10 +297,8 @@ dnl see the `changequote' comment above.
299 hppa-*-openbsd*) machine=hp9000s300 ;; 297 hppa-*-openbsd*) machine=hp9000s300 ;;
300 i386-*-openbsd*) machine=intel386 ;; 298 i386-*-openbsd*) machine=intel386 ;;
301 m68k-*-openbsd*) machine=hp9000s300 ;; 299 m68k-*-openbsd*) machine=hp9000s300 ;;
302 m88k-*-openbsd*) machine=aviion ;;
303 mips64-*-openbsd*) machine=mips64 ;; 300 mips64-*-openbsd*) machine=mips64 ;;
304 powerpc-*-openbsd*) machine=macppc ;; 301 powerpc-*-openbsd*) machine=macppc ;;
305 sh-*-openbsd*) machine=sh3el ;;
306 sparc*-*-openbsd*) machine=sparc ;; 302 sparc*-*-openbsd*) machine=sparc ;;
307 vax-*-openbsd*) machine=vax ;; 303 vax-*-openbsd*) machine=vax ;;
308 x86_64-*-openbsd*) machine=amdx86-64 ;; 304 x86_64-*-openbsd*) machine=amdx86-64 ;;
@@ -318,16 +314,6 @@ dnl see the `changequote' comment above.
318 esac 314 esac
319 ;; 315 ;;
320 316
321 ## Acorn RISCiX:
322 arm-acorn-riscix1.1* )
323 machine=acorn opsys=riscix1-1
324 ;;
325 arm-acorn-riscix1.2* | arm-acorn-riscix )
326 ## This name is riscix12 instead of riscix1.2
327 ## to avoid a file name conflict on MSDOS.
328 machine=acorn opsys=riscix12
329 ;;
330
331 ## BSDI ports 317 ## BSDI ports
332 *-*-bsdi* ) 318 *-*-bsdi* )
333 opsys=bsdi 319 opsys=bsdi
@@ -345,19 +331,6 @@ dnl see the `changequote' comment above.
345 esac 331 esac
346 ;; 332 ;;
347 333
348 ## Alliant machines
349 ## Strictly speaking, we need the version of the alliant operating
350 ## system to choose the right machine file, but currently the
351 ## configuration name doesn't tell us enough to choose the right
352 ## one; we need to give alliants their own operating system name to
353 ## do this right. When someone cares, they can help us.
354 fx80-alliant-* )
355 machine=alliant4 opsys=bsd4-2
356 ;;
357 i860-alliant-* )
358 machine=alliant-2800 opsys=bsd4-3
359 ;;
360
361 ## Alpha (DEC) machines. 334 ## Alpha (DEC) machines.
362 alpha*-dec-osf* ) 335 alpha*-dec-osf* )
363 machine=alpha opsys=osf1 336 machine=alpha opsys=osf1
@@ -383,21 +356,6 @@ dnl see the `changequote' comment above.
383 machine=arm opsys=gnu-linux 356 machine=arm opsys=gnu-linux
384 ;; 357 ;;
385 358
386 ## Altos 3068
387 m68*-altos-sysv* )
388 machine=altos opsys=usg5-2
389 ;;
390
391 ## Amdahl UTS
392 580-amdahl-sysv* )
393 machine=amdahl opsys=usg5-2-2
394 ;;
395
396 ## Apollo, Domain/OS
397 m68*-apollo-* )
398 machine=apollo opsys=bsd4-3
399 ;;
400
401 ## Apple Darwin / Mac OS X 359 ## Apple Darwin / Mac OS X
402 *-apple-darwin* ) 360 *-apple-darwin* )
403 case "${canonical}" in 361 case "${canonical}" in
@@ -416,101 +374,16 @@ dnl see the `changequote' comment above.
416 fi 374 fi
417 ;; 375 ;;
418 376
419 ## AT&T 3b2, 3b5, 3b15, 3b20
420 we32k-att-sysv* )
421 machine=att3b opsys=usg5-2-2
422 ;;
423
424 ## AT&T 3b1 - The Mighty Unix PC!
425 m68*-att-sysv* )
426 machine=7300 opsys=usg5-2-2
427 ;;
428
429 ## Bull dpx20
430 rs6000-bull-bosx* )
431 machine=ibmrs6000 opsys=aix3-2
432 ;;
433
434 ## Bull dpx2
435 m68*-bull-sysv3* )
436 machine=dpx2 opsys=usg5-3
437 ;;
438
439 ## Bull sps7
440 m68*-bull-sysv2* )
441 machine=sps7 opsys=usg5-2
442 ;;
443
444 ## CCI 5/32, 6/32 -- see "Tahoe".
445
446 ## Celerity
447 ## I don't know what configuration name to use for this; config.sub
448 ## doesn't seem to know anything about it. Hey, Celerity users, get
449 ## in touch with us!
450 celerity-celerity-bsd* )
451 machine=celerity opsys=bsd4-2
452 ;;
453
454 ## Clipper
455 ## What operating systems does this chip run that Emacs has been
456 ## tested on?
457 clipper-* )
458 machine=clipper
459 ## We'll use the catch-all code at the bottom to guess the
460 ## operating system.
461 ;;
462
463 ## Compaq Nonstop 377 ## Compaq Nonstop
464 mips-compaq-nonstopux* ) 378 mips-compaq-nonstopux* )
465 machine=nonstopux opsys=nonstopux 379 machine=nonstopux opsys=nonstopux
466 ;; 380 ;;
467 381
468 ## Convex
469 *-convex-bsd* | *-convex-convexos* )
470 machine=convex opsys=bsd4-3
471 ## Prevents spurious white space in makefiles - d.m.cooke@larc.nasa.gov
472 NON_GNU_CPP="cc -E -P"
473 ;;
474
475 ## Cubix QBx/386 382 ## Cubix QBx/386
476 i[3456]86-cubix-sysv* ) 383 i[3456]86-cubix-sysv* )
477 machine=intel386 opsys=usg5-3 384 machine=intel386 opsys=usg5-3
478 ;; 385 ;;
479 386
480 ## Cydra 5
481 cydra*-cydrome-sysv* )
482 machine=cydra5 opsys=usg5-3
483 ;;
484
485 ## Data General AViiON Machines
486 ## DG changed naming conventions with the release of 5.4.4.10, they
487 ## dropped the initial 5.4 but left the intervening R. Because of the
488 ## R this shouldn't conflict with older versions of the OS (which I
489 ## think were named like dgux4.*). In addition, DG new AViiONs series
490 ## uses either Motorola M88k or Intel Pentium CPUs.
491 m88k-dg-dguxR4.* | m88k-dg-dgux4* )
492 machine=aviion opsys=dgux4
493 ;;
494 m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
495 ## This name is dgux5-4-3 instead of dgux5-4r3
496 ## to avoid a file name conflict on MSDOS.
497 machine=aviion opsys=dgux5-4-3
498 ;;
499 m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* )
500 machine=aviion opsys=dgux5-4r2
501 ;;
502 m88k-dg-dgux* )
503 machine=aviion opsys=dgux
504 ;;
505
506 ## Data General AViiON Intel (x86) Machines
507 ## Exists from 5.4.3 (current i586-dg-dguxR4.11)
508 ## Ehud Karni, 1998-may-30, ehud@unix.simonwiesel.co.il
509 i[345]86-dg-dguxR4* )
510 machine=aviion-intel opsys=dgux4
511 ;;
512
513 ## DECstations
514 mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* ) 387 mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
515 machine=pmax opsys=bsd4-2 388 machine=pmax opsys=bsd4-2
516 ;; 389 ;;
@@ -527,96 +400,6 @@ dnl see the `changequote' comment above.
527 machine=pmax opsys=mach-bsd4-3 400 machine=pmax opsys=mach-bsd4-3
528 ;; 401 ;;
529 402
530 ## Motorola Delta machines
531 m68k-motorola-sysv* | m68000-motorola-sysv* )
532 machine=delta opsys=usg5-3
533 if test -z "`type gnucc | grep 'not found'`"
534 then
535 if test -s /etc/167config
536 then CC="gnucc -m68040"
537 else CC="gnucc -m68881"
538 fi
539 else
540 if test -z "`type gcc | grep 'not found'`"
541 then CC=gcc
542 else CC=cc
543 fi
544 fi
545 ;;
546 m88k-motorola-sysv4* )
547 # jbotte@bnr.ca says that UNIX_System_V <hostName> 4.0 R40V4.3 m88k mc88110
548 # needs POSIX_SIGNALS and therefore needs usg5-4-2.
549 # I hope there are not other 4.0 versions for this machine
550 # which really need usg5-4 instead.
551 machine=delta88k opsys=usg5-4-2
552 ;;
553 m88k-motorola-sysv* | m88k-motorola-m88kbcs* )
554 machine=delta88k opsys=usg5-3
555 ;;
556
557 ## Dual machines
558 m68*-dual-sysv* )
559 machine=dual opsys=usg5-2
560 ;;
561 m68*-dual-uniplus* )
562 machine=dual opsys=unipl5-2
563 ;;
564
565 ## Elxsi 6400
566 elxsi-elxsi-sysv* )
567 machine=elxsi opsys=usg5-2
568 ;;
569
570 ## Encore machines
571 ns16k-encore-bsd* )
572 machine=ns16000 opsys=umax
573 ;;
574
575 ## The GEC 63 - apparently, this port isn't really finished yet.
576 # I'm sure we finished off the last of the machines, though. -- fx
577
578 ## Gould Power Node and NP1
579 pn-gould-bsd4.2* )
580 machine=gould opsys=bsd4-2
581 ;;
582 pn-gould-bsd4.3* )
583 machine=gould opsys=bsd4-3
584 ;;
585 np1-gould-bsd* )
586 machine=gould-np1 opsys=bsd4-3
587 ;;
588
589 ## Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000
590 ## as far as Emacs is concerned).
591 m88k-harris-cxux* )
592 # Build needs to be different on 7.0 and later releases
593 case "`uname -r`" in
594 [56].[0-9] ) machine=nh4000 opsys=cxux ;;
595 [7].[0-9] ) machine=nh4000 opsys=cxux7 ;;
596 esac
597 NON_GNU_CPP="/lib/cpp"
598 ;;
599 ## Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
600 m68k-harris-cxux* )
601 machine=nh3000 opsys=cxux
602 ;;
603 ## Harris power pc NightHawk running Power UNIX (Series 6000)
604 powerpc-harris-powerunix )
605 machine=nh6000 opsys=powerunix
606 NON_GNU_CPP="cc -Xo -E -P"
607 ;;
608 ## SR2001/SR2201 running HI-UX/MPP
609 hppa1.1-hitachi-hiuxmpp* )
610 machine=sr2k opsys=hiuxmpp
611 ;;
612 hppa1.1-hitachi-hiuxwe2* )
613 machine=sr2k opsys=hiuxwe2
614 ;;
615 ## Honeywell XPS100
616 xps*-honeywell-sysv* )
617 machine=xps100 opsys=usg5-2
618 ;;
619
620 ## HP 9000 series 200 or 300 403 ## HP 9000 series 200 or 300
621 m68*-hp-bsd* ) 404 m68*-hp-bsd* )
622 machine=hp9000s300 opsys=bsd4-3 405 machine=hp9000s300 opsys=bsd4-3
@@ -678,21 +461,7 @@ dnl see the `changequote' comment above.
678 machine=hp800 opsys=nextstep 461 machine=hp800 opsys=nextstep
679 ;; 462 ;;
680 463
681 ## Orion machines
682 orion-orion-bsd* )
683 machine=orion opsys=bsd4-2
684 ;;
685 clipper-orion-bsd* )
686 machine=orion105 opsys=bsd4-2
687 ;;
688
689 ## IBM machines 464 ## IBM machines
690 i[3456]86-ibm-aix1.1* )
691 machine=ibmps2-aix opsys=usg5-2-2
692 ;;
693 i[3456]86-ibm-aix1.[23]* | i[3456]86-ibm-aix* )
694 machine=ibmps2-aix opsys=usg5-3
695 ;;
696 i370-ibm-aix*) 465 i370-ibm-aix*)
697 machine=ibm370aix opsys=usg5-3 466 machine=ibm370aix opsys=usg5-3
698 ;; 467 ;;
@@ -729,51 +498,12 @@ dnl see the `changequote' comment above.
729 rs6000-ibm-aix* | powerpc-ibm-aix* ) 498 rs6000-ibm-aix* | powerpc-ibm-aix* )
730 machine=ibmrs6000 opsys=aix3-2 499 machine=ibmrs6000 opsys=aix3-2
731 ;; 500 ;;
732 romp-ibm-bsd4.3* )
733 machine=ibmrt opsys=bsd4-3
734 ;;
735 romp-ibm-bsd4.2* )
736 machine=ibmrt opsys=bsd4-2
737 ;;
738 romp-ibm-aos4.3* )
739 machine=ibmrt opsys=bsd4-3
740 ;;
741 romp-ibm-aos4.2* )
742 machine=ibmrt opsys=bsd4-2
743 ;;
744 romp-ibm-aos* )
745 machine=ibmrt opsys=bsd4-3
746 ;;
747 romp-ibm-bsd* )
748 machine=ibmrt opsys=bsd4-3
749 ;;
750 romp-ibm-aix* )
751 machine=ibmrt-aix opsys=usg5-2-2
752 ;;
753
754 ## Integrated Solutions `Optimum V'
755 m68*-isi-bsd4.2* )
756 machine=isi-ov opsys=bsd4-2
757 ;;
758 m68*-isi-bsd4.3* )
759 machine=isi-ov opsys=bsd4-3
760 ;;
761
762 ## Intel 386 machines where we do care about the manufacturer
763 i[3456]86-intsys-sysv* )
764 machine=is386 opsys=usg5-2-2
765 ;;
766 501
767 ## Prime EXL 502 ## Prime EXL
768 i[3456]86-prime-sysv* ) 503 i[3456]86-prime-sysv* )
769 machine=i386 opsys=usg5-3 504 machine=i386 opsys=usg5-3
770 ;; 505 ;;
771 506
772 ## Sequent Symmetry running Dynix
773 i[3456]86-sequent-bsd* )
774 machine=symmetry opsys=bsd4-3
775 ;;
776
777 ## Sequent Symmetry running ptx 4, which is a modified SVR4. 507 ## Sequent Symmetry running ptx 4, which is a modified SVR4.
778 i[3456]86-sequent-ptx4* | i[3456]86-sequent-sysv4* ) 508 i[3456]86-sequent-ptx4* | i[3456]86-sequent-sysv4* )
779 machine=sequent-ptx opsys=ptx4 509 machine=sequent-ptx opsys=ptx4
@@ -798,28 +528,11 @@ dnl see the `changequote' comment above.
798 machine=ncr386 opsys=usg5-4-2 528 machine=ncr386 opsys=usg5-4-2
799 ;; 529 ;;
800 530
801 ## Intel Paragon OSF/1
802 i860-intel-osf1* )
803 machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp
804 ;;
805
806 ## Intel 860
807 i860-*-sysv4* )
808 machine=i860 opsys=usg5-4
809 NON_GNU_CC="/bin/cc" # Ie, not the one in /usr/ucb/cc.
810 NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion.
811 ;;
812
813 ## Macintosh PowerPC 531 ## Macintosh PowerPC
814 powerpc*-*-linux-gnu* ) 532 powerpc*-*-linux-gnu* )
815 machine=macppc opsys=gnu-linux 533 machine=macppc opsys=gnu-linux
816 ;; 534 ;;
817 535
818 ## Megatest machines
819 m68*-megatest-bsd* )
820 machine=mega68 opsys=bsd4-2
821 ;;
822
823 ## Workstations sold by MIPS 536 ## Workstations sold by MIPS
824 ## This is not necessarily all workstations using the MIPS processor - 537 ## This is not necessarily all workstations using the MIPS processor -
825 ## Irises are produced by SGI, and DECstations by DEC. 538 ## Irises are produced by SGI, and DECstations by DEC.
@@ -857,54 +570,11 @@ dnl see the `changequote' comment above.
857 machine=m68k opsys=nextstep 570 machine=m68k opsys=nextstep
858 ;; 571 ;;
859 572
860 ## The complete machine from National Semiconductor
861 ns32k-ns-genix* )
862 machine=ns32000 opsys=usg5-2
863 ;;
864
865 ## NCR machines
866 m68*-ncr-sysv2* | m68*-ncr-sysvr2* )
867 machine=tower32 opsys=usg5-2-2
868 ;;
869 m68*-ncr-sysv3* | m68*-ncr-sysvr3* )
870 machine=tower32v3 opsys=usg5-3
871 ;;
872
873 ## NEC EWS4800 573 ## NEC EWS4800
874 mips-nec-sysv4*) 574 mips-nec-sysv4*)
875 machine=ews4800 opsys=ux4800 575 machine=ews4800 opsys=ux4800
876 ;; 576 ;;
877 577
878 ## Nixdorf Targon 31
879 m68*-nixdorf-sysv* )
880 machine=targon31 opsys=usg5-2-2
881 ;;
882
883 ## Nu (TI or LMI)
884 m68*-nu-sysv* )
885 machine=nu opsys=usg5-2
886 ;;
887
888 ## Plexus
889 m68*-plexus-sysv* )
890 machine=plexus opsys=usg5-2
891 ;;
892
893 ## Pyramid machines
894 ## I don't really have any idea what sort of processor the Pyramid has,
895 ## so I'm assuming it is its own architecture.
896 pyramid-pyramid-bsd* )
897 machine=pyramid opsys=bsd4-2
898 ;;
899
900 ## Sequent Balance
901 ns32k-sequent-bsd4.2* )
902 machine=sequent opsys=bsd4-2
903 ;;
904 ns32k-sequent-bsd4.3* )
905 machine=sequent opsys=bsd4-3
906 ;;
907
908 ## Siemens Nixdorf 578 ## Siemens Nixdorf
909 mips-siemens-sysv* | mips-sni-sysv*) 579 mips-siemens-sysv* | mips-sni-sysv*)
910 machine=mips-siemens opsys=usg5-4 580 machine=mips-siemens opsys=usg5-4
@@ -913,13 +583,6 @@ dnl see the `changequote' comment above.
913 ;; 583 ;;
914 584
915 ## Silicon Graphics machines 585 ## Silicon Graphics machines
916 ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
917 m68*-sgi-iris3.5* )
918 machine=irist opsys=iris3-5
919 ;;
920 m68*-sgi-iris3.6* | m68*-sgi-iris*)
921 machine=irist opsys=iris3-6
922 ;;
923 ## Iris 4D 586 ## Iris 4D
924 mips-sgi-irix3* ) 587 mips-sgi-irix3* )
925 machine=iris4d opsys=irix3-3 588 machine=iris4d opsys=irix3-3
@@ -950,31 +613,6 @@ dnl see the `changequote' comment above.
950 machine=iris4d opsys=irix5-2 613 machine=iris4d opsys=irix5-2
951 ;; 614 ;;
952 615
953 ## SONY machines
954 m68*-sony-bsd4.2* )
955 machine=news opsys=bsd4-2
956 ;;
957 m68*-sony-bsd4.3* )
958 machine=news opsys=bsd4-3
959 ;;
960 m68*-sony-newsos3* | m68*-sony-news3*)
961 machine=news opsys=bsd4-3
962 ;;
963 mips-sony-bsd* | mips-sony-newsos4* | mips-sony-news4*)
964 machine=news-risc opsys=bsd4-3
965 ;;
966 mips-sony-newsos6* )
967 machine=news-r6 opsys=newsos6
968 ;;
969 mips-sony-news* )
970 machine=news-risc opsys=newsos5
971 ;;
972
973 ## Stride
974 m68*-stride-sysv* )
975 machine=stride opsys=usg5-2
976 ;;
977
978 ## Suns 616 ## Suns
979 sparc-*-linux-gnu* | sparc64-*-linux-gnu* ) 617 sparc-*-linux-gnu* | sparc64-*-linux-gnu* )
980 machine=sparc opsys=gnu-linux 618 machine=sparc opsys=gnu-linux
@@ -984,10 +622,6 @@ dnl see the `changequote' comment above.
984 | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \ 622 | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
985 | rs6000-*-solaris2*) 623 | rs6000-*-solaris2*)
986 case "${canonical}" in 624 case "${canonical}" in
987 m68*-sunos1* ) machine=sun1 ;;
988 m68*-sunos2* ) machine=sun2 ;;
989 m68* ) machine=sun3 ;;
990 i[3456]86-sun-sunos[34]* ) machine=sun386 ;;
991 i[3456]86-*-* ) machine=intel386 ;; 625 i[3456]86-*-* ) machine=intel386 ;;
992 amd64-*-*|x86_64-*-*) machine=amdx86-64 ;; 626 amd64-*-*|x86_64-*-*) machine=amdx86-64 ;;
993 powerpcle* ) machine=powerpcle ;; 627 powerpcle* ) machine=powerpcle ;;
@@ -996,26 +630,6 @@ dnl see the `changequote' comment above.
996 * ) unported=yes ;; 630 * ) unported=yes ;;
997 esac 631 esac
998 case "${canonical}" in 632 case "${canonical}" in
999 ## The Sun386 didn't get past 4.0.
1000 i[3456]86-*-sunos4 ) opsys=sunos4-0 ;;
1001 *-sunos4.0* ) opsys=sunos4-0 ;;
1002 *-sunos4.1.[3-9]*noshare )
1003 ## This name is sunos413 instead of sunos4-1-3
1004 ## to avoid a file name conflict on MSDOS.
1005 opsys=sunos413
1006 NON_GNU_CPP=/usr/lib/cpp
1007 NON_GCC_TEST_OPTIONS=-Bstatic
1008 GCC_TEST_OPTIONS=-static
1009 ;;
1010 *-sunos4.1.[3-9]* | *-sunos4shr*)
1011 opsys=sunos4shr
1012 NON_GNU_CPP=/usr/lib/cpp
1013 ;;
1014 *-sunos4* | *-sunos )
1015 opsys=sunos4-1
1016 NON_GCC_TEST_OPTIONS=-Bstatic
1017 GCC_TEST_OPTIONS=-static
1018 ;;
1019 *-sunos5.3* | *-solaris2.3* ) 633 *-sunos5.3* | *-solaris2.3* )
1020 opsys=sol2-3 634 opsys=sol2-3
1021 NON_GNU_CPP=/usr/ccs/lib/cpp 635 NON_GNU_CPP=/usr/ccs/lib/cpp
@@ -1058,50 +672,11 @@ dnl see the `changequote' comment above.
1058 machine=sparc opsys=nextstep 672 machine=sparc opsys=nextstep
1059 ;; 673 ;;
1060 674
1061 ## Tadpole 68k
1062 m68*-tadpole-sysv* )
1063 machine=tad68k opsys=usg5-3
1064 ;;
1065
1066 ## Tahoe machines
1067 tahoe-tahoe-bsd4.2* )
1068 machine=tahoe opsys=bsd4-2
1069 ;;
1070 tahoe-tahoe-bsd4.3* )
1071 machine=tahoe opsys=bsd4-3
1072 ;;
1073
1074 ## Tandem Integrity S2 675 ## Tandem Integrity S2
1075 mips-tandem-sysv* ) 676 mips-tandem-sysv* )
1076 machine=tandem-s2 opsys=usg5-3 677 machine=tandem-s2 opsys=usg5-3
1077 ;; 678 ;;
1078 679
1079 ## Tektronix XD88
1080 m88k-tektronix-sysv3* )
1081 machine=tekxd88 opsys=usg5-3
1082 ;;
1083
1084 ## Tektronix 16000 box (6130?)
1085 ns16k-tektronix-bsd* )
1086 machine=ns16000 opsys=bsd4-2
1087 ;;
1088 ## Tektronix 4300
1089 ## src/m/tek4300.h hints that this is a m68k machine.
1090 m68*-tektronix-bsd* )
1091 machine=tek4300 opsys=bsd4-3
1092 ;;
1093
1094 ## Titan P2 or P3
1095 ## We seem to have lost the machine-description file titan.h!
1096 titan-titan-sysv* )
1097 machine=titan opsys=usg5-3
1098 ;;
1099
1100 ## Ustation E30 (SS5E)
1101 m68*-unisys-uniplus* )
1102 machine=ustation opsystem=unipl5-2
1103 ;;
1104
1105 ## Vaxen. 680 ## Vaxen.
1106 vax-dec-* ) 681 vax-dec-* )
1107 machine=vax 682 machine=vax
@@ -1116,18 +691,6 @@ dnl see the `changequote' comment above.
1116 esac 691 esac
1117 ;; 692 ;;
1118 693
1119 ## Whitechapel MG1
1120 ns16k-whitechapel-* )
1121 machine=mg1
1122 ## We don't know what sort of OS runs on these; we'll let the
1123 ## operating system guessing code below try.
1124 ;;
1125
1126 ## Wicat
1127 m68*-wicat-sysv* )
1128 machine=wicat opsys=usg5-2
1129 ;;
1130
1131 ## IA-64 694 ## IA-64
1132 ia64*-*-linux* ) 695 ia64*-*-linux* )
1133 machine=ia64 opsys=gnu-linux 696 machine=ia64 opsys=gnu-linux
@@ -1141,24 +704,8 @@ dnl see the `changequote' comment above.
1141 *-darwin* ) opsys=darwin 704 *-darwin* ) opsys=darwin
1142 CPP="${CC-cc} -E -no-cpp-precomp" 705 CPP="${CC-cc} -E -no-cpp-precomp"
1143 ;; 706 ;;
1144 *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
1145 *-isc2.2* ) opsys=isc2-2 ;;
1146 *-isc4.0* ) opsys=isc4-0 ;;
1147 *-isc4.* ) opsys=isc4-1
1148 GCC_TEST_OPTIONS=-posix
1149 NON_GCC_TEST_OPTIONS=-Xp
1150 ;;
1151 *-isc* ) opsys=isc3-0 ;;
1152 *-esix5* ) opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;;
1153 *-esix* ) opsys=esix ;;
1154 *-xenix* ) opsys=xenix ;; 707 *-xenix* ) opsys=xenix ;;
1155 *-linux-gnu* ) opsys=gnu-linux ;; 708 *-linux-gnu* ) opsys=gnu-linux ;;
1156 *-sco3.2v4* ) opsys=sco4 ; NON_GNU_CPP=/lib/cpp ;;
1157 *-sco3.2v5* ) opsys=sco5
1158 NON_GNU_CPP=/lib/cpp
1159 # Prevent -belf from being passed to $CPP.
1160 # /lib/cpp does not accept it.
1161 OVERRIDE_CPPFLAGS=" "
1162 ;; 709 ;;
1163 *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; 710 *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
1164 *-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; 711 *-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
@@ -1186,11 +733,6 @@ dnl see the `changequote' comment above.
1186 RANLIB="ar -ts" 733 RANLIB="ar -ts"
1187 ;; 734 ;;
1188 735
1189 ## UXP/V
1190 f301-fujitsu-uxpv4.1)
1191 machine=f301 opsys=uxpv
1192 ;;
1193
1194 ## AMD x86-64 Linux-based GNU system 736 ## AMD x86-64 Linux-based GNU system
1195 x86_64-*-linux-gnu* ) 737 x86_64-*-linux-gnu* )
1196 machine=amdx86-64 opsys=gnu-linux 738 machine=amdx86-64 opsys=gnu-linux
@@ -3388,9 +2930,9 @@ typedef unsigned size_t;
3388# ifndef GC_SETJMP_WORKS 2930# ifndef GC_SETJMP_WORKS
3389 /* GC_SETJMP_WORKS is nearly always appropriate for GCC -- 2931 /* GC_SETJMP_WORKS is nearly always appropriate for GCC --
3390 see NON_SAVING_SETJMP in the target descriptions. */ 2932 see NON_SAVING_SETJMP in the target descriptions. */
3391 /* Exceptions (see NON_SAVING_SETJMP in target description) are ns32k, 2933 /* Exceptions (see NON_SAVING_SETJMP in target description) are
3392 SCO5 non-ELF (but Emacs specifies ELF) and SVR3 on x86. 2934 SCO5 non-ELF (but Emacs specifies ELF) and SVR3 on x86.
3393 Fixme: Deal with ns32k, SVR3. */ 2935 Fixme: Deal with SVR3. */
3394# define GC_SETJMP_WORKS 1 2936# define GC_SETJMP_WORKS 1
3395# endif 2937# endif
3396# ifndef GC_LISP_OBJECT_ALIGNMENT 2938# ifndef GC_LISP_OBJECT_ALIGNMENT
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index d0beaba9a86..9d69ae81f67 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
12008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * os.texi (System Environment): Remove references to OSes that are
4 not supported anymore.
5
12008-01-05 Dan Nicolaescu <dann@ics.uci.edu> 62008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
2 7
3 * os.texi (System Environment): Remove mention for Masscomp. 8 * os.texi (System Environment): Remove mention for Masscomp.
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index fc7003d7d84..d23ff1b2269 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -645,9 +645,6 @@ Berkeley BSD.
645@item cygwin 645@item cygwin
646Cygwin. 646Cygwin.
647 647
648@item dgux
649Data General DGUX operating system.
650
651@item gnu 648@item gnu
652the GNU system (using the GNU kernel, which consists of the HURD and Mach). 649the GNU system (using the GNU kernel, which consists of the HURD and Mach).
653 650
@@ -670,9 +667,6 @@ MS-Windows.
670@item next-mach 667@item next-mach
671NeXT Mach-based system. 668NeXT Mach-based system.
672 669
673@item unisoft-unix
674UniSoft UniPlus.
675
676@item usg-unix-v 670@item usg-unix-v
677AT&T System V. 671AT&T System V.
678 672
@@ -683,8 +677,6 @@ VAX VMS.
683Microsoft windows NT. The same executable supports Windows 9X, but the 677Microsoft windows NT. The same executable supports Windows 9X, but the
684value of @code{system-type} is @code{windows-nt} in either case. 678value of @code{system-type} is @code{windows-nt} in either case.
685 679
686@item xenix
687SCO Xenix 386.
688@end table 680@end table
689 681
690We do not wish to add new symbols to make finer distinctions unless it 682We do not wish to add new symbols to make finer distinctions unless it
diff --git a/etc/ChangeLog b/etc/ChangeLog
index f3ff65730d0..e478380f863 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,8 @@
12008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * PROBLEMS:
4 * MACHINES: Remove references to systems not supported anymore.
5
12008-01-05 Dan Nicolaescu <dann@ics.uci.edu> 62008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
2 7
3 * MACHINES: Remove Masscomp. 8 * MACHINES: Remove Masscomp.
diff --git a/etc/MACHINES b/etc/MACHINES
index 028062d2e2c..a4ce691ba17 100644
--- a/etc/MACHINES
+++ b/etc/MACHINES
@@ -31,55 +31,7 @@ to operating system names (i.e. sunos4.1) or architecture names (i.e.
31hppa1.1). If you leave out the version number, the `configure' script 31hppa1.1). If you leave out the version number, the `configure' script
32will configure Emacs for the latest version it knows about. 32will configure Emacs for the latest version it knows about.
33 33
34Acorn RISCiX (arm-acorn-riscix1.2) 34Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu)
35
36 Emacs 19.29 has changes that ought to support RISCiX 1.2.
37
38 Due to a bug in the RISCiX C compiler (3.4.5), emacs must
39 be built with gcc (versions 2.5.8 onwards).
40
41 In addition, you will need GNU sed and GNU make, as the RISCiX release
42 versions of these utilities cannot cope with building emacs-19!
43
44 GNU sed should be configured with:
45
46 env 'DEFS=-Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind \
47 -Doptarg=gnu_optarg' ./configure
48
49 GNU make (3.72+) should be configured with:
50
51 env 'CFLAGS=-Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind \
52 -Doptarg=gnu_optarg' ./configure
53
54 Emacs may be configured to use the X toolkit, by adding --with-x-toolkit
55 to the configure command. If you do this, you will need to edit the line
56 in src/Makefile which defines LIBW (about line 59) to read:
57
58 LIBW= -lXaw_n
59
60 This ensures that the non-shared widget library is used.
61
62 It is unlikely that this version of emacs will work with RISCiX 1.1.
63
64Alliant (fx80-alliant-bsd):
65
66 18.52 worked on system version 4. Previous Emacs versions were
67 known to work on previous system versions.
68
69 If you are using older versions of their operating system, you may
70 need to edit `src/config.h' to use `m/alliant1.h' (on version 1) or
71 `m/alliant.h' (on versions 2 and 3).
72
73Alliant FX/2800 (i860-alliant-bsd)
74
75 Known to work with 19.26 and OS version 2.2, compiler version 1.3.
76
77Alpha (DEC) running OSF/1 or GNU/Linux (alpha-dec-osf1, alpha-dec-linux-gnu)
78
79 For OSF/1 (aka Digital Unix) version 4.0, update 386,
80 it is reported that you need to run configure this way:
81
82 configure --x-includes=/usr/include --x-libraries=/usr/shlib
83 35
84 DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f) 36 DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f)
85 is reported to produce bogus binaries of Emacs 21.2 when the 37 is reported to produce bogus binaries of Emacs 21.2 when the
@@ -96,23 +48,6 @@ Alpha (DEC) running OSF/1 or GNU/Linux (alpha-dec-osf1, alpha-dec-linux-gnu)
96 said to have bugs that prevent Emacs from working with X (as of 48 said to have bugs that prevent Emacs from working with X (as of
97 November 1995). Recent releases work (July 2000). 49 November 1995). Recent releases work (July 2000).
98 50
99Altos 3068 (m68k-altos-sysv)
100
101 18.52 was said to work, provided you don't compile unexec.c with -O.
102
103Amdahl UTS (580-amdahl-sysv)
104
105 Small changes for 18.38 were merged in 18.39. It is mostly
106 working, but at last report a bug sometimes causes Emacs to
107 grab very large amounts of memory. No fix or explanation
108 has yet been reported. It may be possible to find this bug
109 if you find which Emacs command it happens within and then
110 run that command with a breakpoint set at malloc.
111
112 The 5.2u370 compiler is so brain damaged that it is not
113 even worth trying to use it. Success was obtained with the
114 uts native C compiler on uts version 5.2.5.
115
116Apple Macintosh running Mac OS X 51Apple Macintosh running Mac OS X
117 52
118 For installation on all versions of the Mac OS platform, see the file 53 For installation on all versions of the Mac OS platform, see the file
@@ -141,151 +76,11 @@ Apple PowerPC Macintosh running GNU/Linux
141 After that, reconfigure and rebuild Emacs. It should now build 76 After that, reconfigure and rebuild Emacs. It should now build
142 successfully. 77 successfully.
143 78
144Apollo running X Windows (m68k-apollo-bsd)
145
146 Apollo version now supports dumping. It has been tested on SR10.3 and
147 SR10.4. It certainly requires at least SR10.0, and maybe SR10.2. Be sure
148 to build in the BSD environment.
149
150 By default, everything is compiled with the switch "-W0,-opt,2". Don't try
151 to change this to full optimization (-O). The full optimizer (in Domain CC
152 6.7, 6.8 and 6.9) generates some bad code in several modules which causes
153 the emacs window, under X, to be refreshed with each keystroke.
154
155 The configuration stuff should work for the most part. However, some Domain
156 installations may have to edit src/Makefile manually after it is created.
157 There are too many versions of both cc and X to automate this easily.
158
159 In `lib-src/Makefile', emacsclient compiles and works fine under CC 6.9.
160 It now probably works under other versions of the compiler, as well.
161
162 The Apollo Domain CC compiler will issue quite a few warning messages,
163 mostly complaining about incompatible pointers. In general, these are
164 harmless and can be ignored. If you discover otherwise, please submit a bug
165 report identifying the problem in detail.
166
167 When you try to dump emacs, you may get the message ".rwdi section needs
168 relocation." This means you are linking with some code that has compressed
169 data sections. In some cases this comes from linking with X libraries. Try
170 using shared X libraries instead. With some versions of Domain/OS this is
171 as simple as removing the "-lX11" from the LIBX line in src/Makefile.
172
173 When running the configure script, use the configuration name
174 "m68k-apollo-bsd". You will also need to use the "-with-gcc=no" and
175 "-with-x" options. Depending upon your site configuration, you may have to
176 use other configure options, as well. Examine the INSTALL file for other
177 configure options.
178
179 Check out the file 'lisp/x-apollo.el'. To use it, add
180
181 (load "x-apollo")
182
183 to your .emacs file. It provides useful default Apollo function key
184 bindings.
185
186AT&T 3b2, 3b5, 3b15, 3b20 (we32k-att-sysv)
187
188 Emacs will probably not work with certain kernel constants too small.
189
190 In param.h CDLIMIT should be at least (1L << 12) in order to allow
191 processes to write up to 2 Mbyte files. This parameter is configurable
192 by normal means in /etc/master.d/kernel; examine that file for the
193 symbol CDLIMIT or ULIMIT, and raise it by several powers of 2. Then
194 do normal kernel rebuild things via "cd /boot; mkboot -k KERNEL" and so
195 forth.
196
197 In seg.h NSEGP and STACKSEG should be at least 16 and 4 respectively
198 to allow processes with total size of up to 2Mbytes.
199 However, I'm told it is unlikely this would fail to be true.
200
201 The MAXMEM may also prevent Emacs from running. The file
202 3B-MAXMEM in this directory explains how to increase MAXMEM.
203
204 On some of these machines, you may need to define IN_SCCS_ID
205 in config.h to make Emacs work. Supposedly you can tell whether
206 this is necessary by checking something in /usr/include/sys/time.h;
207 we do not know precisely what.
208
209AT&T 7300 or 3b1 (m68k-att-sysv)
210
211 18.52 worked. If you have strange troubles with dumping
212 Emacs, delete the last few lines from `src/m/7300.h' and recompile.
213 These lines are supposed to produce a sharable executable.
214
215 `src/m/7300.h' defines SHORTNAMES because operating system versions
216 older than 3.5 did not support long symbol names. Version 3.5 does
217 support them, so you can remove the #define SHORTNAMES in that
218 version.
219
220Bull DPX/2 models 2nn or 3nn (m68k-bull-sysv3)
221
222 Minor fixes merged into 19.19, which should work with CC or GCC.
223
224 You should compile with all the POSIX stuff: undef _SYSV and define
225 _POSIX_SOURCE, _XOPEN_SOURCE and _BULL_SOURCE.
226
227 On bos2.00.45 there is a bug that makes the F_SETOWN fcntl
228 call enters in an infinite loop. F_SETOWN_BUG has been defined to avoid
229 calling it.
230
231Bull DPX/20 (rs6000-bull-bosx)
232
233 Version 19 works.
234
235Bull sps7 (m68k-bull-sysv2)
236
237 Changes partially merged in version 19, but some fixes are probably required.
238
239CCI 5/32, 6/32
240
241 See "Tahoe".
242
243Celerity (celerity-celerity-bsd4.2)
244
245 Version 18.49 worked. This configuration name is a hack, because we
246 don't know the processor used by Celerities. If someone
247 who uses a Celerity could get in touch with us, we can teach
248 config.sub a better name for the configuration.
249
250Clipper (clipper-???)
251
252 Version 19 has support for some brand of clipper system. If you
253 have successfully built Emacs 19 on some sort of clipper system, let
254 us know so we can flesh out this entry.
255
256 Note that the Orion 105 is also a clipper, but some system-related
257 parameters are different.
258
259Convex (c1-convex-bsd, c2-convex-bsd, c32-convex-bsd, c34-convex-bsd,
260 c38-convex-bsd)
261
262 Support updated and residual bugs fixed in 19.26.
263
264Cubix QBx/386 (i386-cubix-sysv) 79Cubix QBx/386 (i386-cubix-sysv)
265 80
266 Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c 81 Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c
267 due to a compiler bug. 82 due to a compiler bug.
268 83
269Cydra 5 (cydra-cydrome-sysv)
270
271 18.51 worked in one version of their operating system but stopped
272 working in a newer version. This has not been fixed.
273
274Data General Aviion (m88k-dg-dgux)
275
276 19.23 works; however, the GCC provided with DGUX 5.4R3.00 fails to
277 compile src/emacs.c. GCC 2.5.8 does work.
278 The 19.26 pretest was reported to work; no word on which compiler.
279 System versions other than DGUX 5.4R3.00 have not been tested.
280
281 DGUX 5.4R3.10 works with 19.29 and 19.30.
282
283 DGUX R4.11 contains changes to the stdio internals and it doesn't work
284 with versions before 20.2 without patches. 20.2 works in interactive
285 mode but usually fails in batch mode. The problem is that using
286 stderr in the dumped emacs usually leads to a segmentation fault.
287 Only m88k has been tested.
288
289DECstation (mips-dec-ultrix or mips-dec-osf) 84DECstation (mips-dec-ultrix or mips-dec-osf)
290 85
291 This machine is the older Mips-based DECstation. 86 This machine is the older Mips-based DECstation.
@@ -319,45 +114,6 @@ Motorola Delta 147 (m68k-motorola-sysv)
319 The installation script chooses the compiler itself. gnucc is 114 The installation script chooses the compiler itself. gnucc is
320 preferred. 115 preferred.
321 116
322Motorola Delta 187 (m88k-motorola-sysv,
323 m88k-motorola-sysvr4, or
324 m88k-motorola-m88kbcs)
325
326 The 19.26 pretest was reported to run on SVR3. However, if you
327 use --with-x-toolkit on svr3, you will have problems compiling some
328 files because time.h and sys/time.h get included twice.
329 One fix is to edit those files to protect against multiple inclusion.
330
331 As of version 19.13, Emacs was reported to run under SYSVr3 and SYSVr4.
332
333Dual running System V (m68k-dual-sysv)
334
335 As of 17.46, this worked except for a few changes
336 needed in unexec.c.
337
338Dual running Uniplus (m68k-dual-uniplus)
339
340 Worked, as of 17.51.
341
342Elxsi 6400 (elxsi-elxsi-sysv)
343
344 Changes for 12.0 release are in 19.1.
345 Dumping should work now.
346
347Encore machine (ns16k-encore-bsd)
348
349 This machine bizarrely uses 4.2BSD modified to use the COFF format
350 for object files. Works (as of 18.40). For the APC processor you
351 must enable two lines at the end of `src/s/umax.h', which are commented
352 out in the file as distributed.
353
354 WARNING: If you compile Emacs with the "-O" compiler switch, you
355 must also use the "-q enter_exits" switch so that all functions have
356 stack frames. Otherwise routines that call `alloca' all lose.
357
358 A kernel bug in some system versions causes input characters to be lost
359 occasionally.
360
361Fujitsu DS/90 (sparc-fujitsu-sysv4) 117Fujitsu DS/90 (sparc-fujitsu-sysv4)
362 118
363 Changes merged in 20.3. 119 Changes merged in 20.3.
@@ -368,50 +124,10 @@ GEC 63 (local-gec63-usg5.2)
368 more work. Let us know if you get this working, and we'll give it a 124 more work. Let us know if you get this working, and we'll give it a
369 real configuration name. 125 real configuration name.
370 126
371Gould Power Node (pn-gould-bsd4.2 or pn-gould-bsd4.3)
372
373 18.36 worked on versions 1.2 and 2.0 of the operating system.
374
375 On UTX/32 2.0, use pn-gould-bsd4.3.
376
377 On UTX/32 1.2 and UTX/32S 1.0, use pn-gould-bsd4.2 and note that
378 compiling `lib-src/sorted-doc' tickles a compiler bug: remove the -g
379 flag to cc in the makefile.
380
381 UTX/32 1.3 has a bug in the bcopy library routine. Fix it by
382 #undef BSTRING in `src/m/gould.h'.
383
384 Version 19 incorporates support for releases 2.1 and later of UTX/32.
385 A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h.
386
387Gould NP1 (np1-gould-bsd)
388
389 Version 19 supposedly works.
390
391Harris Night Hawk (m68k-harris-cxux or m88k-harris-cxux)
392
393 This port was added in 19.23. The configuration actually tested was
394 a Night Hawk 4800 running CX/UX 7.0.
395
396 If you have GCC ported and want to build with it, you probably need to
397 change things (like compiler switches) defined in the s/cxux.h file.
398
399 If you have X11R6 installed in /usr/lib, configure will fail to find
400 it and may find X11R5 instead. To work around this problem, use
401 --x-libraries=/usr/lib when you run configure.
402
403 With CX/UX 7.0 and later releases, you need to build after setting the
404 SDE_TARGET environment variable to COFF (a port using ELF and shared
405 libraries has not yet been done).
406
407Harris Power PC (powerpc-harris-powerunix) 127Harris Power PC (powerpc-harris-powerunix)
408 128
409 Patches have been merged in 19.31. 129 Patches have been merged in 19.31.
410 130
411Honeywell XPS100 (xps100-honeywell-sysv)
412
413 Config file added in version 19.
414
415Hewlett-Packard 9000 series 200 or 300 (m68k-hp-bsd or m68k-hp-hpux 131Hewlett-Packard 9000 series 200 or 300 (m68k-hp-bsd or m68k-hp-hpux
416 or m68k-hp-netbsd) 132 or m68k-hp-netbsd)
417 133
@@ -532,35 +248,6 @@ HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux
532 do not require any special software). If the file "/etc/filesets/C" 248 do not require any special software). If the file "/etc/filesets/C"
533 exists on your machine, you have this software, otherwise you do not. 249 exists on your machine, you have this software, otherwise you do not.
534 250
535High Level Hardware Orion (orion-highlevel-bsd)
536
537 This is the original microprogrammed hardware.
538 Machine description file ought to work.
539
540High Level Hardware Orion 1/05 (clipper-highlevel-bsd)
541
542 Changes merged in 18.52. This is the one with the Clipper cpu.
543 Note that systems which lack NFS need LOAD_AVE_TYPE changed to `double'.
544
545 C compiler has a bug; it loops compiling eval.c.
546 Compile it by hand without optimization.
547
548HITACHI SR2001/SR2201 series (hppa1.1-hitachi-hiuxwe2)
549
550 These machines are based on PA architecture running HI-UX/MPP
551 (based on OSF1. `MPP' stands for `Massively Parallel Processor').
552
553 Emacs 19.34 is believed to work; its pretest was tested
554 both on SR2001 (output of `uname -rv' is `00-01-BB 0') and
555 SR2201 (`02-00 0').
556
557 Emacs 20.7 was reported to build on a system whose `uname -rs'
558 output is `HI-UX/MPP 03-04'.
559
560 The machine description file is `src/m/sr2k.h' is based on
561 `src/m/hp800.h'. The system description file is `src/s/hiuxwe2.h'
562 based on `src/s/osf1.h'. Note that this system doesn't use COFF.
563
564IBM PS/2 (i386-ibm-aix1.1 or i386-ibm-aix1.2) 251IBM PS/2 (i386-ibm-aix1.1 or i386-ibm-aix1.2)
565 252
566 Changes merged in version 19. You may need to copy 253 Changes merged in version 19. You may need to copy
@@ -604,19 +291,6 @@ IBM RS/6000 (rs6000-ibm-aix*)
604 If anyone can fix the above problems, or confirm that they don't happen 291 If anyone can fix the above problems, or confirm that they don't happen
605 with certain versions of various programs, we would appreciate it. 292 with certain versions of various programs, we would appreciate it.
606 293
607IBM RT/PC (romp-ibm-bsd or romp-ibm-aix)
608
609 Use romp-ibm-bsd for the 4.2-like system and romp-ibm-aix for AIX.
610 19.22 is reported to work under bsd. We don't know about AIX.
611
612 On BSD, if you have trouble, try compiling with a different compiler.
613
614 On AIX, the file /usr/lib/samples/hft/hftctl.c must be compiled into
615 hftctl.o, with this result left in the src directory (hftctl.c is
616 part of the standard AIX distribution).
617
618 window.c must not be compiled with -O on AIX.
619
620IBM System/390 running GNU/Linux (s390-*-linux-gnu) 294IBM System/390 running GNU/Linux (s390-*-linux-gnu)
621 295
622 As of Emacs 21.2, a 31-bit only version is supported on this 296 As of Emacs 21.2, a 31-bit only version is supported on this
@@ -638,12 +312,11 @@ Integrated Solutions `Optimum V' (m68k-isi-bsd4.2 or -bsd4.3)
638 in a system header file, which confuses Emacs (which thinks that UMAX 312 in a system header file, which confuses Emacs (which thinks that UMAX
639 indicates the Umax operating system). 313 indicates the Umax operating system).
640 314
641Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2, 315Intel 386 (i386-*-bsdi2, i386-*-freebsd, i386-*-linux-gnu,
642 i386-*-xenix, i386-*-freebsd, i386-*-linux-gnu,
643 i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv, 316 i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv,
644 i386-*-sysv4, i386-*-sysv4.2, 317 i386-*-sysv4, i386-*-sysv4.2,
645 i386-*-sysv5.3, i386-*-bsd4.2, i386-*-cygwin, 318 i386-*-sysv5.3, i386-*-bsd4.2, i386-*-cygwin,
646 i386-*-sco3.2v4, i386-*-bsd386, i386-*-386bsd, 319 i386-*-bsd386, i386-*-386bsd,
647 i386-*-msdos, i386-*-windowsnt. 320 i386-*-msdos, i386-*-windowsnt.
648 i386... can be replaced with i486... or i586...) 321 i386... can be replaced with i486... or i586...)
649 322
@@ -654,13 +327,11 @@ Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2,
654 When using the ISC configurations, be sure to specify the isc 327 When using the ISC configurations, be sure to specify the isc
655 version number - for example, if you're running ISC 3.0, use 328 version number - for example, if you're running ISC 3.0, use
656 i386-unknown-isc3.0 as your configuration name. 329 i386-unknown-isc3.0 as your configuration name.
657 Use i386-*-esix for Esix; Emacs runs as of version 19.6.
658 Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26. 330 Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26.
659 Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11 331 Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11
660 and non-X11 modes. (The Cygwin site has source and binaries for 21.2.) 332 and non-X11 modes. (The Cygwin site has source and binaries for 21.2.)
661 Use i386-intsys-sysv for Integrated Solutions 386 machines. 333 Use i386-intsys-sysv for Integrated Solutions 386 machines.
662 It may also be correct for Microport systems. 334 It may also be correct for Microport systems.
663 Use i386-*-sco3.2v4 for SCO 3.2v4; Emacs runs as of version 19.26.
664 335
665 On GNU/Linux systems, Emacs 19.23 was said to work properly with libc 336 On GNU/Linux systems, Emacs 19.23 was said to work properly with libc
666 version 4.5.21, but not with 4.5.19. If your system uses QMAGIC 337 version 4.5.21, but not with 4.5.19. If your system uses QMAGIC
@@ -692,8 +363,6 @@ Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2,
692 For System V release 4, use i386-*-sysv4. 363 For System V release 4, use i386-*-sysv4.
693 For System V release 4.2, use i386-*-sysv4.2. 364 For System V release 4.2, use i386-*-sysv4.2.
694 365
695 If you are using Xenix, see notes at end under Xenix.
696 If you are using Esix, see notes at end under Esix.
697 If you are using SCO Unix, see notes at end under SCO. 366 If you are using SCO Unix, see notes at end under SCO.
698 367
699 On 386bsd, NetBSD and FreeBSD, at one time, it was necessary to use 368 On 386bsd, NetBSD and FreeBSD, at one time, it was necessary to use
@@ -774,11 +443,6 @@ Iris 4D (mips-sgi-irix[456].*)
774 could also try reinstalling the same version of GCC, and telling us 443 could also try reinstalling the same version of GCC, and telling us
775 whether that fixes the problem. 444 whether that fixes the problem.
776 445
777Megatest (m68k-megatest-bsd)
778
779 Emacs 15 worked; do not have any reports about Emacs 16 or 17
780 but any new bugs are probably not difficult.
781
782Mips (mips-mips-riscos, mips-mips-riscos4.0, or mips-mips-bsd) 446Mips (mips-mips-riscos, mips-mips-riscos4.0, or mips-mips-bsd)
783 447
784 The C compiler on Riscos 4.51 dumps core trying to optimize 448 The C compiler on Riscos 4.51 dumps core trying to optimize
@@ -818,24 +482,6 @@ Mips (mips-mips-riscos, mips-mips-riscos4.0, or mips-mips-bsd)
818 on a riscos4bsd site. But it is not clear whether this is needed in 482 on a riscos4bsd site. But it is not clear whether this is needed in
819 general or only because of quirks on a particular site. 483 general or only because of quirks on a particular site.
820 484
821National Semiconductor 32000 (ns32k-ns-genix)
822
823 This is for a complete machine from National Semiconductor,
824 running Genix. Changes merged in version 19.
825
826NCR Tower 32 (m68k-ncr-sysv2 or m68k-ncr-sysv3)
827
828 If you are running System V release 2, use m68k-ncr-sysv2.
829 If you are running System V release 3, use m68k-ncr-sysv3.
830
831 These both worked as of 18.56. If you change `src/ymakefile' so that
832 CFLAGS includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, check
833 out the comments in `src/m/tower32.h' (for System V release 2) or
834 `src/m/tower32v3.h' (for System V release 3) about this.
835
836 There is a report that compilation with -O did not work with 18.54
837 under System V release 2.
838
839NCR Intel system (i386-ncr-sysv4.2) 485NCR Intel system (i386-ncr-sysv4.2)
840 486
841 This system works in 19.31, but if you don't link it with GNU ld, 487 This system works in 19.31, but if you don't link it with GNU ld,
@@ -860,30 +506,6 @@ NeXT (m68k-next-nextstep)
860 506
861 Thanks to Thorsten Ohl for working on the NeXT port of Emacs 19. 507 Thanks to Thorsten Ohl for working on the NeXT port of Emacs 19.
862 508
863Nixdorf Targon 31 (m68k-nixdorf-sysv)
864
865 Machine description file for version 17 is included in 18
866 but whether it works is not known.
867 `src/unexec.c' bombs if compiled with -O.
868 Note that the "Targon 35" is really a Pyramid.
869
870Nu (TI or LMI) (m68k-nu-sysv)
871
872 Version 18 is believed to work.
873
874Paragon OSF/1 (i860-intel-osf1)
875
876 Changes merged in 19.29.
877
878 There is a bug in OSF/1 make which claims there is a syntax error
879 in the src/xmakefile. You can successfully build emacs with:
880
881 pmake MAKE=pmake
882
883Plexus (m68k-plexus-sysv)
884
885 Worked as of 17.56.
886
887Pmax (DEC Mips) (mips-dec-ultrix or mips-dec-osf1) 509Pmax (DEC Mips) (mips-dec-ultrix or mips-dec-osf1)
888 510
889 See under DECstation, above. 511 See under DECstation, above.
@@ -892,39 +514,6 @@ Prime EXL (i386-prime-sysv)
892 514
893 Minor changes merged in 19.1. 515 Minor changes merged in 19.1.
894 516
895Pyramid (pyramid-pyramid-bsd)
896
897 The 19.26 pretest was observed to work on OSx 5.0, but it is necessary
898 to edit gmalloc.c. You must add #include <sys/types.h> at the top,
899 and delete the #define for size_t.
900
901 You need to build Emacs in the Berkeley universe with
902 the `ucb' command, as in `ucb make' or `ucb build-install'.
903
904 In OSx 4.0, it seems necessary to add the following two lines
905 to `src/m/pyramid.h':
906 #define _longjmp longjmp
907 #define _setjmp setjmp
908
909 In Pyramid system 2.5 there has been a compiler bug making
910 Emacs crash just after screen-splitting with Qnil containing 0.
911 A compiler that fixes this is Pyramid customer number 8494,
912 internal number 1923.
913
914 Some versions of the pyramid compiler get fatal
915 errors when the -gx compiler switch is used; if this
916 happens to you, change `src/m/pyramid.h' to define
917 C_DEBUG_SWITCH with an empty definition.
918
919 Some old system versions may require you to define PYRAMID_OLD
920 in when alloca.s is preprocessed, in order to define _longjmp and _setjmp.
921
922Sequent Balance (ns32k-sequent-bsd4.2 or ns32k-sequent-bsd4.3)
923
924 Emacs 18.51 worked on system version 3.0. 18.52 is said to work.
925 Delete some lines at the end of `src/m/sequent.h' for earlier system
926 versions.
927
928Sequent Symmetry (i386-sequent-bsd, i386-sequent-ptx, i386-sequent-ptx4) 517Sequent Symmetry (i386-sequent-bsd, i386-sequent-ptx, i386-sequent-ptx4)
929 518
930 19.33 has changes to support ptx 4 (a modified SVR4). 519 19.33 has changes to support ptx 4 (a modified SVR4).
@@ -949,8 +538,7 @@ Sequent Symmetry (i386-sequent-bsd, i386-sequent-ptx, i386-sequent-ptx4)
949 538
950Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4) 539Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4)
951 540
952 Changes merged in 19.29. This configuration should also work for 541 Changes merged in 19.29. The version configured with
953 Pyramid MIS Server running DC-OSX 1.x. The version configured with
954 `--with-x' works without any modifications, but `--with-x-toolkit' 542 `--with-x' works without any modifications, but `--with-x-toolkit'
955 works only if the Athena library and the Toolkit library are linked 543 works only if the Athena library and the Toolkit library are linked
956 statically. For this, edit `src/Makefile' after the `configure' run 544 statically. For this, edit `src/Makefile' after the `configure' run
@@ -982,23 +570,7 @@ SONY News 3000 series (RISC NEWS) (mips-sony-bsd)
982 Emacs from working under any debugger. But you can change init_data 570 Emacs from working under any debugger. But you can change init_data
983 in data.c if you wish. 571 in data.c if you wish.
984 572
985Stardent i860 (i860-stardent-sysv4.0) 573Sun 3, Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*,
986
987 19.26 pretest reported to work.
988
989Stardent 1500 or 3000
990
991 See Titan.
992
993Stride (m68k-stride-sysv)
994
995 Works (most recent news for 18.30) on their release 2.0.
996 For release 2.2, see the end of `src/m/stride.h'.
997 It may be possible to run on their V.1 system but changes
998 in the s- file would be needed.
999
1000Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos,
1001 sparc-sun-sunos4.1.3noshr, sparc-sun-solaris2.*,
1002 i386-sun-solaris2.*, sparc*-*-linux-gnu) 574 i386-sun-solaris2.*, sparc*-*-linux-gnu)
1003 575
1004 To build a 32-bit Emacs (i.e. if you are having any sort of problem 576 To build a 32-bit Emacs (i.e. if you are having any sort of problem
@@ -1074,13 +646,6 @@ Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos,
1074 for transferring text between clients. The Cut, Paste and Copy items 646 for transferring text between clients. The Cut, Paste and Copy items
1075 in the menu bar Edit menu work with the clipboard. 647 in the menu bar Edit menu work with the clipboard.
1076 648
1077 It's important to include the SunOS version number in the
1078 configuration name. For example, for SunOS release 4.0 on a Sun 3,
1079 use `m68k-sun-sunos4.0'; for SunOS release 4.1 on a Sparc, use
1080 `sparc-sun-sunos4.1'. For SunOS release 4.1.3 on a Sparc, use
1081 `sparc-sun-sunos4.1.3'. Note that shared libraries are now
1082 used by default on SunOS 4.1.
1083
1084 A user reported irreproducible segmentation faults when using 19.29 649 A user reported irreproducible segmentation faults when using 19.29
1085 on Solaris 2.3 and 2.4 after compiling it with the Sun compiler. 650 on Solaris 2.3 and 2.4 after compiling it with the Sun compiler.
1086 The problem went away when GCC 2.7.0 was used instead. We do not know 651 The problem went away when GCC 2.7.0 was used instead. We do not know
@@ -1093,9 +658,6 @@ Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos,
1093 #define SeparateSharedCompile YES 658 #define SeparateSharedCompile YES
1094 in site.def (after #ifdef AfterVendorCF). 659 in site.def (after #ifdef AfterVendorCF).
1095 660
1096 Use `m68k' for the 68000-based Sun boxes, `sparc' for Sparcstations,
1097 and `i386' for Sun Roadrunners. i386 calls for Sunos4.0.
1098
1099 If you compile with Sun's ANSI compiler acc, you need additional options 661 If you compile with Sun's ANSI compiler acc, you need additional options
1100 when linking temacs, such as 662 when linking temacs, such as
1101 /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1 663 /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
@@ -1103,16 +665,6 @@ Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos,
1103 add -lansi just before -lc. The precise file names depend on the 665 add -lansi just before -lc. The precise file names depend on the
1104 compiler version, so we cannot easily arrange to supply them. 666 compiler version, so we cannot easily arrange to supply them.
1105 667
1106 On SunOS 4.1.1, do not use /usr/5bin/cc. You can use gcc or/usr/bin/cc.
1107 Make sure the environment variable LD_LIBRARY_PATH is not defined.
1108
1109 Some people report crashes on SunOS 4.1.3 if SYSTEM_MALLOC is defined.
1110 Others have reported that Emacs works if SYSTEM_MALLOC is defined, and not
1111 if it is undefined. So far we do not know why results vary in this way.
1112 The sources are set up so that SYSTEM_MALLOC is defined; if that crashes,
1113 or if you want the benefit of the relocating memory allocator, you can
1114 try enabling the #undef SYSTEM_MALLOC in src/s/sunos4-1-3.h.
1115
1116 On Solaris 2, you need to install patch 100947-02 to fix a system bug. 668 On Solaris 2, you need to install patch 100947-02 to fix a system bug.
1117 Presumably this patch comes from Sun. You must alter the definition of 669 Presumably this patch comes from Sun. You must alter the definition of
1118 LD_SWITCH_SYSTEM if your X11 libraries are not in /usr/openwin/lib. 670 LD_SWITCH_SYSTEM if your X11 libraries are not in /usr/openwin/lib.
@@ -1139,10 +691,6 @@ Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos,
1139 src/s/sunos4-1.h to src/config.h. This problem is due to obsolete 691 src/s/sunos4-1.h to src/config.h. This problem is due to obsolete
1140 software in the nonshared standard library. 692 software in the nonshared standard library.
1141 693
1142 If you are compiling for X windows, and the X window library was
1143 compiled to use the 68881, then you must edit config.h according
1144 the comments at the end of `src/m/sun3.h'.
1145
1146 Note that Emacs on a Sun is not really as big as it looks. 694 Note that Emacs on a Sun is not really as big as it looks.
1147 As dumped, it includes around 200k of zeros between the 695 As dumped, it includes around 200k of zeros between the
1148 original text section and the original data section 696 original text section and the original data section
@@ -1175,15 +723,6 @@ Tadpole 68K (m68k-tadpole-sysv)
1175 723
1176 chmod 2755 etc/movemail; chgrp mail etc/movemail 724 chmod 2755 etc/movemail; chgrp mail etc/movemail
1177 725
1178Tahoe (tahoe-tahoe-bsd4.2 or tahoe-tahoe-bsd4.3)
1179
1180 18.52 was known to work on some Tahoes, but a compiler bug intervenes
1181 on others. Some Emacs versions have worked in Unisys 1r4
1182 (not in 1r3) and CCI I.21.
1183
1184 If you have trouble compiling `lib-src/loadst.c', turn off the definition
1185 of DKSTAT_HEADER_FILE in `src/m/tahoe.h'.
1186
1187Tandem Integrity S2 (mips-tandem-sysv) 726Tandem Integrity S2 (mips-tandem-sysv)
1188 727
1189 Changes merged in 18.56 but subprocess support is turned off. 728 Changes merged in 18.56 but subprocess support is turned off.
@@ -1191,27 +730,6 @@ Tandem Integrity S2 (mips-tandem-sysv)
1191 730
1192 You must edit `lib-src/Makefile' to define LOADLIBES = -mld. 731 You must edit `lib-src/Makefile' to define LOADLIBES = -mld.
1193 732
1194Tektronix XD88 (m88k-tektronix-sysv3*)
1195
1196 The 19.26 pretest was reported to work.
1197 Minor changes merged in 19.19.
1198
1199Tektronix 16000 box (6130?) (ns16k-tektronix-bsd)
1200
1201 Emacs 17.61 worked.
1202
1203Tektronix 4300 (m68k-tektronix-bsd)
1204
1205 Emacs 19.26 pretest reported to work.
1206
1207Titan P2 or P3 (titan-titan-sysv)
1208
1209 Changes probably merged in version 19.
1210
1211Ustation E30 (SS5E) (m68k-unisys-unipl)
1212
1213 Changes merged in 18.52; don't know whether they work.
1214
1215Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3), 733Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3),
1216 Ultrix (vax-dec-ultrix), 734 Ultrix (vax-dec-ultrix),
1217 System V (vax-dec-sysv0, vax-dec-sysv2), or 735 System V (vax-dec-sysv0, vax-dec-sysv2), or
@@ -1230,16 +748,6 @@ Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3),
1230 won't work very well, or even compile. Levitte is working on a 748 won't work very well, or even compile. Levitte is working on a
1231 port, so these problems should be fixed in the near future. 749 port, so these problems should be fixed in the near future.
1232 750
1233Whitechapel MG1 (ns16k-whitechapel-?)
1234
1235 May work. Supposedly no changes were needed except in `src/m/mg1.h'
1236 file. I do not know what Unix version runs on them.
1237
1238Wicat (m68k-wicat-sysv)
1239
1240 Changes merged as of 18.6; whether they work is unknown.
1241 See comments in `src/m/wicat.h' for things you should change
1242 depending on the system and compiler version you have.
1243 751
1244Here are notes about some of the systems supported: 752Here are notes about some of the systems supported:
1245 753
@@ -1255,25 +763,6 @@ Berkeley 4.3 (bsd4.3)
1255 763
1256 Works, on Vaxes at least. 764 Works, on Vaxes at least.
1257 765
1258Esix
1259
1260 The following was written for Emacs 18.59 and has been
1261 slightly adapted for Emacs 19. It may need more change to be correct.
1262
1263 Use s/usg5-4.h for Esix System V 4.0.[34] systems if you also have
1264 XFree86. If you insist on using the Esix X Window libraries, good
1265 luck. s/esix5r4.h provides a starting point, but doesn't seem to
1266 work consistently. The basic problems involve the need to load
1267 -lX11 *last* in the link command, and even then some things break.
1268 You get best results by installing XFree86 and forgetting about the
1269 Esix stuff unless you want to run IXI xdt3, which really only needs
1270 the Esix X11 shared libraries.
1271
1272 To compile with XFree86, make sure that your LD_LIBRARY_PATH
1273 contains /usr/X386/lib. Be careful if you also have the Esix X
1274 Window libraries that /usr/X386/lib appears *first* in the
1275 LD_LIBRARY_PATH. Then define C_SWITCH_X_SYSTEM -I/usr/X386/include.
1276
1277Linux (actually GNU/Linux) 766Linux (actually GNU/Linux)
1278 767
1279 Most of the complete systems which use the Linux kernel are close 768 Most of the complete systems which use the Linux kernel are close
@@ -1304,8 +793,6 @@ MSDOS
1304 for information about using Emacs on MSDOS. 793 for information about using Emacs on MSDOS.
1305 794
1306SCO Unix 795SCO Unix
1307 If you have TCP but not X, you need to edit src/s/sco4.h
1308 to define HAVE_SOCKETS.
1309 796
1310 If you are using MMDF instead of sendmail, you need to remove 797 If you are using MMDF instead of sendmail, you need to remove
1311 /usr/lib/sendmail or modify lisp/paths.el before compiling. 798 /usr/lib/sendmail or modify lisp/paths.el before compiling.
@@ -1423,10 +910,6 @@ Ultrix (bsd4.3)
1423 910
1424 The problem is said to be gone in UWS version 2.1. 911 The problem is said to be gone in UWS version 2.1.
1425 912
1426Uniplus 5.2 (unipl5.2)
1427
1428 Works, on Dual machines at least.
1429
1430VMS (vmsM.N) 913VMS (vmsM.N)
1431 914
1432 Richard Levitte <levitte@e.kth.se> distributes a set of patches to 915 Richard Levitte <levitte@e.kth.se> distributes a set of patches to
@@ -1454,18 +937,6 @@ X86_64 GNU/Linux
1454 937
1455 (using the location of the 32-bit X libraries on your system). 938 (using the location of the 32-bit X libraries on your system).
1456 939
1457Xenix (xenix)
1458
1459 Should work in 18.50, but you will need to edit the files
1460 `lib-src/Makefile' and `src/ymakefile'
1461 (see the comments that mention "Xenix" for what to change.)
1462 Compiling Emacs with -O is said not to work.
1463
1464 If you want Emacs to work with Smail (installed as /usr/bin/smail)
1465 then add the line #define SMAIL to config.h.
1466
1467 The file etc/XENIX suggests some useful things to do to Xenix
1468 to make the Emacs meta key work.
1469 940
1470Local variables: 941Local variables:
1471mode: text 942mode: text
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 21d4d695a17..1b4277b55dd 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -379,8 +379,6 @@ the nameserver, but Emacs does not.
379The fix is to install an unshared library that corresponds to what you 379The fix is to install an unshared library that corresponds to what you
380installed in the shared library, and then relink Emacs. 380installed in the shared library, and then relink Emacs.
381 381
382On SunOS 4.1, simply define HAVE_RES_INIT.
383
384If you have already installed the name resolver in the file libresolv.a, 382If you have already installed the name resolver in the file libresolv.a,
385then you need to compile Emacs to use that library. The easiest way to 383then you need to compile Emacs to use that library. The easiest way to
386do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE 384do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
@@ -2984,82 +2982,6 @@ the same problem. Display-time seems to be far the worst.
2984 2982
2985The only known fix: Don't run display-time. 2983The only known fix: Don't run display-time.
2986 2984
2987*** SunOS
2988
2989SunOS 4.1.4 stopped shipping on Sep 30 1998.
2990
2991**** SunOS: You get linker errors
2992 ld: Undefined symbol
2993 _get_wmShellWidgetClass
2994 _get_applicationShellWidgetClass
2995
2996**** Sun 4.0.x: M-x shell persistently reports "Process shell exited abnormally with code 1".
2997
2998This happened on Suns as a result of what is said to be a bug in Sunos
2999version 4.0.x. The only fix was to reboot the machine.
3000
3001**** SunOS4.1.1 and SunOS4.1.3: Mail is lost when sent to local aliases.
3002
3003Many emacs mail user agents (VM and rmail, for instance) use the
3004sendmail.el library. This library can arrange for mail to be
3005delivered by passing messages to the /usr/lib/sendmail (usually)
3006program . In doing so, it passes the '-t' flag to sendmail, which
3007means that the name of the recipient of the message is not on the
3008command line and, therefore, that sendmail must parse the message to
3009obtain the destination address.
3010
3011There is a bug in the SunOS4.1.1 and SunOS4.1.3 versions of sendmail.
3012In short, when given the -t flag, the SunOS sendmail won't recognize
3013non-local (i.e. NIS) aliases. It has been reported that the Solaris
30142.x versions of sendmail do not have this bug. For those using SunOS
30154.1, the best fix is to install sendmail V8 or IDA sendmail (which
3016have other advantages over the regular sendmail as well). At the time
3017of this writing, these official versions are available:
3018
3019 Sendmail V8 on ftp.cs.berkeley.edu in /ucb/sendmail:
3020 sendmail.8.6.9.base.tar.Z (the base system source & documentation)
3021 sendmail.8.6.9.cf.tar.Z (configuration files)
3022 sendmail.8.6.9.misc.tar.Z (miscellaneous support programs)
3023 sendmail.8.6.9.xdoc.tar.Z (extended documentation, with postscript)
3024
3025 IDA sendmail on vixen.cso.uiuc.edu in /pub:
3026 sendmail-5.67b+IDA-1.5.tar.gz
3027
3028**** Sunos 4: You get the error ld: Undefined symbol __lib_version.
3029
3030This is the result of using cc or gcc with the shared library meant
3031for acc (the Sunpro compiler). Check your LD_LIBRARY_PATH and delete
3032/usr/lang/SC2.0.1 or some similar directory.
3033
3034**** SunOS 4.1.3: Emacs unpredictably crashes in _yp_dobind_soft.
3035
3036This happens if you configure Emacs specifying just `sparc-sun-sunos4'
3037on a system that is version 4.1.3. You must specify the precise
3038version number (or let configure figure out the configuration, which
3039it can do perfectly well for SunOS).
3040
3041**** Sunos 4.1.3: Emacs gets hung shortly after startup.
3042
3043We think this is due to a bug in Sunos. The word is that
3044one of these Sunos patches fixes the bug:
3045
3046100075-11 100224-06 100347-03 100482-05 100557-02 100623-03 100804-03 101080-01
3047100103-12 100249-09 100496-02 100564-07 100630-02 100891-10 101134-01
3048100170-09 100296-04 100377-09 100507-04 100567-04 100650-02 101070-01 101145-01
3049100173-10 100305-15 100383-06 100513-04 100570-05 100689-01 101071-03 101200-02
3050100178-09 100338-05 100421-03 100536-02 100584-05 100784-01 101072-01 101207-01
3051
3052We don't know which of these patches really matter. If you find out
3053which ones, please inform bug-gnu-emacs@gnu.org.
3054
3055**** SunOS 4: Emacs processes keep going after you kill the X server
3056(or log out, if you logged in using X).
3057
3058Someone reported that recompiling with GCC 2.7.0 fixed this problem.
3059
3060The fix to this is to install patch 100573 for OpenWindows 3.0
3061or link libXmu statically.
3062
3063**** Sunos 5.3: Subprocesses remain, hanging but not zombies. 2985**** Sunos 5.3: Subprocesses remain, hanging but not zombies.
3064 2986
3065A bug in Sunos 5.3 causes Emacs subprocesses to remain after Emacs 2987A bug in Sunos 5.3 causes Emacs subprocesses to remain after Emacs
@@ -3067,23 +2989,6 @@ exits. Sun patch # 101415-02 is part of the fix for this, but it only
3067applies to ptys, and doesn't fix the problem with subprocesses 2989applies to ptys, and doesn't fix the problem with subprocesses
3068communicating through pipes. 2990communicating through pipes.
3069 2991
3070*** Apollo Domain
3071
3072**** Shell mode ignores interrupts on Apollo Domain.
3073
3074You may find that M-x shell prints the following message:
3075
3076 Warning: no access to tty; thus no job control in this shell...
3077
3078This can happen if there are not enough ptys on your system.
3079Here is how to make more of them.
3080
3081 % cd /dev
3082 % ls pty*
3083 # shows how many pty's you have. I had 8, named pty0 to pty7)
3084 % /etc/crpty 8
3085 # creates eight new pty's
3086
3087*** Irix 2992*** Irix
3088 2993
3089*** Irix 6.2: No visible display on mips-sgi-irix6.2 when compiling with GCC 2.8.1. 2994*** Irix 6.2: No visible display on mips-sgi-irix6.2 when compiling with GCC 2.8.1.
@@ -3771,27 +3676,6 @@ crt0.c together with linking with Fcrt1.o, Wcrt1.o or Mcrt1.o.
3771However, the easiest approach is to build Xlib with the default 3676However, the easiest approach is to build Xlib with the default
3772floating point option: -fsoft. 3677floating point option: -fsoft.
3773 3678
3774** SunOS: Undefined symbols _dlopen, _dlsym and/or _dlclose.
3775
3776If you see undefined symbols _dlopen, _dlsym, or _dlclose when linking
3777with -lX11, compile and link against the file mit/util/misc/dlsym.c in
3778the MIT X11R5 distribution. Alternatively, link temacs using shared
3779libraries with s/sunos4shr.h. (This doesn't work if you use the X
3780toolkit.)
3781
3782If you get the additional error that the linker could not find
3783lib_version.o, try extracting it from X11/usr/lib/X11/libvim.a in
3784X11R4, then use it in the link.
3785
3786** SunOS4, DGUX 5.4.2: --with-x-toolkit version crashes when used with shared libraries.
3787
3788On some systems, including Sunos 4 and DGUX 5.4.2 and perhaps others,
3789unexec doesn't work properly with the shared library for the X
3790toolkit. You might be able to work around this by using a nonshared
3791libXt.a library. The real fix is to upgrade the various versions of
3792unexec and/or ralloc. We think this has been fixed on Sunos 4
3793and Solaris in version 19.29.
3794
3795** HPUX 10.20: Emacs crashes during dumping on the HPPA machine. 3679** HPUX 10.20: Emacs crashes during dumping on the HPPA machine.
3796 3680
3797This seems to be due to a GCC bug; it is fixed in GCC 2.8.1. 3681This seems to be due to a GCC bug; it is fixed in GCC 2.8.1.
diff --git a/leim/ChangeLog b/leim/ChangeLog
index c91ae26c1ef..9e955c2aa02 100644
--- a/leim/ChangeLog
+++ b/leim/ChangeLog
@@ -1,3 +1,8 @@
12008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * makefile.w32-in:
4 * Makefile.in: Remove references to Xenix.
5
12007-12-15 Richard Stallman <rms@gnu.org> 62007-12-15 Richard Stallman <rms@gnu.org>
2 7
3 * quail/latin-post.el ("scandinavian-postfix"): Doc fix. 8 * quail/latin-post.el ("scandinavian-postfix"): Doc fix.
diff --git a/leim/Makefile.in b/leim/Makefile.in
index 14bcffb26fe..268ede9c09e 100644
--- a/leim/Makefile.in
+++ b/leim/Makefile.in
@@ -38,7 +38,7 @@ INSTALLDIR=$(DESTDIR)${datadir}/emacs/${version}/leim
38 38
39GZIP_PROG = @GZIP_PROG@ 39GZIP_PROG = @GZIP_PROG@
40 40
41# On Xenix and the IBM RS6000, double-dot gets screwed up. 41# On IBM RS6000, double-dot gets screwed up.
42dot = . 42dot = .
43 43
44# Which Emacs to use to convert TIT files to Emacs Lisp files, 44# Which Emacs to use to convert TIT files to Emacs Lisp files,
diff --git a/leim/makefile.w32-in b/leim/makefile.w32-in
index 4d760ff69c8..68bdddbb17f 100644
--- a/leim/makefile.w32-in
+++ b/leim/makefile.w32-in
@@ -27,7 +27,7 @@ srcdir=.
27# Where to install LEIM files. 27# Where to install LEIM files.
28INSTALLDIR=$(INSTALL_DIR)/leim 28INSTALLDIR=$(INSTALL_DIR)/leim
29 29
30# On Xenix and the IBM RS6000, double-dot gets screwed up. 30# On IBM RS6000, double-dot gets screwed up.
31dot = . 31dot = .
32 32
33# Which Emacs to use to convert TIT files to Emacs Lisp files, 33# Which Emacs to use to convert TIT files to Emacs Lisp files,
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 910e3a8c63c..9665c6cd561 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,20 @@
12008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * obsolete/x-apollo.el: Remove file for unsupported system.
4
5 * term/x-win.el (vendor-specific-keysyms): Remove reference to
6 Apollo.
7
8 * progmodes/gud.el (gud-dgux-p): Remove.
9 (dbx): Remove reference to dgux.
10
11 * progmodes/ps-mode.el (ps-mode-print-function):
12 * ps-print.el (ps-lp-system):
13 * paths.el (rmail-spool-directory):
14 * ls-lisp.el (ls-lisp-emulation):
15 * lpr.el (lpr-lp-system):
16 * dired.el (dired-chown-program): Remove references to dgux.
17
12008-01-05 Stefan Monnier <monnier@iro.umontreal.ca> 182008-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
2 19
3 * vc.el (vc-process-sentinel): Fix apparent typo. 20 * vc.el (vc-process-sentinel): Fix apparent typo.
diff --git a/lisp/dired.el b/lisp/dired.el
index 51067e46001..b9a360a6e91 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -70,7 +70,7 @@ If nil, `dired-listing-switches' is used.")
70 70
71;;;###autoload 71;;;###autoload
72(defvar dired-chown-program 72(defvar dired-chown-program
73 (if (memq system-type '(hpux dgux usg-unix-v irix linux gnu/linux cygwin)) 73 (if (memq system-type '(hpux usg-unix-v irix linux gnu/linux cygwin))
74 "chown" 74 "chown"
75 (if (file-exists-p "/usr/sbin/chown") 75 (if (file-exists-p "/usr/sbin/chown")
76 "/usr/sbin/chown" 76 "/usr/sbin/chown"
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index a6b43d7831e..91063c2a974 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,7 @@
12008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * gnus.el (gnus-use-long-file-name): Remove reference to xenix.
4
12007-12-28 Reiner Steib <Reiner.Steib@gmx.de> 52007-12-28 Reiner Steib <Reiner.Steib@gmx.de>
2 6
3 * message.el (message-send-mail-function): Increase custom version. 7 * message.el (message-send-mail-function): Increase custom version.
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index fc76fce86d7..36066e82166 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -1522,7 +1522,7 @@ If it is nil, no confirmation is required."
1522 :type '(choice (const :tag "No limit" nil) 1522 :type '(choice (const :tag "No limit" nil)
1523 integer)) 1523 integer))
1524 1524
1525(defcustom gnus-use-long-file-name (not (memq system-type '(usg-unix-v xenix))) 1525(defcustom gnus-use-long-file-name (not (memq system-type '(usg-unix-v)))
1526 "*Non-nil means that the default name of a file to save articles in is the group name. 1526 "*Non-nil means that the default name of a file to save articles in is the group name.
1527If it's nil, the directory form of the group name is used instead. 1527If it's nil, the directory form of the group name is used instead.
1528 1528
diff --git a/lisp/lpr.el b/lisp/lpr.el
index 4df98d6d751..721657a095f 100644
--- a/lisp/lpr.el
+++ b/lisp/lpr.el
@@ -37,7 +37,7 @@
37 37
38;;;###autoload 38;;;###autoload
39(defvar lpr-lp-system 39(defvar lpr-lp-system
40 (memq system-type '(usg-unix-v dgux hpux irix))) 40 (memq system-type '(usg-unix-v hpux irix)))
41 41
42 42
43(defgroup lpr nil 43(defgroup lpr nil
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index a016b8369bf..0c387c34a0c 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -75,7 +75,7 @@
75 (cond ((eq system-type 'macos) 'MacOS) 75 (cond ((eq system-type 'macos) 'MacOS)
76 ;; ((eq system-type 'windows-nt) 'MS-Windows) 76 ;; ((eq system-type 'windows-nt) 'MS-Windows)
77 ((memq system-type 77 ((memq system-type
78 '(hpux dgux usg-unix-v unisoft-unix rtu irix berkeley-unix)) 78 '(hpux usg-unix-v unisoft-unix irix berkeley-unix))
79 'UNIX)) ; very similar to GNU 79 'UNIX)) ; very similar to GNU
80 ;; Anything else defaults to nil, meaning GNU. 80 ;; Anything else defaults to nil, meaning GNU.
81 "*Platform to emulate: GNU (default), MacOS, MS-Windows, UNIX. 81 "*Platform to emulate: GNU (default), MacOS, MS-Windows, UNIX.
diff --git a/lisp/obsolete/x-apollo.el b/lisp/obsolete/x-apollo.el
deleted file mode 100644
index f06f793dc94..00000000000
--- a/lisp/obsolete/x-apollo.el
+++ /dev/null
@@ -1,98 +0,0 @@
1;;; x-apollo.el --- Apollo support functions
2
3;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
4;; 2006, 2007 Free Software Foundation, Inc.
5
6;; This file is part of GNU Emacs.
7
8;; GNU Emacs is free software; you can redistribute it and/or modify
9;; it under the terms of the GNU General Public License as published by
10;; the Free Software Foundation; either version 3, or (at your option)
11;; any later version.
12
13;; GNU Emacs is distributed in the hope that it will be useful,
14;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;; GNU General Public License for more details.
17
18;; You should have received a copy of the GNU General Public License
19;; along with GNU Emacs; see the file COPYING. If not, write to the
20;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21;; Boston, MA 02110-1301, USA.
22
23;;; Commentary:
24
25;;; Code:
26
27(defun apollo-kill-entire-line ()
28 "Kill the entire line containing point."
29 (interactive)
30 (beginning-of-line)
31 (kill-line 1))
32
33(defun apollo-scroll-window-right ()
34 "Scroll window to right ten columns."
35 (interactive)
36 (scroll-left 10))
37
38(defun apollo-scroll-window-left ()
39 "Scroll window to left ten columns."
40 (interactive)
41 (scroll-right 10))
42
43(defun apollo-scroll-window-forward-line ()
44 "Move window forward one line leaving cursor at position in window."
45 (interactive)
46 (scroll-up 1))
47
48(defun apollo-scroll-window-backward-line ()
49 "Move window backward one line leaving cursor at position in window."
50 (interactive)
51 (scroll-down 1))
52
53;;; Define and Enable the Function Key Bindings.
54
55(global-set-key [S-tab] "\C-i") ;Shift TAB
56(global-set-key [C-tab] "\C-i") ;Control TAB
57(global-set-key [S-return] "\C-m") ;Shift RET
58(global-set-key [C-return] "\C-m") ;Control RET
59(global-set-key [linedel] 'apollo-kill-entire-line) ;LINE DEL
60(global-set-key [chardel] 'delete-char) ;CHAR DEL
61(global-set-key [leftbar] 'beginning-of-line) ;LEFT BAR ARROW
62(global-set-key [rightbar] 'end-of-line) ;RIGHT BAR ARROW
63(global-set-key [leftbox] 'apollo-scroll-window-left) ;LEFT BOX ARROW
64(global-set-key [rightbox] 'apollo-scroll-window-right) ;RIGHT BOX ARROW
65(global-set-key [S-up] 'apollo-scroll-window-backward-line) ;Shift UP ARROW
66(global-set-key [S-down] 'apollo-scroll-window-forward-line) ;Shift DOWN ARROW
67(global-set-key [select] 'set-mark-command) ;MARK
68(global-set-key [S-insert] 'overwrite-mode) ;INS MODE
69(global-set-key [S-linedel] 'yank) ;Shift LINE DEL
70(global-set-key [S-chardel] 'delete-char) ;Shift CHAR DEL
71(global-set-key [copy] 'copy-region-as-kill) ;COPY
72(global-set-key [S-cut] 'kill-region) ;CUT
73(global-set-key [paste] 'yank) ;PASTE
74(global-set-key [S-undo] 'undo) ;UNDO
75(global-set-key [S-left] 'backward-word) ;Shift LEFT ARROW
76(global-set-key [S-right] 'forward-word) ;Shift RIGHT ARROW
77(global-set-key [upbox] 'scroll-down) ;UP BOX ARROW
78(global-set-key [S-upbox] 'beginning-of-buffer) ;Shift UP BOX ARROW
79(global-set-key [downbox] 'scroll-up) ;DOWN BOX ARROW
80(global-set-key [S-downbox] 'end-of-buffer) ;Shift DOWN BOX ARROW
81(global-set-key [S-redo] 'toggle-read-only) ;Shift AGAIN
82(global-set-key [exit] 'save-buffer) ;EXIT
83(global-set-key [S-cancel] 'kill-buffer) ;ABORT
84(global-set-key [S-save] 'save-buffer) ;SAVE
85(global-set-key [S-leftbar] 'beginning-of-buffer) ;Shift LEFT BAR ARROW
86(global-set-key [cmd] 'execute-extended-command) ;CMD
87(global-set-key [S-rightbar] 'end-of-buffer) ;Shift RIGHT BAR ARROW
88(global-set-key [next] 'other-window) ;NEXT WNDW
89(global-set-key [S-next] 'delete-window) ;Shift NEXT WNDW
90(global-set-key [read] 'find-file-read-only) ;READ
91(global-set-key [edit] 'find-file) ;EDIT
92(global-set-key [S-shell] 'shell) ;SHELL
93(global-set-key [S-help] 'manual-entry) ;HELP
94
95(provide 'x-apollo)
96
97;;; arch-tag: 4f3e86f4-557c-44b3-978e-144fc4dc812e
98;;; x-apollo.el ends here
diff --git a/lisp/paths.el b/lisp/paths.el
index 113bf2ec91e..d335c758a3d 100644
--- a/lisp/paths.el
+++ b/lisp/paths.el
@@ -153,7 +153,7 @@ The `ORGANIZATION' environment variable is used instead if defined.")
153 ;; Many GNU/Linux systems use this name. 153 ;; Many GNU/Linux systems use this name.
154 ((file-exists-p "/var/spool/mail") 154 ((file-exists-p "/var/spool/mail")
155 "/var/spool/mail/") 155 "/var/spool/mail/")
156 ((memq system-type '(dgux hpux usg-unix-v unisoft-unix rtu irix)) 156 ((memq system-type '(hpux usg-unix-v unisoft-unix irix))
157 "/usr/mail/") 157 "/usr/mail/")
158 (t "/usr/spool/mail/")) 158 (t "/usr/spool/mail/"))
159 "Name of directory used by system mailer for delivering new mail. 159 "Name of directory used by system mailer for delivering new mail.
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 3c6736ac79b..5875e794828 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -1233,10 +1233,6 @@ a better solution in 6.1 upwards.")
1233 (setq result (substring result 0 (match-beginning 0)))))) 1233 (setq result (substring result 0 (match-beginning 0))))))
1234 (or result ""))) 1234 (or result "")))
1235 1235
1236(defvar gud-dgux-p (string-match "-dgux" system-configuration)
1237 "Non-nil means to assume the interface approriate for DG/UX dbx.
1238This was tested using R4.11.")
1239
1240;; There are a couple of differences between DG's dbx output and normal 1236;; There are a couple of differences between DG's dbx output and normal
1241;; dbx output which make it nontrivial to integrate this into the 1237;; dbx output which make it nontrivial to integrate this into the
1242;; standard dbx-marker-filter (mainly, there are a different number of 1238;; standard dbx-marker-filter (mainly, there are a different number of
@@ -1295,9 +1291,6 @@ and source-file directory for your debugger."
1295 (gud-irix-p 1291 (gud-irix-p
1296 (gud-common-init command-line 'gud-dbx-massage-args 1292 (gud-common-init command-line 'gud-dbx-massage-args
1297 'gud-irixdbx-marker-filter)) 1293 'gud-irixdbx-marker-filter))
1298 (gud-dgux-p
1299 (gud-common-init command-line 'gud-dbx-massage-args
1300 'gud-dguxdbx-marker-filter))
1301 (t 1294 (t
1302 (gud-common-init command-line 'gud-dbx-massage-args 1295 (gud-common-init command-line 'gud-dbx-massage-args
1303 'gud-dbx-marker-filter))) 1296 'gud-dbx-marker-filter)))
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el
index 6327a68302b..cc4e2a4f69b 100644
--- a/lisp/progmodes/ps-mode.el
+++ b/lisp/progmodes/ps-mode.el
@@ -109,7 +109,7 @@ When the figure is finished these values should be replaced."
109(defcustom ps-mode-print-function 109(defcustom ps-mode-print-function
110 (lambda () 110 (lambda ()
111 (let ((lpr-switches nil) 111 (let ((lpr-switches nil)
112 (lpr-command (if (memq system-type '(usg-unix-v dgux hpux irix)) 112 (lpr-command (if (memq system-type '(usg-unix-v hpux irix))
113 "lp" "lpr"))) 113 "lp" "lpr")))
114 (lpr-buffer))) 114 (lpr-buffer)))
115 "*Lisp function to print current buffer as PostScript." 115 "*Lisp function to print current buffer as PostScript."
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 0e442f3b104..fdceffd9721 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -1489,7 +1489,7 @@ Please send all bug fixes and enhancements to
1489(defconst ps-windows-system 1489(defconst ps-windows-system
1490 (memq system-type '(emx win32 w32 mswindows ms-dos windows-nt))) 1490 (memq system-type '(emx win32 w32 mswindows ms-dos windows-nt)))
1491(defconst ps-lp-system 1491(defconst ps-lp-system
1492 (memq system-type '(usg-unix-v dgux hpux irix))) 1492 (memq system-type '(usg-unix-v hpux irix)))
1493 1493
1494 1494
1495(defun ps-xemacs-color-name (color) 1495(defun ps-xemacs-color-name (color)
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 66c5a272e1c..da1d158050c 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -1228,30 +1228,7 @@ XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
1228 "Return the appropriate value of `system-key-alist' for VENDOR. 1228 "Return the appropriate value of `system-key-alist' for VENDOR.
1229VENDOR is a string containing the name of the X Server's vendor, 1229VENDOR is a string containing the name of the X Server's vendor,
1230as returned by `x-server-vendor'." 1230as returned by `x-server-vendor'."
1231 ;; Fixme: Drop Apollo now? 1231 (cond ((or (string-equal vendor "Hewlett-Packard Incorporated")
1232 (cond ((string-equal vendor "Apollo Computer Inc.")
1233 '((65280 . linedel)
1234 (65281 . chardel)
1235 (65282 . copy)
1236 (65283 . cut)
1237 (65284 . paste)
1238 (65285 . move)
1239 (65286 . grow)
1240 (65287 . cmd)
1241 (65288 . shell)
1242 (65289 . leftbar)
1243 (65290 . rightbar)
1244 (65291 . leftbox)
1245 (65292 . rightbox)
1246 (65293 . upbox)
1247 (65294 . downbox)
1248 (65295 . pop)
1249 (65296 . read)
1250 (65297 . edit)
1251 (65298 . save)
1252 (65299 . exit)
1253 (65300 . repeat)))
1254 ((or (string-equal vendor "Hewlett-Packard Incorporated")
1255 (string-equal vendor "Hewlett-Packard Company")) 1232 (string-equal vendor "Hewlett-Packard Company"))
1256 '(( 168 . mute-acute) 1233 '(( 168 . mute-acute)
1257 ( 169 . mute-grave) 1234 ( 169 . mute-grave)
diff --git a/src/ChangeLog b/src/ChangeLog
index 3ad3584a236..029278e90b4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,118 @@
12008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * m/7300.h:
4 * m/acorn.h:
5 * m/alliant-2800.h:
6 * m/alliant.h:
7 * m/alliant1.h:
8 * m/alliant4.h:
9 * m/altos.h:
10 * m/amdahl.h:
11 * m/apollo.h:
12 * m/att3b.h:
13 * m/aviion-intel.h:
14 * m/aviion.h:
15 * m/celerity.h:
16 * m/clipper.h:
17 * m/cnvrgnt.h:
18 * m/convex.h:
19 * m/cydra5.h:
20 * m/delta88k.h:
21 * m/dpx2.h:
22 * m/dual.h:
23 * m/elxsi.h:
24 * m/f301.h:
25 * m/gould-np1.h:
26 * m/gould.h:
27 * m/i860.h:
28 * m/ibmps2-aix.h:
29 * m/ibmrt-aix.h:
30 * m/ibmrt.h:
31 * m/irist.h:
32 * m/is386.h:
33 * m/isi-ov.h:
34 * m/mega68.h:
35 * m/mg1.h:
36 * m/news-r6.h:
37 * m/news-risc.h:
38 * m/news.h:
39 * m/nh3000.h:
40 * m/nh4000.h:
41 * m/ns16000.h:
42 * m/ns32000.h:
43 * m/nu.h:
44 * m/orion.h:
45 * m/orion105.h:
46 * m/paragon.h:
47 * m/pfa50.h:
48 * m/plexus.h:
49 * m/pyramid.h:
50 * m/pyrmips.h:
51 * m/sh3el.h:
52 * m/sps7.h:
53 * m/sr2k.h:
54 * m/stride.h:
55 * m/sun1.h:
56 * m/sun2.h:
57 * m/sun3-68881.h:
58 * m/sun3-fpa.h:
59 * m/sun3-soft.h:
60 * m/sun3.h:
61 * m/sun386.h:
62 * m/symmetry.h:
63 * m/tad68k.h:
64 * m/tahoe.h:
65 * m/targon31.h:
66 * m/tek4300.h:
67 * m/tekxd88.h:
68 * m/tower32.h:
69 * m/tower32v3.h:
70 * m/ustation.h:
71 * m/wicat.h:
72 * m/xps100.h:
73 * s/cxux.h:
74 * s/cxux7.h:
75 * s/dgux.h:
76 * s/dgux4.h:
77 * s/dgux5-4-3.h:
78 * s/dgux5-4r2.h:
79 * s/esix.h:
80 * s/esix5r4.h:
81 * s/hiuxmpp.h:
82 * s/hiuxwe2.h:
83 * s/iris3-5.h:
84 * s/iris3-6.h:
85 * s/isc2-2.h:
86 * s/isc3-0.h:
87 * s/isc4-0.h:
88 * s/isc4-1.h:
89 * s/newsos5.h:
90 * s/newsos6.h:
91 * s/osf1.h:
92 * s/osf5-0.h:
93 * s/riscix1-1.h:
94 * s/riscix12.h:
95 * s/sco4.h:
96 * s/sco5.h:
97 * s/sunos4-0.h:
98 * s/sunos4-1.h:
99 * s/sunos413.h:
100 * s/sunos4shr.h:
101 * s/umax.h:
102 * s/unipl5-2.h:
103 * s/xenix.h:
104 * cxux-crt0.s:
105 * unexapollo.c:
106 * unexconvex.c:
107 * unexenix.c:
108 * unexsni.c: Remove files for systems no longer supported.
109
110 * m/intel386.h: Remove references to unsupported systems.
111
112 * w32.c (get_emacs_configuration): Remove reference to i860.
113
114 * sysdep.c: Remove dead code.
115
12008-01-05 Dan Nicolaescu <dann@ics.uci.edu> 1162008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
2 117
3 * s/rtu.h: 118 * s/rtu.h:
diff --git a/src/cxux-crt0.s b/src/cxux-crt0.s
deleted file mode 100644
index d9c570a9c18..00000000000
--- a/src/cxux-crt0.s
+++ /dev/null
@@ -1,42 +0,0 @@
1/*
2 * External symbol setup file for GNU Emacs on CX/UX
3 * Copyright (C) 1990, 2002, 2003, 2004, 2005,
4 * 2006, 2007 Free Software Foundation, Inc.
5 *
6 * This file is part of GNU Emacs.
7 *
8 * GNU Emacs is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 3, or (at your option)
11 * any later version.
12 *
13 * GNU Emacs is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with GNU Emacs; see the file COPYING. If not, write to
20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301, USA.
22 */
23
24/*
25 * This file makes the start of the text and data regions of the program
26 * clearly visible to the GNU Emacs C source code, without any dependencies
27 * on any changes made to the standard C runtime startup module, crt0.o.
28 * It depends, however, on this file being passed down to the linker (ld)
29 * before any others, and the linker's behavior of assigning increasing
30 * addresses as it finds symbols.
31 */
32 /* C symbol _start marks beginning of text region. */
33 .text
34 .globl __start
35__start:
36 /* C symbol data_start marks beginning of data region. */
37 .data
38 .globl _data_start
39_data_start: .space 4
40
41/* arch-tag: ba84e4dc-615d-4a81-898c-f5b98ec71c9d
42 (do not change this comment) */
diff --git a/src/m/7300.h b/src/m/7300.h
deleted file mode 100644
index 6e439a829cc..00000000000
--- a/src/m/7300.h
+++ /dev/null
@@ -1,98 +0,0 @@
1/* machine description file for AT&T UNIX PC model 7300
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4 Modified for this machine by mtxinu!rtech!gonzo!daveb
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24/* The following line tells the configuration script what sort of
25 operating system this machine is likely to run.
26 USUAL-OPSYS="usg5-2-2" */
27
28/* Supposedly now these machines have flexnames.
29
30/* # define SHORTNAMES */
31
32
33/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
34 is the most significant byte. */
35
36#define WORDS_BIG_ENDIAN
37
38/* XINT must explicitly sign-extend */
39
40#define EXPLICIT_SIGN_EXTEND
41
42/* Use type int rather than a union, to represent Lisp_Object */
43
44#define NO_UNION_TYPE
45
46/* Now define a symbol for the cpu type, if your compiler
47 does not define it automatically:
48 vax, m68000, ns16000 are the ones defined so far. */
49
50# ifndef mc68k
51# define mc68k
52# endif
53#ifndef m68k
54#define m68k
55#endif
56
57/* Cause crt0.c to define errno. */
58
59#define NEED_ERRNO
60
61/* Data type of load average, as read out of kmem. */
62/* These are commented out since it is not supported by this machine. */
63
64/* #define LOAD_AVE_TYPE long */
65
66/* Convert that into an integer that is 100 for a load average of 1.0 */
67
68/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */
69
70#ifndef __GNUC__
71
72#define SWITCH_ENUM_BUG
73
74#endif
75
76/* If you have the PD pty driver installed, uncomment the following line. */
77/* #define HAVE_PTYS */
78
79#define HAVE_SYSVIPC
80
81/* We don't have memmove. */
82#define memmove(d, s, n) safe_bcopy (s, d, n)
83
84/* These three lines were new in 18.50. They were said to permit
85 a demand-paged executable, but someone else says they don't work.
86 Someone else says they do. They didn't work because errno was an
87 initialized variable in crt0.c, and because of %splimit (also therein),
88 both of which have been fixed now. */
89#define SECTION_ALIGNMENT 0x03ff
90#define SEGMENT_MASK 0xffff
91#define LD_SWITCH_MACHINE -z
92
93/* Insist on using cc when compiling this. GCC may have been
94 configured to use GAS syntax, which causes problems. */
95#define CRT0_COMPILE cc -c -O -Demacs
96
97/* arch-tag: 66219dc7-ef45-4f0c-bb98-f35421f39c8d
98 (do not change this comment) */
diff --git a/src/m/acorn.h b/src/m/acorn.h
deleted file mode 100644
index 148d46454ab..00000000000
--- a/src/m/acorn.h
+++ /dev/null
@@ -1,185 +0,0 @@
1/* Machine description file for Acorn RISCiX machines.
2 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23
24/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
25 is the most significant byte. */
26
27#undef WORDS_BIG_ENDIAN
28
29/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
30 * group of arguments and treat it as an array of the arguments. We can't
31 * do this on the arm with gcc, since the first 4 args are in registers. */
32
33#ifdef __GNUC__
34#define NO_ARG_ARRAY
35#else
36#undef NO_ARG_ARRAY
37#endif
38
39/* Define WORD_MACHINE if addresses and such have
40 * to be corrected before they can be used as byte counts. */
41
42#undef WORD_MACHINE
43
44/* Define how to take a char and sign-extend into an int.
45 On machines where char is signed, this is a no-op. */
46
47/* ARM note - The RISCiX Norcroft C Compiler has ALL
48 non-32-bit types as unsigned */
49
50#define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24)
51
52/* Now define a symbol for the cpu type, if your compiler
53 does not define it automatically:
54 Ones defined so far include vax, m68000, ns16000, pyramid,
55 orion, tahoe, APOLLO and many others */
56
57/* ARM note - this is done by the Norcroft compiler - symbol is `__arm' */
58
59/* Use type int rather than a union, to represent Lisp_Object */
60/* This is desirable for most machines. */
61
62#define NO_UNION_TYPE
63
64/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
65 the 24-bit bit field into an int. In other words, if bit fields
66 are always unsigned.
67
68 If you use NO_UNION_TYPE, this flag does not matter. */
69
70#define EXPLICIT_SIGN_EXTEND
71
72#ifdef LDAV_SYMBOL
73#undef LDAV_SYMBOL
74#endif
75
76#define LDAV_SYMBOL "_iavenrun"
77
78
79/* Data type of load average, as read out of kmem. */
80
81#define LOAD_AVE_TYPE long
82
83/* Convert that into an integer that is 100 for a load average of 1.0 */
84
85/*
86 * Scale factor for scaled integers used to count
87 * %cpu time and load averages.
88 */
89
90/* FSHIFT and FSCALE are defined in param.h, but are required by
91 LOAD_AVE_CVT, so they need to be defined here. */
92
93#ifndef FSHIFT
94#define FSHIFT 8 /* bits to right of fixed binary point */
95#endif
96
97#ifndef FSCALE
98#define FSCALE (1<<FSHIFT)
99#endif
100
101#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
102
103/* Define CANNOT_DUMP on machines where unexec does not work.
104 Then the function dump-emacs will not be defined
105 and temacs will do (load "loadup") automatically unless told otherwise. */
106
107#undef CANNOT_DUMP
108
109/* Define VIRT_ADDR_VARIES if the virtual addresses of
110 pure and impure space as loaded can vary, and even their
111 relative order cannot be relied on.
112
113 Otherwise Emacs assumes that text space precedes data space,
114 numerically. */
115
116#undef VIRT_ADDR_VARIES
117
118/* This prevents Emacs dumping an unsqueezed binary with the
119 SQUEEZE bit set in the magic number. */
120
121#define ADJUST_EXEC_HEADER {hdr.a_magic &= ~MF_SQUEEZED;}
122
123#ifdef __GNUC__
124
125/* Keep gcc/RISCiX happy - it uses __gccmain where other versions of
126 gcc use __main, because of a library routine name clash. */
127#define __main __gccmain
128
129#endif /* __GNUC__ */
130
131/* Define NO_REMAP if memory segmentation makes it not work well
132 to change the boundary between the text section and data section
133 when Emacs is dumped. If you define this, the preloaded Lisp
134 code will not be sharable; but that's better than failing completely. */
135
136#define NO_REMAP
137
138
139#ifndef NOT_C_CODE
140#define TEXT_START 0x8000
141#define DATA_END &_edata
142extern int _edata;
143#define etext _etext
144#endif
145
146/* Avoid debugging library */
147#define LIBS_DEBUG
148
149/* Avoid sharing libc */
150#define LIB_STANDARD -lc_n
151
152/* Avoid sharing libX11 */
153#define LIB_X11_LIB -lX11_n
154
155/* All kinds of symbol definitions, so as to avoid multiply defined symbol
156 errors from the RISCiX linker. */
157
158#ifdef __GNUC__
159#define C_DEBUG_SWITCH
160
161#define C_OPTIMIZE_SWITCH -O1 -fomit-frame-pointer -w -g -Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind -Doptarg=gnu_optarg -Dcfree=gnu_cfree -D___type=
162
163#else
164#define C_DEBUG_SWITCH -O -w -g -Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind -Doptarg=gnu_optarg -Dcfree=gnu_cfree
165#endif
166
167/* Turn this on to avoid the emacs malloc and use standard one */
168
169#undef SYSTEM_MALLOC
170
171/* Use <dirent.h>. */
172#define SYSV_SYSTEM_DIR
173
174#ifdef NO_REMAP
175/* CRT0_O is defined in s/riscix1-1.h or s/riscix1-2.h, as appropriate. */
176#define START_FILES pre-crt0.o CRT0_O
177#else
178Cannot
179do
180this
181yet
182#endif
183
184/* arch-tag: acee2955-8c49-4b40-813c-579f76f4c0c3
185 (do not change this comment) */
diff --git a/src/m/alliant-2800.h b/src/m/alliant-2800.h
deleted file mode 100644
index 405267afb2b..00000000000
--- a/src/m/alliant-2800.h
+++ /dev/null
@@ -1,130 +0,0 @@
1/* alliant-2800.h - Alliant FX/2800 machine running Concentrix 2800.
2 Copyright (C) 1990, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-3" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#undef WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#define NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#undef WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
45 are the ones defined so far. */
46
47#define ALLIANT
48#define ALLIANT_2800
49#define sun /* Use X support for Sun keyboard stuff. */
50#define C_OPTIMIZE_SWITCH -Og /* No concurrent code allowed here. */
51
52/* Use type int rather than a union, to represent Lisp_Object */
53/* This is desirable for most machines. */
54
55#define NO_UNION_TYPE
56
57/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
58 the bit field into an int. In other words, if bit fields
59 are always unsigned.
60
61 If you use NO_UNION_TYPE, this flag does not matter. */
62/* On Alliants, bitfields are unsigned. */
63
64#define EXPLICIT_SIGN_EXTEND
65
66/* Concentrix uses a different kernel symbol for load average. */
67
68#undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */
69#define LDAV_SYMBOL "_Loadavg"
70
71/* Data type of load average, as read out of kmem. */
72
73#define LOAD_AVE_TYPE long
74
75/* Convert that into an integer that is 100 for a load average of 1.0 */
76
77#define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE)
78
79/* include <sys/param.h> for the definition of LOADAVG_SCALE, and also
80 LOADAVG_SIZE, the number of items in the Loadavg array. */
81
82/* Define CANNOT_DUMP on machines where unexec does not work.
83 Then the function dump-emacs will not be defined
84 and temacs will do (load "loadup") automatically unless told otherwise. */
85
86/* #define CANNOT_DUMP */
87#define UNEXEC unexfx2800.o
88#define LIBS_MACHINE -lalliant
89
90/* Define VIRT_ADDR_VARIES if the virtual addresses of
91 pure and impure space as loaded can vary, and even their
92 relative order cannot be relied on.
93
94 Otherwise Emacs assumes that text space precedes data space,
95 numerically. */
96
97#undef VIRT_ADDR_VARIES
98
99/* Define NO_REMAP if memory segmentation makes it not work well
100 to change the boundary between the text section and data section
101 when Emacs is dumped. If you define this, the preloaded Lisp
102 code will not be sharable; but that's better than failing completely. */
103/* Actually, Alliant CONCENTRIX does paging "right":
104 data pages are copy-on-write, which means that the pure data areas
105 are shared automatically and remapping is not necessary. */
106
107#define NO_REMAP
108
109/* Alliant needs special crt0.o because system version is not reentrant */
110
111#define START_FILES crt0.o
112
113/* Alliant dependent code for dumping executing image.
114 See crt0.c code for alliant. */
115
116#define ADJUST_EXEC_HEADER {\
117extern int _curbrk, _setbrk;\
118_setbrk = _curbrk;\
119hdr.a_bss_addr = bss_start;\
120unexec_text_start = hdr.a_text_addr;}
121
122/* POSIX Compatibility */
123/* Use System V.4 style getdents/readdir <dirent.h> for 2.2 and up. */
124#define SYSV_SYSTEM_DIR
125
126/* Use the K&R version of the DEFUN macro. */
127#define USE_NONANSI_DEFUN
128
129/* arch-tag: 8ba70b15-d082-40f6-931d-14adfd7f9dbd
130 (do not change this comment) */
diff --git a/src/m/alliant.h b/src/m/alliant.h
deleted file mode 100644
index 7cad4bfb0c1..00000000000
--- a/src/m/alliant.h
+++ /dev/null
@@ -1,123 +0,0 @@
1/* alliant.h Alliant machine running system version 2 or 3.
2 Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4 Note that for version 1 of the Alliant system
5 you should use alliant1.h instead of this file.
6 Use alliant4.h for version 4.
7
8This file is part of GNU Emacs.
9
10GNU Emacs is free software; you can redistribute it and/or modify
11it under the terms of the GNU General Public License as published by
12the Free Software Foundation; either version 3, or (at your option)
13any later version.
14
15GNU Emacs is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License for more details.
19
20You should have received a copy of the GNU General Public License
21along with GNU Emacs; see the file COPYING. If not, write to
22the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23Boston, MA 02110-1301, USA. */
24
25/* The following line tells the configuration script what sort of
26 operating system this machine is likely to run.
27 USUAL-OPSYS="bsd4-2" */
28
29/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
30 is the most significant byte. */
31
32#define WORDS_BIG_ENDIAN
33
34/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
35 * group of arguments and treat it as an array of the arguments. */
36
37#ifdef ALLIANT_1
38#define NO_ARG_ARRAY
39#endif
40
41/* Define WORD_MACHINE if addresses and such have
42 * to be corrected before they can be used as byte counts. */
43
44#undef WORD_MACHINE
45
46/* Now define a symbol for the cpu type, if your compiler
47 does not define it automatically:
48 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
49 are the ones defined so far. */
50
51#define ALLIANT
52
53/* Use type int rather than a union, to represent Lisp_Object */
54/* This is desirable for most machines. */
55
56#define NO_UNION_TYPE
57
58/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
59 the 24-bit bit field into an int. In other words, if bit fields
60 are always unsigned.
61
62 If you use NO_UNION_TYPE, this flag does not matter. */
63/* On Alliants, bitfields are unsigned. */
64
65#define EXPLICIT_SIGN_EXTEND
66
67/* No load average information available for Alliants. */
68
69#undef LOAD_AVE_TYPE
70#undef LOAD_AVE_CVT
71
72/* Define CANNOT_DUMP on machines where unexec does not work.
73 Then the function dump-emacs will not be defined
74 and temacs will do (load "loadup") automatically unless told otherwise. */
75
76#undef CANNOT_DUMP
77
78/* Define VIRT_ADDR_VARIES if the virtual addresses of
79 pure and impure space as loaded can vary, and even their
80 relative order cannot be relied on.
81
82 Otherwise Emacs assumes that text space precedes data space,
83 numerically. */
84
85#undef VIRT_ADDR_VARIES
86
87/* Define NO_REMAP if memory segmentation makes it not work well
88 to change the boundary between the text section and data section
89 when Emacs is dumped. If you define this, the preloaded Lisp
90 code will not be sharable; but that's better than failing completely. */
91/* Actually, Alliant CONCENTRIX does paging "right":
92 data pages are copy-on-write, which means that the pure data areas
93 are shared automatically and remapping is not necessary. */
94
95#define NO_REMAP
96
97/* Alliant needs special crt0.o because system version is not reentrant */
98
99#define START_FILES crt0.o
100
101/* Alliant dependent code for dumping executing image.
102 See crt0.c code for alliant. */
103
104#define ADJUST_EXEC_HEADER {\
105extern int _curbrk, _setbrk;\
106_setbrk = _curbrk;\
107hdr.a_bss_addr = bss_start;\
108unexec_text_start = hdr.a_text_addr;}
109
110/* cc screws up on long names. Try making cpp replace them. */
111
112#ifdef ALLIANT_1
113#define Finsert_abbrev_table_description Finsert_abbrev_table_descrip
114#define internal_with_output_to_temp_buffer internal_with_output_to_tem
115#endif
116
117/* "vector" is a typedef in /usr/include/machine/reg.h, so its use as
118 a variable name causes errors when compiling under ANSI C. */
119
120#define vector xxvector
121
122/* arch-tag: 0ad5f932-f29a-4458-a24c-496cafdfd50d
123 (do not change this comment) */
diff --git a/src/m/alliant1.h b/src/m/alliant1.h
deleted file mode 100644
index ca597ac2762..00000000000
--- a/src/m/alliant1.h
+++ /dev/null
@@ -1,12 +0,0 @@
1/* config.h should include this file for version 1 of Alliant's
2 operating system. */
3
4/* The following line tells the configuration script what sort of
5 operating system this machine is likely to run.
6 USUAL-OPSYS="bsd4-2" */
7
8#define ALLIANT_1
9#include "alliant.h"
10
11/* arch-tag: 516688f9-4b94-4356-9bf0-92b2d72e664e
12 (do not change this comment) */
diff --git a/src/m/alliant4.h b/src/m/alliant4.h
deleted file mode 100644
index 2ab0a6bde1d..00000000000
--- a/src/m/alliant4.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/* machine description file for Alliant Concentrix 4.0 or later.
2 Use alliant.h for versions 2 and 3. */
3
4/* The following line tells the configuration script what sort of
5 operating system this machine is likely to run.
6 USUAL-OPSYS="bsd4-2" */
7
8#include "alliant.h"
9
10/* Concentrix uses a different kernel symbol for load average. */
11
12#undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */
13#define LDAV_SYMBOL "_Loadavg"
14
15/* Data type of load average, as read out of kmem. */
16
17#define LOAD_AVE_TYPE long
18
19/* Convert that into an integer that is 100 for a load average of 1.0 */
20
21#define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE)
22
23/* include <sys/param.h> for the definition of LOADAVG_SCALE, and also
24 LOADAVG_SIZE, the number of items in the Loadavg array. */
25
26/* arch-tag: cf917b55-c95e-4079-a4d1-d31e00c61b66
27 (do not change this comment) */
diff --git a/src/m/altos.h b/src/m/altos.h
deleted file mode 100644
index 0f4bb9b810f..00000000000
--- a/src/m/altos.h
+++ /dev/null
@@ -1,59 +0,0 @@
1/* altos machine description file Altos 3068 Unix System V Release 2
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32#define EXPLICIT_SIGN_EXTEND
33
34/* Use type int rather than a union, to represent Lisp_Object */
35
36#define NO_UNION_TYPE
37
38#define LIB_STANDARD -lc
39
40#define SWITCH_ENUM_BUG
41
42#define NO_REMAP
43
44#undef TERMINFO
45
46#undef CANNOT_DUMP
47#undef SHORTNAMES
48#define TERMCAP
49
50#define LIBS_TERMCAP -ltermlib
51#define PURESIZE 220000
52#define ALTOS
53
54#ifdef __GNUC__
55#define COFF_ENCAPSULATE
56#endif
57
58/* arch-tag: 4572d0ff-70bb-445f-80f1-2bbac3cf47cb
59 (do not change this comment) */
diff --git a/src/m/amdahl.h b/src/m/amdahl.h
deleted file mode 100644
index 486e2925a55..00000000000
--- a/src/m/amdahl.h
+++ /dev/null
@@ -1,140 +0,0 @@
1/* amdahl machine description file
2 Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/*
23This file for amdahl_uts created by modifying the template.h
24by Jishnu Mukerji 3/1/87
25
26The following line tells the configuration script what sort of
27operating system this machine is likely to run.
28USUAL-OPSYS="usg5-2-2"
29
30This file works with the Amdahl uts native C compiler. The 5.2u370
31compiler is so brain damaged that it is not even worth trying to use it.
32*/
33
34/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
35 is the most significant byte. */
36
37#define WORDS_BIG_ENDIAN
38
39/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
40 * group of arguments and treat it as an array of the arguments. */
41
42#undef NO_ARG_ARRAY
43
44/* Define WORD_MACHINE if addresses and such have
45 * to be corrected before they can be used as byte counts. */
46
47#define WORD_MACHINE /* not actually used anywhere yet! */
48
49/* Now define a symbol for the cpu type, if your compiler
50 does not define it automatically:
51 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
52 are the ones defined so far. */
53
54/* uts gets defined automatically */
55/* However for clarity define amdahl_uts */
56#define amdahl_uts
57
58/* Use type int rather than a union, to represent Lisp_Object */
59/* This is desirable for most machines. */
60
61#define NO_UNION_TYPE
62
63/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
64 the 24-bit bit field into an int. In other words, if bit fields
65 are always unsigned.
66
67 If you use NO_UNION_TYPE, this flag does not matter. */
68
69#define EXPLICIT_SIGN_EXTEND
70
71/* Data type of load average, as read out of kmem. */
72
73/* #define LOAD_AVE_TYPE long*/
74
75/* Convert that into an integer that is 100 for a load average of 1.0 */
76
77/*#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)*/
78
79/* Define CANNOT_DUMP on machines where unexec does not work.
80 Then the function dump-emacs will not be defined
81 and temacs will do (load "loadup") automatically unless told otherwise. */
82
83/* #define CANNOT_DUMP
84
85/* Define VIRT_ADDR_VARIES if the virtual addresses of
86 pure and impure space as loaded can vary, and even their
87 relative order cannot be relied on.
88
89 Otherwise Emacs assumes that text space precedes data space,
90 numerically. */
91
92/* #define VIRT_ADDR_VARIES*/
93
94/* Define NO_REMAP if memory segmentation makes it not work well
95 to change the boundary between the text section and data section
96 when Emacs is dumped. If you define this, the preloaded Lisp
97 code will not be sharable; but that's better than failing completely. */
98
99/*#define NO_REMAP*/
100
101#define TERMINFO
102
103/* The usual definition of XINT, which involves shifting, does not
104 sign-extend properly on this machine. */
105
106#define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \
107 ? (sign_extend_temp | 0xFF000000) \
108 : (sign_extend_temp & 0x00FFFFFF))
109
110#ifdef emacs /* Don't do this when making xmakefile! */
111extern int sign_extend_temp;
112#endif
113
114/* The following needed to load the proper crt0.o and to get the
115 proper declaration of data_start in the #undef NO_REMAP case */
116
117#ifndef NO_REMAP
118#define START_FILES pre-crt0.o /lib/crt0.o
119#endif
120
121/* Perhaps this means that the optimizer isn't safe to use. */
122
123#define C_OPTIMIZE_SWITCH
124
125/* Put text and data on non-segment boundary; makes image smaller */
126
127#define LD_SWITCH_MACHINE -N
128
129/* When writing the 'xemacs' file, make text segment ro */
130#define EXEC_MAGIC 0410
131
132/* Mask for address bits within a memory segment */
133#define SEGSIZ 0x10000 /* Should this not be defined elsewhere ? */
134#define SEGMENT_MASK (SEGSIZ - 1)
135
136/* Compensate for error in signal.h. */
137#define NSIG_MINIMUM 20
138
139/* arch-tag: cf665976-ddb1-49b0-b383-371e17f36acf
140 (do not change this comment) */
diff --git a/src/m/apollo.h b/src/m/apollo.h
deleted file mode 100644
index 2eac3098db9..00000000000
--- a/src/m/apollo.h
+++ /dev/null
@@ -1,96 +0,0 @@
1/* machine description file for Apollo machine.
2 Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-3" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Say this machine is a 68000 */
33
34/* #define m68000 */ /* Done by the C compiler */
35
36#define APOLLO
37
38/* Assume we use s-bsd4-3.h for system version 10. */
39
40#ifdef BSD4_3
41#define APOLLO_SR10
42#endif
43
44/* Use type int rather than a union, to represent Lisp_Object */
45
46#define NO_UNION_TYPE
47
48/* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT
49 since there is no /dev/kmem */
50
51/* Undefine VIRT_ADDR_VARIES because the virtual addresses of
52 pure and impure space as loaded do not vary. */
53
54#undef VIRT_ADDR_VARIES
55
56/* Prevent -lg from being used for debugging. Not needed. */
57
58#define LIBS_DEBUG
59
60/* Can't use the system's termcap. It has compressed data sections that
61 interfere with dumping. That means we won't automatically get a vt100
62 when we start up emacs in a dm pad (a dubious feature at best anyway). */
63
64#undef LIBS_TERMCAP
65
66/* Must use the system's malloc and alloca. */
67
68#define SYSTEM_MALLOC
69
70/* Define the file we use for UNEXEC. */
71
72#define UNEXEC unexapollo.o
73
74/* The Apollo linker does not recognize the -X switch, so we remove it here. */
75
76#define LD_SWITCH_SYSTEM
77
78/* Define C_SWITCH_MACHINE to compile for 68020/68030 or PRISM.
79 Define LD_SWITCH_MACHINE to save space by stripping symbols
80 and use X11 libraries. */
81
82#if _ISP__A88K
83#define C_SWITCH_MACHINE -W0,-ncompress -W0,-opt,2 -A cpu,a88k -A sys,any -A run,bsd4.3
84#define LD_SWITCH_MACHINE -A cpu,a88k -A sys,any -A run,bsd4.3
85#else
86#define C_SWITCH_MACHINE -W0,-ncompress -W0,-opt,2 -A cpu,3000 -A sys,any -A run,bsd4.3
87#define LD_SWITCH_MACHINE -A cpu,m68k -A sys,any -A run,bsd4.3
88#endif
89
90#define OLDXMENU_OPTIONS ${C_SWITCH_MACHINE}
91
92/* In SR10.4, unistd.h has bad prototype for getpgrp, so we don't include it. */
93#undef HAVE_UNISTD_H
94
95/* arch-tag: 33336588-6242-4e2e-a194-e38848b12813
96 (do not change this comment) */
diff --git a/src/m/att3b.h b/src/m/att3b.h
deleted file mode 100644
index 8e9a589bcd2..00000000000
--- a/src/m/att3b.h
+++ /dev/null
@@ -1,150 +0,0 @@
1/* Machine-dependent configuration for GNU Emacs for AT&T 3b machines.
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5 Modified by David Robinson (daver@csvax.caltech.edu) 6/6/86
6
7This file is part of GNU Emacs.
8
9GNU Emacs is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3, or (at your option)
12any later version.
13
14GNU Emacs is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GNU Emacs; see the file COPYING. If not, write to
21the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22Boston, MA 02110-1301, USA. */
23
24
25/* The following line tells the configuration script what sort of
26 operating system this machine is likely to run.
27 USUAL-OPSYS="usg5-2-2" */
28
29/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
30 is the most significant byte. */
31
32#define WORDS_BIG_ENDIAN
33
34/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
35 * group of arguments and treat it as an array of the arguments. */
36
37/* #define NO_ARG_ARRAY */
38
39/* Define WORD_MACHINE if addresses and such have
40 * to be corrected before they can be used as byte counts. */
41
42/* #define WORD_MACHINE */
43
44/* Now define a symbol for the cpu type, if your compiler
45 does not define it automatically */
46#define ATT3B
47
48/* Use type int rather than a union, to represent Lisp_Object */
49/* This is desirable for most machines. */
50
51#define NO_UNION_TYPE
52
53/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
54 the bit field into an int. In other words, if bit fields
55 are always unsigned.
56
57 If you use NO_UNION_TYPE, this flag does not matter. */
58
59#define EXPLICIT_SIGN_EXTEND
60
61/* Data type of load average, as read out of kmem. */
62/* #define LOAD_AVE_TYPE long */
63
64/* Convert that into an integer that is 100 for a load average of 1.0 */
65
66/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
67
68/* Define CANNOT_DUMP on machines where unexec does not work.
69 Then the function dump-emacs will not be defined
70 and temacs will do (load "loadup") automatically unless told otherwise. */
71/* #define CANNOT_DUMP */
72
73/* Define VIRT_ADDR_VARIES if the virtual addresses of
74 pure and impure space as loaded can vary, and even their
75 relative order cannot be relied on.
76
77 Otherwise Emacs assumes that text space precedes data space,
78 numerically. */
79
80/* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */
81
82/* SysV has alloca in the PW library */
83
84#define LIB_STANDARD -lPW -lc
85
86/* Define NO_REMAP if memory segmentation makes it not work well
87 to change the boundary between the text section and data section
88 when Emacs is dumped. If you define this, the preloaded Lisp
89 code will not be sharable; but that's better than failing completely. */
90
91#define NO_REMAP
92
93/* #define LD_SWITCH_MACHINE -N */
94
95/* Use Terminfo, not Termcap. */
96
97#define TERMINFO
98
99/* -O has been observed to make correct C code in Emacs not work.
100 So don't try to use it. */
101
102#if u3b2 || u3b5 || u3b15
103#define C_OPTIMIZE_SWITCH
104#endif
105
106/* Define our page size. */
107
108#define NBPC 2048
109
110#if 0 /* If this is still needed, don't hard-code assumptions about
111 the number of VALBITS, or other assumptions about the
112 Lisp_Object representation. Try to extend lisp.h instead, if
113 necessary. */
114/* The usual definition of XINT, which involves shifting, does not
115 sign-extend properly on this machine. */
116
117#define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \
118 ? (sign_extend_temp | 0xFF000000) \
119 : (sign_extend_temp & 0x00FFFFFF))
120#endif
121
122#ifdef emacs /* Don't do this when making xmakefile! */
123extern int sign_extend_temp;
124#endif
125
126#if u3b2 || u3b5 || u3b15
127/* On 3b2/5/15, data space has high order bit on. */
128#define DATA_SEG_BITS 0x80000000
129#endif /* 3b2, 3b5 or 3b15 */
130
131#define TEXT_START 0
132
133/* (short) negative-int doesn't sign-extend correctly */
134#define SHORT_CAST_BUG
135
136/* 3B2s with WIN/3B have winsize defined in ptem.h */
137#if u3b2
138#define NEED_PTEM_H
139#endif /* u3b2 */
140
141/* 3b2 does not have memmove, I'm told. */
142/* It is safe to have no parens around the args in the safe_bcopy call,
143 and parens would screw up the prototype decl for memmove. */
144#define memmove(d, s, n) safe_bcopy (s, d, n)
145
146/* This affects filemode.c. */
147#define NO_MODE_T
148
149/* arch-tag: 07441a37-d630-447f-94fa-7da19645c97a
150 (do not change this comment) */
diff --git a/src/m/aviion-intel.h b/src/m/aviion-intel.h
deleted file mode 100644
index eb93a43214f..00000000000
--- a/src/m/aviion-intel.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/* This file is minor changes for the Data General AViiON intel machines
2 i586-dg-dguxR4* (tested on i586-dg-dguxR4.11MU04)
3 Done by Ehud Karni, 1998-may-30, ehud@unix.simonwiesel.co.il */
4
5#include "aviion.h" /* 1st load m88k DGUX definitions */
6
7#define INTEL_DGUX /* define for future possible use */
8
9/* Intel machines are LITTLE ENDIAN */
10#undef WORDS_BIG_ENDIAN
11
12/* No correction needed for byte addresses */
13#undef WORD_MACHINE
14
15#ifndef INTEL386
16#define INTEL386 /* Identify as Intel machine */
17#endif
18
19#undef m88k /* It sure is NOT a Motorola machine */
20
21/* arch-tag: 7cbf89ef-237c-4da5-bdd0-8d569ae5f3ce
22 (do not change this comment) */
diff --git a/src/m/aviion.h b/src/m/aviion.h
deleted file mode 100644
index 832feb79a00..00000000000
--- a/src/m/aviion.h
+++ /dev/null
@@ -1,126 +0,0 @@
1/* machine description file for Data General AViiON.
2 Copyright (C) 1985, 1986, 1991, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
24 is the most significant byte. */
25
26#define WORDS_BIG_ENDIAN
27
28/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
29 * group of arguments and treat it as an array of the arguments. */
30
31#define NO_ARG_ARRAY
32
33/* Define WORD_MACHINE if addresses and such have
34 * to be corrected before they can be used as byte counts. */
35
36#define WORD_MACHINE
37
38/* Define DATA_SEG_BITS if pointers need to be corrected with
39 a segment field. */
40
41#ifdef FIX_ADDRESS
42#define DATA_SEG_BITS 0xef000000
43#endif
44
45/* Now define a symbol for the cpu type, if your compiler
46 does not define it automatically:
47 Ones defined so far include vax, m68000, ns16000, pyramid,
48 orion, tahoe, APOLLO and many others */
49
50#ifndef m88k
51#define m88k
52#endif
53
54/* Use type int rather than a union, to represent Lisp_Object */
55/* This is desirable for most machines. */
56
57#define NO_UNION_TYPE
58
59/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
60 the bit field into an int. In other words, if bit fields
61 are always unsigned.
62
63 If you use NO_UNION_TYPE, this flag does not matter. */
64
65#define EXPLICIT_SIGN_EXTEND
66
67/* Data type of load average, as read out of kmem. */
68
69/* #define LOAD_AVE_TYPE long */
70
71/* Convert that into an integer that is 100 for a load average of 1.0 */
72
73/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
74
75/* Define CANNOT_DUMP on machines where unexec does not work.
76 Then the function dump-emacs will not be defined
77 and temacs will do (load "loadup") automatically unless told otherwise. */
78
79/* #define CANNOT_DUMP */
80
81/* Define VIRT_ADDR_VARIES if the virtual addresses of
82 pure and impure space as loaded can vary, and even their
83 relative order cannot be relied on.
84
85 Otherwise Emacs assumes that text space precedes data space,
86 numerically. */
87
88/* #define VIRT_ADDR_VARIES */
89
90#define alloca(x) __builtin_alloca(x)
91
92/* Define NO_REMAP if memory segmentation makes it not work well
93 to change the boundary between the text section and data section
94 when Emacs is dumped. If you define this, the preloaded Lisp
95 code will not be sharable; but that's better than failing completely. */
96
97#define NO_REMAP
98
99/* Define ADDR_CORRECT(ADDR) to be a macro to correct an int which is
100 the bit pattern of a pointer to a byte into an int which is the
101 number of a byte.
102
103 This macro has a default definition which is usually right.
104 This default definition is a no-op on most machines (where a
105 pointer looks like an int) but not on all machines. */
106
107#define ADDR_CORRECT(ADDR) ((int)ADDR)
108
109/* Cast pointers to this type to compare them. */
110
111#define PNTR_COMPARISON_TYPE void *
112
113/* Some machines that use COFF executables require that each section
114 start on a certain boundary *in the COFF file*. Such machines should
115 define SECTION_ALIGNMENT to a mask of the low-order bits that must be
116 zero on such a boundary. This mask is used to control padding between
117 segments in the COFF file.
118
119 If SECTION_ALIGNMENT is not defined, the segments are written
120 consecutively with no attempt at alignment. This is right for
121 unmodified system V. */
122
123#define SECTION_ALIGNMENT 0x7
124
125/* arch-tag: 9de8e6ed-ddd8-4480-8308-17ddd7c86559
126 (do not change this comment) */
diff --git a/src/m/celerity.h b/src/m/celerity.h
deleted file mode 100644
index 556c2765883..00000000000
--- a/src/m/celerity.h
+++ /dev/null
@@ -1,60 +0,0 @@
1/* machine description file for Celerity.
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* XINT must explicitly sign extend */
33
34#define EXPLICIT_SIGN_EXTEND
35
36/* celerity preprocessor defines "accel", however the following is clearer */
37#define celerity
38
39/* #define NO_UNION_TYPE would be preferable,
40 but it does not work, and the reason is not yet known. */
41
42#define NO_UNION_TYPE
43
44/* Data type of load average, as read out of kmem. */
45
46#define LOAD_AVE_TYPE double
47
48/* Convert that into an integer that is 100 for a load average of 1.0 */
49
50#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
51
52/* A machine-specific loader switch is needed. */
53
54#define LD_SWITCH_MACHINE -k100000
55
56/* (short) negative-int doesn't sign-extend correctly */
57#define SHORT_CAST_BUG
58
59/* arch-tag: b4df1828-fab6-48f8-97bc-b8998c200eea
60 (do not change this comment) */
diff --git a/src/m/clipper.h b/src/m/clipper.h
deleted file mode 100644
index c0006f48eab..00000000000
--- a/src/m/clipper.h
+++ /dev/null
@@ -1,98 +0,0 @@
1/* machine description file for clipper
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
24 is the most significant byte. */
25
26#undef WORDS_BIG_ENDIAN
27
28/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
29 * group of arguments and treat it as an array of the arguments. */
30
31#define NO_ARG_ARRAY
32
33/* Define WORD_MACHINE if addresses and such have
34 * to be corrected before they can be used as byte counts. */
35
36/* #define WORD_MACHINE */
37
38/* Now define a symbol for the cpu type, if your compiler
39 does not define it automatically */
40
41#define clipper 1
42
43/* Use type int rather than a union, to represent Lisp_Object */
44
45#define NO_UNION_TYPE
46
47/* crt0.c should define a symbol `start' and do .globl with a dot. */
48
49#define DOT_GLOBAL_START
50
51/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
52 the 24-bit bit field into an int. In other words, if bit fields
53 are always unsigned.
54
55 If you use NO_UNION_TYPE, this flag does not matter. */
56
57/* #define EXPLICIT_SIGN_EXTEND */
58
59/* USG systems I know of running on Vaxes do not actually
60 support the load average, so disable it for them. */
61
62/* Data type of load average, as read out of kmem. */
63
64#define LOAD_AVE_TYPE double
65
66/* Convert that into an integer that is 100 for a load average of 1.0 */
67
68#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
69
70/* Define CANNOT_DUMP on machines where unexec does not work.
71 Then the function dump-emacs will not be defined
72 and temacs will do (load "loadup") automatically unless told otherwise. */
73/* #define CANNOT_DUMP */
74
75/* Define VIRT_ADDR_VARIES if the virtual addresses of
76 pure and impure space as loaded can vary, and even their
77 relative order cannot be relied on.
78
79 Otherwise Emacs assumes that text space precedes data space,
80 numerically. */
81
82/* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */
83
84/* Define NO_REMAP if memory segmentation makes it not work well
85 to change the boundary between the text section and data section
86 when Emacs is dumped. If you define this, the preloaded Lisp
87 code will not be sharable; but that's better than failing completely. */
88
89/* #define NO_REMAP */
90
91#ifdef USG
92#define TEXT_START 0
93#endif /* USG */
94
95#define LD_TEXT_START_ADDR 8000
96
97/* arch-tag: 2f7981c1-7018-4a1e-b7b6-b2900de36a04
98 (do not change this comment) */
diff --git a/src/m/cnvrgnt.h b/src/m/cnvrgnt.h
deleted file mode 100644
index 22478a273b6..00000000000
--- a/src/m/cnvrgnt.h
+++ /dev/null
@@ -1,97 +0,0 @@
1/* machine description file for convergent S series.
2 Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
24 is the most significant byte. */
25
26#define WORDS_BIG_ENDIAN
27
28/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
29 * group of arguments and treat it as an array of the arguments. */
30
31/* #define NO_ARG_ARRAY */
32
33/* Define WORD_MACHINE if addresses and such have
34 * to be corrected before they can be used as byte counts. */
35
36/* #define WORD_MACHINE */
37
38/* Now define a symbol for the cpu type, if your compiler
39 does not define it automatically. */
40
41#define m68000
42
43/* Use type int rather than a union, to represent Lisp_Object.
44 This is desirable for most machines. */
45
46#define NO_UNION_TYPE
47
48/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
49 the 24-bit bit field into an int. In other words, if bit fields
50 are always unsigned.
51
52 If you use NO_UNION_TYPE, this flag does not matter. */
53
54#define EXPLICIT_SIGN_EXTEND
55
56/* Data type of load average, as read out of kmem.
57 These are commented out since it is not supported by this machine. */
58
59#define LOAD_AVE_TYPE double
60
61/* Convert that into an integer that is 100 for a load average of 1.0 */
62
63#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
64
65/* Define CANNOT_DUMP on machines where unexec does not work.
66 Then the function dump-emacs will not be defined
67 and temacs will do (load "loadup") automatically unless told otherwise. */
68
69/* #define CANNOT_DUMP */
70
71/* Define VIRT_ADDR_VARIES if the virtual addresses of
72 pure and impure space as loaded can vary, and even their
73 relative order cannot be relied on.
74
75 Otherwise Emacs assumes that text space precedes data space,
76 numerically. */
77
78#undef VIRT_ADDR_VARIES
79
80/* Define NO_REMAP if memory segmentation makes it not work well
81 to change the boundary between the text section and data section
82 when Emacs is dumped. If you define this, the preloaded Lisp
83 code will not be sharable; but that's better than failing completely. */
84
85#define NO_REMAP
86
87/* Change some things to avoid bugs in compiler. */
88
89#define SWITCH_ENUM_BUG
90
91/* some errno.h's don't actually allocate the variable itself.
92 Cause crt0.c to define errno. */
93
94#define NEED_ERRNO
95
96/* arch-tag: 1a227f79-37e4-43af-a186-53c61296b0be
97 (do not change this comment) */
diff --git a/src/m/convex.h b/src/m/convex.h
deleted file mode 100644
index c8f447cf2fa..00000000000
--- a/src/m/convex.h
+++ /dev/null
@@ -1,189 +0,0 @@
1/* machine description file for Convex (all models).
2 Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-3" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments.
34 * Maybe it would be better to simply correct the code. */
35
36#define NO_ARG_ARRAY
37
38/* Define WORD_MACHINE if addresses and such have
39 * to be corrected before they can be used as byte counts. */
40
41/* #define WORD_MACHINE */
42
43/* Now define a symbol for the cpu type, if your compiler
44 does not define it automatically. */
45#ifndef convex /* The compiler doesn't always do this. */
46#define convex
47#endif
48
49/* Use type int rather than a union, to represent Lisp_Object */
50/* This is desirable for most machines. */
51
52#define NO_UNION_TYPE
53
54#ifndef __GNUC__ /* David M. Cooke <dcooke@haven.larc.nasa.gov>
55 and Ralph Sobek <Ralph.Sobek@cerfacs.fr> agree
56 must ignore one arg when compiled with convex compiler. */
57#define CRT0_DUMMIES ignore,
58#else
59#define CRT0_DUMMIES
60#endif
61
62/* crt0.c should define a symbol `start' and do .globl with a dot. */
63
64#define DOT_GLOBAL_START
65
66/* Data type of load average, as read out of kmem. */
67
68#define LOAD_AVE_TYPE double
69
70/* Convert that into an integer that is 100 for a load average of 1.0 */
71
72#define LOAD_AVE_CVT(x) (int) ((x) * 100.0)
73
74/* Define CANNOT_DUMP on machines where unexec does not work.
75 Then the function dump-emacs will not be defined
76 and temacs will do (load "loadup") automatically unless told otherwise. */
77
78/* #define CANNOT_DUMP */
79
80/* Define VIRT_ADDR_VARIES if the virtual addresses of
81 pure and impure space as loaded can vary, and even their
82 relative order cannot be relied on.
83
84 Otherwise Emacs assumes that text space precedes data space,
85 numerically. */
86
87/*#define VIRT_ADDR_VARIES*/
88
89/* Must use the system's termcap. It does special things. */
90
91#define LIBS_TERMCAP -ltermcap
92
93/* Define NO_REMAP if memory segmentation makes it not work well
94 to change the boundary between the text section and data section
95 when Emacs is dumped. If you define this, the preloaded Lisp
96 code will not be sharable; but that's better than failing completely. */
97
98/* #define NO_REMAP */
99
100/* Addresses on the Convex have the high bit set. */
101#define DATA_SEG_BITS (1 << (BITS_PER_INT-1))
102
103/* Right shift is logical shift.
104 And the usual way of handling such machines, which involves
105 copying the number into sign_extend_temp, does not work
106 for reasons as yet unknown. */
107
108#define XINT(a) sign_extend_lisp_int (a)
109
110/* Convex uses a special version of unexec. */
111
112#define UNEXEC unexconvex.o
113
114/* you gotta define 'COFF' for post 6.1 unexec. */
115
116#define COFF
117#define TEXT_START 0x80001000
118
119/* Posix stuff for Convex OS 8.1 and up. */
120
121#define LD_SWITCH_MACHINE \
122 -e__start -L /usr/lib \
123 '-A__iob=___ap$$iob' '-A_use_libc_sema=___ap$$use_libc_sema'
124
125/* Use <dirent.h>. */
126#define SYSV_SYSTEM_DIR
127
128#ifdef _POSIX_SOURCE
129
130/* These symbols have been undefined to advance the state of the art. */
131
132#define S_IFMT _S_IFMT
133#define S_IFDIR _S_IFDIR
134
135#define S_IREAD _S_IREAD
136#define S_IWRITE _S_IWRITE
137#define S_IEXEC _S_IEXEC
138
139#endif
140
141/* Ptys may start below ptyp0; call a routine to hunt for where. */
142
143#undef FIRST_PTY_LETTER
144#define FIRST_PTY_LETTER first_pty_letter()
145
146#if 0
147/*
148 * Force a K&R compilation and libraries with the Convex V 4.0 C compiler
149 */
150#define C_SWITCH_MACHINE -pcc
151#define LIB_STANDARD -lc_old
152#define LIBS_MACHINE -lC2_old
153#define LD_SWITCH_MACHINE -X -NL -fn -Enoposix -A__iob=___ap\$$iob \
154 -A_use_libc_sema=___ap\$$use_libc_sema -L /usr/lib
155#endif
156
157/* Avoid error in xrdb.c - d.m.cooke@larc.nasa.gov. */
158#define DECLARE_GETPWUID_WITH_UID_T
159
160/* Call getpgrp properly. */
161#define GETPGRP_NO_ARG
162
163/* Tested for both Convex C and GNUC by d.m.cooke@larc.nasa.gov. */
164#define LIBS_MACHINE -lC2
165
166/* Avoid error in getloadavg.c. */
167#define NLIST_NAME_UNION 1
168
169#if 0 /* This is supposed to be an improvement.
170 It would be good for people to try enabling this code
171 and report the results. */
172/* gcc -nostdlib prevents some math symbols from being included.
173 So we have to use -nostartfiles instead. */
174#define LINKER $(CC) -nostartfiles
175
176#define ORDINARY_LINK
177
178#undef LD_SWITCH_MACHINE
179#define LD_SWITCH_MACHINE \
180 -L /usr/lib \
181 '-A__iob=___ap$$iob' '-A_use_libc_sema=___ap$$use_libc_sema'
182#endif
183
184/* There is some indication that the convex has sys/wait.h
185 but it does not work right. */
186#undef HAVE_SYS_WAIT_H
187
188/* arch-tag: 127e5ae1-4f03-40c0-a87e-d2cb02c59de8
189 (do not change this comment) */
diff --git a/src/m/cydra5.h b/src/m/cydra5.h
deleted file mode 100644
index 4c95f226371..00000000000
--- a/src/m/cydra5.h
+++ /dev/null
@@ -1,117 +0,0 @@
1/* machine description file for Cydrome's CYDRA 5 mini super computer
2 Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-3" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#undef NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#undef WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 Ones defined so far include vax, m68000, ns16000, pyramid,
45 orion, tahoe, APOLLO and many others */
46
47/* Use type int rather than a union, to represent Lisp_Object */
48/* This is desirable for most machines. */
49
50#define NO_UNION_TYPE
51
52/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
53 the 24-bit bit field into an int. In other words, if bit fields
54 are always unsigned.
55
56 If you use NO_UNION_TYPE, this flag does not matter. */
57
58#define EXPLICIT_SIGN_EXTEND
59
60/* Data type of load average, as read out of kmem. */
61
62#define LOAD_AVE_TYPE long
63
64/* Convert that into an integer that is 100 for a load average of 1.0 */
65
66#define LOAD_AVE_CVT(x) x
67
68/* Define CANNOT_DUMP on machines where unexec does not work.
69 Then the function dump-emacs will not be defined
70 and temacs will do (load "loadup") automatically unless told otherwise. */
71
72/*#define CANNOT_DUMP*/
73
74/* Define VIRT_ADDR_VARIES if the virtual addresses of
75 pure and impure space as loaded can vary, and even their
76 relative order cannot be relied on.
77
78 Otherwise Emacs assumes that data space precedes text space,
79 numerically. */
80
81#undef VIRT_ADDR_VARIES
82
83/* The data segment in this machine always starts at address 0x10000000.
84 An address of data cannot be stored correctly in a Lisp object;
85 we always lose the high bits. We must tell XPNTR to add them back. */
86
87#define DATA_SEG_BITS 0x20000000
88#define DATA_START 0x20000000
89
90/* Define NO_REMAP if memory segmentation makes it not work well
91 to change the boundary between the text section and data section
92 when Emacs is dumped. If you define this, the preloaded Lisp
93 code will not be sharable; but that's better than failing completely. */
94
95#define NO_REMAP
96#define BROKEN_FIONREAD /* We son't even have it */
97#define LIBS_MACHINE -lsocket -lnsl
98
99/* The data section in a coff file must be aligned in the file. */
100#define DATA_SECTION_ALIGNMENT 0xFFF
101
102/* Compiler won't allow switch (x) when x is an enum. */
103#define SWITCH_ENUM_BUG
104
105
106/* Explain how pty filenames work. */
107
108#define PTY_ITERATION for (i = 47; i >= 0; i--)
109#define PTY_NAME_SPRINTF sprintf (ptyname, "/dev/pty%03x", i);
110#define PTY_TTY_NAME_SPRINTF sprintf (ptyname, "/dev/ptm%03x", i);
111
112/* We can't do interrupt-driven input, so don't let user try. */
113
114#define BROKEN_SIGIO
115
116/* arch-tag: ad70aae4-1f54-4e67-8677-6eeafb9bcbd9
117 (do not change this comment) */
diff --git a/src/m/delta88k.h b/src/m/delta88k.h
deleted file mode 100644
index b5d0c8f190b..00000000000
--- a/src/m/delta88k.h
+++ /dev/null
@@ -1,163 +0,0 @@
1/* Machine description file for Motorola System V/88 machines
2 Copyright (C) 1985, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-3" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#define NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40/* #define WORD_MACHINE */
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 Ones defined so far include vax, m68000, ns16000, pyramid,
45 orion, tahoe, APOLLO and many others */
46
47#ifndef m88000 /* Some 88k C compilers already define this */
48#define m88000
49#endif
50
51/* Now define a symbol for the cpu type, if your compiler
52 does not define it automatically. */
53
54
55/* Use type int rather than a union, to represent Lisp_Object */
56/* This is desirable for most machines. */
57
58#define NO_UNION_TYPE
59
60/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
61 the 24-bit bit field into an int. In other words, if bit fields
62 are always unsigned.
63
64 If you use NO_UNION_TYPE, this flag does not matter. */
65
66/* #define EXPLICIT_SIGN_EXTEND */
67
68/* Data type of load average, as read out of kmem. */
69/* No load average on Motorola machines. */
70/* #define LOAD_AVE_TYPE double */
71
72/* Convert that into an integer that is 100 for a load average of 1.0 */
73/* #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) */
74
75/* Define CANNOT_DUMP on machines where unexec does not work.
76 Then the function dump-emacs will not be defined
77 and temacs will do (load "loadup") automatically unless told otherwise. */
78
79/* #define CANNOT_DUMP */
80
81/* Define VIRT_ADDR_VARIES if the virtual addresses of
82 pure and impure space as loaded can vary, and even their
83 relative order cannot be relied on.
84
85 Otherwise Emacs assumes that text space precedes data space,
86 numerically. */
87
88/* #define VIRT_ADDR_VARIES */
89
90/* Define NO_REMAP if memory segmentation makes it not work well
91 to change the boundary between the text section and data section
92 when Emacs is dumped. If you define this, the preloaded Lisp
93 code will not be sharable; but that's better than failing completely. */
94
95#define NO_REMAP
96
97/* Motorola SysV has PTYs. Not all usg3-5 systems do, so this is defined
98 here. */
99
100#define HAVE_PTYS
101#define SYSV_PTYS
102
103/* Ditto for IPC. */
104
105
106/*
107 * we now have job control in R32V1
108 */
109#undef NOMULTIPLEJOBS
110
111/*
112 * we have bcopy, bzero, bcmp in libc.a (what isn't in libc.a?)
113 */
114#define BSTRING
115
116/*
117 * sockets are in R32V1
118 */
119#define HAVE_SOCKETS
120
121/*
122 * we have the wrong name for networking libs
123 */
124#ifdef USG5_4
125/* rms: not needed; LIB_X11_LIB deals with this. */
126/* #define LIBX11_SYSTEM -lX11 */
127#else
128#undef LIB_X11_LIB /* We don't have the shared libs as assumed in usg5-3.h. */
129#undef LIBX11_SYSTEM
130#define LIBX11_SYSTEM -lnsl -lbsd
131#endif /* USG5_4 */
132
133#define BROKEN_FIONREAD
134
135/* previously defined in usg5-4, if we choose to use that. */
136#ifndef LIBS_SYSTEM
137#ifdef USG5_4
138#define LIBS_SYSTEM -lsocket -lnsl
139#else
140#define LIBS_SYSTEM -lbsd -lg
141#endif /* USG5_4 */
142#endif
143
144#define HAVE_TERMIOS
145#undef HAVE_TERMIO
146#define NO_TERMIO
147#undef sigsetmask
148
149#define NO_SIOCTL_H
150
151#ifdef USG5_4
152#ifdef HAVE_X_WINDOWS
153#else
154#undef BSTRING
155#endif /* HAVE_X_WINDOWS */
156#endif /* USG5_4 */
157
158#define NO_PTY_H
159
160#define USE_GETOBAUD
161
162/* arch-tag: c8ea1965-99d7-43df-ba32-29b66fc069be
163 (do not change this comment) */
diff --git a/src/m/dpx2.h b/src/m/dpx2.h
deleted file mode 100644
index b39ef93ee34..00000000000
--- a/src/m/dpx2.h
+++ /dev/null
@@ -1,222 +0,0 @@
1/* machine description for Bull DPX/2 range
2 Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/* The following line tells the configuration script what sort of
23 operating system this machine is likely to run.
24 USUAL-OPSYS="usg5-3" */
25
26/*
27 * You need to either un-comment one of these lines, or copy one
28 * of them to config.h before you include this file.
29 * Note that some simply define a constant and others set a value.
30 */
31
32/* #define ncl_el /* DPX/2 210,220 etc */
33/* #define ncl_mr 1 /* DPX/2 320,340 (and 360,380 ?) */
34
35/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
36 is the most significant byte. */
37
38#define WORDS_BIG_ENDIAN
39
40/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
41 * group of arguments and treat it as an array of the arguments. */
42
43#define NO_ARG_ARRAY
44
45/* Define WORD_MACHINE if addresses and such have
46 * to be corrected before they can be used as byte counts. */
47
48/* #define WORD_MACHINE /**/
49
50/* Now define a symbol for the cpu type, if your compiler
51 does not define it automatically:
52 Ones defined so far include vax, m68000, ns16000, pyramid,
53 orion, tahoe, APOLLO and many others */
54
55/* /bin/cc on ncl_el and ncl_mr define m68k and mc68000 */
56
57/* Use type int rather than a union, to represent Lisp_Object */
58/* This is desirable for most machines. */
59
60#define NO_UNION_TYPE
61
62/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
63 the 24-bit bit field into an int. In other words, if bit fields
64 are always unsigned.
65
66 If you use NO_UNION_TYPE, this flag does not matter. */
67
68#define EXPLICIT_SIGN_EXTEND
69
70/* Data type of load average, as read out of kmem. */
71
72#define LOAD_AVE_TYPE long
73
74/* Convert that into an integer that is 100 for a load average of 1.0 */
75
76#define FSCALE 1000.0
77#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
78
79/* Define CANNOT_DUMP on machines where unexec does not work.
80 Then the function dump-emacs will not be defined
81 and temacs will do (load "loadup") automatically unless told otherwise. */
82
83/*#define CANNOT_DUMP /**/
84
85/* Define VIRT_ADDR_VARIES if the virtual addresses of
86 pure and impure space as loaded can vary, and even their
87 relative order cannot be relied on.
88
89 Otherwise Emacs assumes that text space precedes data space,
90 numerically. */
91
92/* #define VIRT_ADDR_VARIES /**/
93
94/* Define NO_REMAP if memory segmentation makes it not work well
95 to change the boundary between the text section and data section
96 when Emacs is dumped. If you define this, the preloaded Lisp
97 code will not be sharable; but that's better than failing completely. */
98
99#define NO_REMAP
100
101/*
102 * end of the standard macro's
103 */
104
105/*
106 * a neat identifier to handle source mods (if needed)
107 */
108#ifndef DPX2
109#define DPX2
110#endif
111
112/* Disable support for shared libraries in unexec. */
113
114#undef USG_SHARED_LIBRARIES
115
116/*
117 * if we use X11, libX11.a has these...
118 */
119# undef LIB_X11_LIB
120# define LIB_X11_LIB -lX11
121# undef LIBX11_SYSTEM
122# define LIBX11_SYSTEM -lmalloc -lnsl
123# define BSTRING
124
125/*
126 * we must have INET loaded so we have sockets
127 */
128# define HAVE_SOCKETS
129
130/*
131 * useful if you have INET loaded
132 */
133# define LIBS_MACHINE -linet
134
135
136#if (defined(ncl_mr) || defined(ncl_el)) && !defined (NBPC)
137# define NBPC 4096
138#endif
139
140/*
141 * if SIGIO is defined, much of the emacs
142 * code assumes we are BSD !!
143 */
144#define BROKEN_SIGIO
145
146
147/*
148 * a good idea on multi-user systems :-)
149 */
150#define CLASH_DETECTION /* probably a good idea */
151
152
153/*
154 * sysdep.c(sys_suspend) works fine with emacs-18.58
155 * and BOS 02.00.45, if you have an earler version
156 * of Emacs and/or BOS, or have problems, or just prefer
157 * to start a sub-shell rather than suspend-emacs,
158 * un-comment out the next line.
159 */
160/* # define BROKEN_SIGTSTP /* make suspend-emacs spawn a sub-shell */
161#ifdef NOMULTIPLEJOBS
162# undef NOMULTIPLEJOBS
163#endif
164/*
165 * no we don't want this at all
166 */
167#ifdef USG_JOBCTRL
168# undef USG_JOBCTRL
169#endif
170
171/*
172 * but we have that
173*/
174#define GETPGRP_NO_ARG
175
176/* select also needs this header file--but not in ymakefile. */
177#ifndef NOT_C_CODE
178#include <sys/types.h>
179#include <sys/select.h>
180#endif
181
182#define TEXT_START 0
183
184/* we have termios */
185#undef HAVE_TERMIO
186#define HAVE_TERMIOS
187#define HAVE_TCATTR
188
189/* we also have this */
190#define HAVE_PTYS
191#define SYSV_PTYS
192
193/* It doesn't seem we have sigpause */
194#undef HAVE_SYSV_SIGPAUSE
195
196#define POSIX_SIGNALS
197
198/* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */
199#undef sigsetmask
200
201
202/* on bos2.00.45 there is a bug that makes the F_SETOWN fcntl() call
203 enters in an infinite loop. Avoid calling it */
204#define F_SETOWN_BUG
205
206/* system closedir sometimes complains about wrong descriptor
207 for no apparent reasons. Use the provided closedir in sysdep.c instead */
208#ifdef HAVE_CLOSEDIR
209#undef HAVE_CLOSEDIR
210#endif
211
212/* Send signals to subprocesses by "typing" signal chars at them. */
213#define SIGNALS_VIA_CHARACTERS
214
215/* This is to prevent memory clobbering on the DPX/2 200. */
216#define LD_SWITCH_MACHINE -N -T32
217
218 /* end of dpx2.h */
219
220
221/* arch-tag: 8cfdf817-aec7-4d99-a00d-0e77615e8e1b
222 (do not change this comment) */
diff --git a/src/m/dual.h b/src/m/dual.h
deleted file mode 100644
index d287f9502d2..00000000000
--- a/src/m/dual.h
+++ /dev/null
@@ -1,73 +0,0 @@
1/* machine description file for Dual machines using unisoft port.
2 Copyright (C) 1985, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/* The following line tells the configuration script what sort of
23 operating system this machine is likely to run.
24 USUAL-OPSYS="note"
25
26NOTE-START
27Dual running System V (-machine=dual -opsystem=usg5-2)
28
29 As of 17.46, this works except for a few changes
30 needed in unexec.c.
31
32Dual running Uniplus (-machine=dual -opsystem=unipl5-2)
33
34 Works, as of 17.51.
35NOTE-END */
36
37
38/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
39 is the most significant byte. */
40
41#define WORDS_BIG_ENDIAN
42
43/* XINT must explicitly sign-extend */
44
45#define EXPLICIT_SIGN_EXTEND
46
47/* Use type int rather than a union, to represent Lisp_Object */
48
49#define NO_UNION_TYPE
50
51/* Now define a symbol for the cpu type, if your compiler
52 does not define it automatically:
53 vax, m68000, ns16000 are the ones defined so far. */
54
55#ifndef m68000
56#define m68000
57#endif
58
59/* Data type of load average, as read out of kmem. */
60/* These are commented out since it does not really work in uniplus */
61
62/* #define LOAD_AVE_TYPE long */
63
64/* Convert that into an integer that is 100 for a load average of 1.0 */
65
66/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */
67
68/* Change some things to avoid bugs in compiler */
69
70#define SWITCH_ENUM_BUG 1
71
72/* arch-tag: 7208d63c-9a23-469e-a9b1-908ac912c743
73 (do not change this comment) */
diff --git a/src/m/elxsi.h b/src/m/elxsi.h
deleted file mode 100644
index 07a00bbf714..00000000000
--- a/src/m/elxsi.h
+++ /dev/null
@@ -1,133 +0,0 @@
1/* machine description file for Elxsi machine (running enix).
2 Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4 Adapted by John Salmon
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2" */
26
27/* This file was modified by Matt Crawford <matt@tank.uchicago.edu>
28 to work under Elxsi's 12.0 release of BSD unix. */
29
30/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
31 is the most significant byte. */
32
33#undef WORDS_BIG_ENDIAN
34
35/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
36 * group of arguments and treat it as an array of the arguments. */
37
38/*#define NO_ARG_ARRAY */
39
40/* Define WORD_MACHINE if addresses and such have
41 * to be corrected before they can be used as byte counts. */
42
43/*#define WORD_MACHINE */
44
45/* Now define a symbol for the cpu type, if your compiler
46 does not define it automatically:
47 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
48 are the ones defined so far. */
49
50#ifndef elxsi
51#define elxsi
52#endif
53
54/* Use type int rather than a union, to represent Lisp_Object */
55/* This is desirable for most machines. */
56
57#define NO_UNION_TYPE
58
59/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
60 the 24-bit bit field into an int. In other words, if bit fields
61 are always unsigned.
62
63 If you use NO_UNION_TYPE, this flag does not matter. */
64
65#define EXPLICIT_SIGN_EXTEND
66
67
68/* Name of kernel load average variable */
69
70#undef LDAV_SYMBOL
71#define LDAV_SYMBOL "avenrun"
72
73/* Data type of load average, as read out of kmem. */
74
75#define LOAD_AVE_TYPE double
76
77/* Convert that into an integer that is 100 for a load average of 1.0 */
78
79#define LOAD_AVE_CVT(x) (int) ((x) * 100.0)
80
81/* Define CANNOT_DUMP on machines where unexec does not work.
82 Then the function dump-emacs will not be defined
83 and temacs will do (load "loadup") automatically unless told otherwise.
84
85 Earlier versions couldn't dump.
86 Changes for 12.0 release are in 19.1.
87 Dumping should work now. */
88
89/* #define CANNOT_DUMP */
90
91/* Define VIRT_ADDR_VARIES if the virtual addresses of
92 pure and impure space as loaded can vary, and even their
93 relative order cannot be relied on.
94
95 Otherwise Emacs assumes that text space precedes data space,
96 numerically. */
97
98/* #define VIRT_ADDR_VARIES */
99
100/* Define NO_REMAP if memory segmentation makes it not work well
101 to change the boundary between the text section and data section
102 when Emacs is dumped. If you define this, the preloaded Lisp
103 code will not be sharable; but that's better than failing completely. */
104/*#define NO_REMAP*/
105
106/* This is a guess for an alternate solution to whatever
107 problem motivated defining _sobuf in sysdep,c with extern char *_sobuf. */
108#define _sobuf xsobuf
109
110/* Address of start of text segment as loaded. */
111
112#define TEXT_START 0x800
113
114/* Tell crt0.c not to define environ. */
115
116#define DONT_NEED_ENVIRON
117
118/* The elxsi has no debugger, so might as well optimize instead
119 of trying to make a symbol table. */
120
121#define C_DEBUG_SWITCH -O
122
123/* Elxsi uses COFF under both Sys V and BSD environments */
124
125#define COFF
126
127#define ADJUST_EXEC_HEADER {\
128extern int _init_brk;\
129_init_brk = bss_start;\
130}
131
132/* arch-tag: 73bf1120-a994-4c29-8d60-af425d8bf10c
133 (do not change this comment) */
diff --git a/src/m/f301.h b/src/m/f301.h
deleted file mode 100644
index c427c19e05d..00000000000
--- a/src/m/f301.h
+++ /dev/null
@@ -1,10 +0,0 @@
1/* Machine description file for Fujitsu F301 machines. */
2
3/* The following line tells the configuration script what sort of
4 operating system this machine is likely to run.
5 USUAL-OPSYS="uxpv" */
6
7#include "delta88k.h"
8
9/* arch-tag: a0ed4f18-ecf2-4d9a-853b-36e0f6b45945
10 (do not change this comment) */
diff --git a/src/m/gould-np1.h b/src/m/gould-np1.h
deleted file mode 100644
index cb3da1825cc..00000000000
--- a/src/m/gould-np1.h
+++ /dev/null
@@ -1,108 +0,0 @@
1/* machine description file for Gould NP1 with UTX/32 3.0 (first release for NP1)
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/* The following line tells the configuration script what sort of
23 operating system this machine is likely to run.
24 USUAL-OPSYS="bsd4-3" */
25
26/* If your system uses COFF (Common Object File Format) then define the
27 preprocessor symbol "COFF". */
28/* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */
29/* at least currently, already defined by cpp, but make sure */
30#ifndef COFF
31#define COFF
32#endif COFF
33
34#include "gould.h"
35
36/* undefine what gould.h defined */
37#undef ADJUST_EXEC_HEADER
38
39/* If your system uses COFF (Common Object File Format) then define the
40 preprocessor symbol "COFF". */
41/* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */
42#ifndef COFF /* at least currently, already defined by cpp */
43#define COFF
44#endif COFF
45
46/* make Gould NP1 and PN COFF look like USG COFF */
47/* NP1 COFF */
48#undef aouthdr /* Since gould.h already defined these */
49#undef a_dtbase
50
51#ifdef IN_UNEXEC
52#define aouthdr exec
53#define ADJUST_TEXT_SCNHDR_SIZE
54
55/* Gould COFF - these are already defined in gould.h */
56/*
57 * #define COFF_WITH_BSD_SYMTAB
58 * #define HEADER_INCL_IN_TEXT
59 * #define magic a_magic
60 * #define tsize a_text
61 * #define dsize a_data
62 * #define bsize a_bss
63 * #define entry a_entry
64 * #define text_start a_txbase
65 * #define data_start a_dtbase
66*/
67/* End Gould COFF */
68#endif /* IN_UNEXEC */
69
70/* NP1 supports a slightly different set than PowerNode */
71#define BAUD_CONVERT { 0, 50, 75, 110, 134, 150, 300, 450, 600, 1200, \
72 1800, 2000, 2400, 3600, 4800, 7200, 9600, \
73 19200, 38400 }
74
75#define LD_SWITCH_SYSTEM -BS -e start
76
77/* Undef C_DEBUG_SWITCH because it may have been set in gould.h */
78/* It will compile and load and works with dbx. Runs under an incomplete
79 port of gdb, but gdb doesn't always find things correctly. */
80#undef C_DEBUG_SWITCH
81#define C_DEBUG_SWITCH -g
82#define LIBS_DEBUG -lg
83
84
85/* The data segment in this machine always starts at address 0x1000000 = 16M.
86 An address of data cannot be stored correctly in a Lisp object;
87 we always lose the high bits. We must tell XPNTR to add them back. */
88
89#define DATA_SEG_BITS 0x1000000
90#define DATA_START 0x1000000
91
92/* The text segment always starts at 0.
93 This way we don't need to have a label _start defined. */
94#define TEXT_START 0
95
96/* Data isn't right next to text on an NP1 */
97#define NO_REMAP
98
99/* The bcopy bug has reappeared */
100#undef BSTRING
101
102#ifndef GOULD_NP1
103#define GOULD_NP1
104#endif
105
106
107/* arch-tag: cdfd3dbf-a5e4-464d-8cef-985fb7872873
108 (do not change this comment) */
diff --git a/src/m/gould.h b/src/m/gould.h
deleted file mode 100644
index cd16e09b785..00000000000
--- a/src/m/gould.h
+++ /dev/null
@@ -1,189 +0,0 @@
1/* machine description file for Gould PowerNodes with UTX/32 2.0 and 2.1.
2 (See MACHINES for older versions.)
3
4* NOTE: If you are running a pre-release of UTX/32 2.1 you should #define
5* RELEASE2_1 in config.h. This may also be necessary with un-updated
6* official releases of 2.1
7
8 Copyright (C) 1986, 2002, 2003, 2004, 2005,
9 2006, 2007 Free Software Foundation, Inc.
10
11This file is part of GNU Emacs.
12
13GNU Emacs is free software; you can redistribute it and/or modify
14it under the terms of the GNU General Public License as published by
15the Free Software Foundation; either version 3, or (at your option)
16any later version.
17
18GNU Emacs is distributed in the hope that it will be useful,
19but WITHOUT ANY WARRANTY; without even the implied warranty of
20MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21GNU General Public License for more details.
22
23You should have received a copy of the GNU General Public License
24along with GNU Emacs; see the file COPYING. If not, write to
25the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
26Boston, MA 02110-1301, USA. */
27
28
29/* The following line tells the configuration script what sort of
30 operating system this machine is likely to run.
31 USUAL-OPSYS="note"
32
33NOTE-START
34Gould Power Node (-machine=gould -opsystem=bsd4-2 or bsd4-3)
35(gould.h; s-bsd4-2.h or s-bsd4-3.h)
36
37 18.36 worked on versions 1.2 and 2.0 of the operating system.
38
39 On UTX/32 2.0, use -opsystem=bsd4-3
40
41 On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that compiling
42 lib-src/sorted-doc tickles a compiler bug: remove the -g flag to cc in the
43 makefile.
44
45 UTX/32 1.3 has a bug in the bcopy library routine. Fix it by
46 #undef BSTRING in gould.h.
47
48 Version 19 incorporates support for releases 2.1 and later of UTX/32.
49 A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h.
50NOTE-END */
51
52/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
53 is the most significant byte. */
54
55#define WORDS_BIG_ENDIAN
56
57/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
58 * group of arguments and treat it as an array of the arguments. */
59
60#define NO_ARG_ARRAY
61
62/* Define WORD_MACHINE if addresses and such have
63 * to be corrected before they can be used as byte counts. */
64
65/* #define WORD_MACHINE */
66
67/* Now define a symbol for the cpu type, if your compiler
68 does not define it automatically */
69
70#ifndef GOULD
71#define GOULD
72#endif
73
74/* sel is an old preprocessor name on gould machines
75 - it is no longer needed and interferes with a variable in xmenu.c */
76#undef sel
77
78/* Use type int rather than a union, to represent Lisp_Object */
79/* This is desirable for most machines. */
80
81#define NO_UNION_TYPE
82
83/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
84 the 24-bit bit field into an int. In other words, if bit fields
85 are always unsigned.
86
87 If you use NO_UNION_TYPE, this flag does not matter. */
88
89#define EXPLICIT_SIGN_EXTEND
90
91/* Data type of load average, as read out of kmem. */
92
93#define LOAD_AVE_TYPE double
94
95/* Convert that into an integer that is 100 for a load average of 1.0 */
96
97#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)
98
99/* Define CANNOT_DUMP on machines where unexec does not work.
100 Then the function dump-emacs will not be defined
101 and temacs will do (load "loadup") automatically unless told otherwise. */
102
103/* #define CANNOT_DUMP */
104
105/* Define VIRT_ADDR_VARIES if the virtual addresses of
106 pure and impure space as loaded can vary, and even their
107 relative order cannot be relied on.
108
109 Otherwise Emacs assumes that text space precedes data space,
110 numerically. */
111
112#define VIRT_ADDR_VARIES
113
114/* No need to extend the user stack. */
115
116/* If this is a 2.1 system, COFF will be predefined by cpp. If it's */
117/* pre-2.1 COFF won't be defined, which is as it should be. */
118
119#ifdef COFF
120
121#define HEADER_INCL_IN_TEXT
122#define COFF_BSD_SYMBOLS
123
124/* Seems to be necessary with coff */
125#define NO_REMAP
126
127#ifndef GOULD_NP1
128/* gould-np1.h includes this file */
129/* keep the old value - don't skip over the headers */
130#define KEEP_OLD_TEXT_SCNPTR
131#define KEEP_OLD_PADDR
132#ifndef RELEASE2_1
133#define ADJUST_TEXTBASE
134#endif /*RELEASE2_1*/
135#endif /* GOULD_NP1 */
136
137#ifdef IN_UNEXEC
138/* make Gould NP and PN COFF look like USG COFF */
139/* PN COFF */
140#define aouthdr old_exec
141/* PN COFF doesn't have a data_start or a_dtbase field in its */
142/* optional header, so substitute a junk field */
143#define a_dtbase a_ccvers
144/* Gould COFF */
145#define magic a_magic
146#define tsize a_text
147#define dsize a_data
148#define bsize a_bss
149#define entry a_entry
150#define text_start a_txbase
151#define data_start a_dtbase
152#endif /* IN_UNEXEC */
153
154/* Define how to search all pty names.
155 * This is for UTX 2.1 and greater on PN and all NP versions. It is only
156 * accident that this happens to correspond to the same versions of UTX
157 * as COFF does, but we'll take advantage of that here.
158 */
159
160/*#define USE_PTY_PAIR*/
161
162#endif /* COFF */
163
164/* -g is sometimes broken on the Gould. */
165
166#define C_DEBUG_SWITCH
167
168/* Comparing pointers as unsigned ints tickles a bug in older compilers. */
169
170#define PNTR_COMPARISON_TYPE int
171
172/* The GOULD machine counts the a.out file header as part of the text. */
173
174#define A_TEXT_OFFSET(HDR) sizeof (HDR)
175
176/* Machine-dependent action when about to dump an executable file. */
177
178#ifndef COFF
179#define ADJUST_EXEC_HEADER \
180 unexec_text_start = hdr.a_txbase + sizeof (hdr);
181#endif
182
183/* We use the system's crt0.o. Somehow it avoids losing
184 with `environ' the way most standard crt0.o's do. */
185
186#define START_FILES pre-crt0.o /lib/crt0.o
187
188/* arch-tag: 930cb9ef-f56f-4c06-aea0-5e81103bbf58
189 (do not change this comment) */
diff --git a/src/m/i860.h b/src/m/i860.h
deleted file mode 100644
index 6d79c5c8d38..00000000000
--- a/src/m/i860.h
+++ /dev/null
@@ -1,101 +0,0 @@
1/* machine description file for i860.
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#undef WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#define NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40/* #define WORD_MACHINE */
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 Ones defined so far include vax, m68000, ns16000, pyramid,
45 orion, tahoe, APOLLO and many others */
46
47#define INTEL860
48
49/* Use type int rather than a union, to represent Lisp_Object */
50/* This is desirable for most machines. */
51
52#define NO_UNION_TYPE
53
54/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
55 the 24-bit bit field into an int. In other words, if bit fields
56 are always unsigned.
57
58 If you use NO_UNION_TYPE, this flag does not matter. */
59
60#define EXPLICIT_SIGN_EXTEND
61
62/* Data type of load average, as read out of kmem. */
63
64#define LOAD_AVE_TYPE long
65
66/* Convert that into an integer that is 100 for a load average of 1.0 */
67
68#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
69
70/* Define CANNOT_DUMP on machines where unexec does not work.
71 Then the function dump-emacs will not be defined
72 and temacs will do (load "loadup") automatically unless told otherwise. */
73
74/* #define CANNOT_DUMP */
75
76/* Define VIRT_ADDR_VARIES if the virtual addresses of
77 pure and impure space as loaded can vary, and even their
78 relative order cannot be relied on.
79
80 Otherwise Emacs assumes that text space precedes data space,
81 numerically. */
82
83/* #define VIRT_ADDR_VARIES */
84
85/* Define NO_REMAP if memory segmentation makes it not work well
86 to change the boundary between the text section and data section
87 when Emacs is dumped. If you define this, the preloaded Lisp
88 code will not be sharable; but that's better than failing completely. */
89
90#define NO_REMAP
91
92/* The X11 include files for i860-sysv4 need the macro SVR4 defined.
93 --Kaveh Ghazi (ghazi@noc.rutgers.edu) 8/9/94. */
94#ifdef USG5_4
95#ifndef SVR4
96#define SVR4
97#endif
98#endif
99
100/* arch-tag: 99f3a078-95e1-49d6-8666-04726eb25647
101 (do not change this comment) */
diff --git a/src/m/ibmps2-aix.h b/src/m/ibmps2-aix.h
deleted file mode 100644
index 045bcf2c294..00000000000
--- a/src/m/ibmps2-aix.h
+++ /dev/null
@@ -1,235 +0,0 @@
1/* machine description file for ibm ps/2 aix386.
2 Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="note"
26
27NOTE-START
28 Use -opsystem=usg5-3 on AIX 1.2.
29 -opsystem=usg5-2-2 should work on either AIX 1.1 or 1.2, but may not
30 work with certain new X window managers, and may be suboptimal.
31NOTE-END */
32
33/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
34 is the most significant byte. */
35
36#undef WORDS_BIG_ENDIAN
37
38/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
39 * group of arguments and treat it as an array of the arguments. */
40
41/* #define NO_ARG_ARRAY */
42
43/* Define WORD_MACHINE if addresses and such have
44 * to be corrected before they can be used as byte counts. */
45
46/* #define WORD_MACHINE */
47
48/* Now define a symbol for the cpu type, if your compiler
49 does not define it automatically:
50 Ones defined so far include vax, m68000, ns16000, pyramid,
51 orion, tahoe, APOLLO and many others */
52
53#define INTEL386
54#define aix386
55
56#define IBMAIX
57
58/* Use type int rather than a union, to represent Lisp_Object */
59
60#define NO_UNION_TYPE
61
62/* crt0.c, if it is used, should use the i386-bsd style of entry.
63 with no extra dummy args. On USG and XENIX,
64 NO_REMAP says this isn't used. */
65
66#define CRT0_DUMMIES bogus_fp,
67
68/* crt0.c should define a symbol `start' and do .globl with a dot. */
69
70#define DOT_GLOBAL_START
71
72/* USG systems do not actually support the load average,
73so disable it for them. */
74
75/* Define CANNOT_DUMP on machines where unexec does not work.
76 Then the function dump-emacs will not be defined
77 and temacs will do (load "loadup") automatically unless told otherwise. */
78
79/* #define CANNOT_DUMP */
80
81/* Define VIRT_ADDR_VARIES if the virtual addresses of
82 pure and impure space as loaded can vary, and even their
83 relative order cannot be relied on.
84
85 Otherwise Emacs assumes that text space precedes data space,
86 numerically. */
87
88/* #define VIRT_ADDR_VARIES */
89
90/* Define addresses, macros, change some setup for dump */
91
92#define NO_REMAP
93#undef static
94 /* Since NO_REMAP, problem with statics doesn't exist */
95
96#ifdef USG5_3
97#define TEXT_START 0x00000000
98#else
99#define TEXT_START 0x00400000
100#define TEXT_END 0
101#define DATA_START 0x00800000
102#define DATA_END 0
103
104/* The data segment in this machine always starts at address 0x00800000.
105 An address of data cannot be stored correctly in a Lisp object;
106 we always lose the high bits. We must tell XPNTR to add them back. */
107
108#define DATA_SEG_BITS 0x00800000
109#endif
110
111#if 0 /* I refuse to promulgate a recommendation that would make
112 users unable to debug - RMS. */
113/* delete the following line to foil optimization, enable debugging */
114#define C_DEBUG_SWITCH -O
115#endif
116
117#define BSTRING
118#undef HAVE_TERMIO
119#define HAVE_TERMIOS
120
121/* Send signals to subprocesses by "typing" special chars at them. */
122
123#define SIGNALS_VIA_CHARACTERS
124
125/*
126 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
127 * library functions. Almost, but not quite the same as
128 * the 4.2 functions
129 */
130#define SYSV_SYSTEM_DIR
131
132/*
133 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
134 * The 4.2 opendir, etc., library functions.
135 */
136#undef NONSYSTEM_DIR_LIBRARY
137
138/* AIX utimes allegedly causes SIGSEGV. */
139#undef HAVE_UTIMES /* override configuration decision */
140
141/* AIX defines FIONREAD, but it does not work. */
142#define BROKEN_FIONREAD
143
144/* Data type of load average, as read out of kmem. */
145
146#define LOAD_AVE_TYPE long /* For AIX (sysV) */
147
148/* Convert that into an integer that is 100 for a load average of 1.0 */
149
150#define LOAD_AVE_CVT(x) (int) (((double) (x)/65535.0) * 100.0)
151
152/* This page was added in June 1990. It may be incorrect for some versions
153 of aix, so delete it if it causes trouble. */
154
155/* AIX has sigsetmask() */
156#undef sigsetmask
157
158/* AIX386 has BSD4.3 PTYs */
159
160#define HAVE_PTYS
161
162/* AIX has IPC. It also has sockets, and either can be used for client/server.
163 I would suggest the client/server code be changed to use HAVE_SOCKETS rather
164 than BSD as the conditional if sockets provide any advantages. */
165
166#define HAVE_SYSVIPC
167
168/* AIX has sockets */
169
170#define HAVE_SOCKETS
171/* #define SKTPAIR */ /* SKTPAIR works, but what is advantage over pipes? */
172
173/* Specify the font for X to use. */
174
175#define X_DEFAULT_FONT "8x13"
176
177/* AIX has a wait.h. */
178
179#define HAVE_WAIT_HEADER
180
181/* sioctl.h should not be included, says bytheway@cs.utah.edu. */
182#undef NEED_SIOCTL
183/* I'm guessing that that means it doesn't want ptem.h either. */
184#undef NEED_PTEM_H
185
186/* aix has `union wait' */
187#define HAVE_UNION_WAIT
188
189/* Here override various assumptions in ymakefile */
190
191#ifdef __GNUC__
192#define alloca(n) __builtin_alloca(n)
193#if __GNUC__ < 2
194#define LIB_STANDARD /usr/local/lib/gcc-gnulib -lbsd -lrts -lc
195#endif
196/* -g fails to work, so it is omitted. */
197/* tranle says that -fstrength-reduce does not help. */
198#define C_DEBUG_SWITCH
199#else
200#define LIBS_MACHINE -lbsd -lrts
201#endif
202
203#define OBJECTS_MACHINE hftctl.o
204#define LD_SWITCH_MACHINE -T0x00400000 -K -e start
205#define LIBS_DEBUG /* no -lg on aix ps/2 */
206
207#ifdef USG5_3
208#define XICCC
209#undef LD_SWITCH_MACHINE
210#define LD_SWITCH_MACHINE -T0x0 -K -e start
211
212/* Things defined in s-usg5-3.h that need to be overridden. */
213#undef NOMULTIPLEJOBS
214#undef BROKEN_TIOCGETC
215#undef BROKEN_TIOCGWINSZ
216#undef LIBX11_SYSTEM
217#undef LIB_X11_LIB
218#endif
219
220/* Shared libraries are supported in a patch release of ps/2 1.2.1.
221 If the system has them, the user can turn them on, and this code
222 will make them work. */
223#define USG_SHARED_LIBRARIES /* Assume that by 19's release everyone has this. */
224
225#ifdef USG_SHARED_LIBRARIES
226#define ORDINARY_LINK
227#undef LIB_STANDARD
228#undef LD_SWITCH_MACHINE
229#if __GNUC__ > 1
230#define LD_SWITCH_MACHINE -shlib
231#endif
232#endif
233
234/* arch-tag: 2e7f44df-6a61-4a47-aa53-f7961bfeff11
235 (do not change this comment) */
diff --git a/src/m/ibmrt-aix.h b/src/m/ibmrt-aix.h
deleted file mode 100644
index 57a9dbc4df1..00000000000
--- a/src/m/ibmrt-aix.h
+++ /dev/null
@@ -1,165 +0,0 @@
1/* RTPC AIX machine/system dependent defines
2 Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#define NO_ARG_ARRAY
36
37/* Now define a symbol for the cpu type, if your compiler
38 does not define it automatically. */
39
40#ifndef IBMAIX
41#define IBMAIX
42#endif
43
44/* Use type int rather than a union, to represent Lisp_Object */
45/* This is desirable for most machines. */
46
47#define NO_UNION_TYPE
48
49/* No load average information appears in the AIX kernel. VRM has this
50 info, and if anyone desires they should fix fns.c to get it out of VRM */
51
52/* Define CANNOT_DUMP on machines where unexec does not work.
53 Then the function dump-emacs will not be defined
54 and temacs will do (load "loadup") automatically unless told otherwise. */
55
56/* #define CANNOT_DUMP */
57
58/* Define addresses, macros, change some setup for dump */
59
60#undef COFF
61#define NO_REMAP
62#undef static
63 /* Since NO_REMAP, problem with statics doesn't exist */
64
65#define TEXT_START 0x10000000
66#define TEXT_END 0
67#define DATA_START 0x20000000
68#define DATA_END 0
69
70/* The data segment in this machine always starts at address 0x20000000.
71 An address of data cannot be stored correctly in a Lisp object;
72 we always lose the high bits. We must tell XPNTR to add them back. */
73
74#define DATA_SEG_BITS 0x20000000
75
76#define N_BADMAG(x) BADMAG(x)
77#define N_TXTOFF(x) A_TEXTPOS(x)
78#define N_SYMOFF(x) A_SYMPOS(x)
79#define A_TEXT_OFFSET(HDR) sizeof(HDR)
80#define ADJUST_EXEC_HEADER \
81 unexec_text_start += sizeof(hdr); \
82 unexec_data_start = ohdr.a_dbase
83#undef ADDR_CORRECT
84#define ADDR_CORRECT(x) ((int)(x))
85
86/* This is the offset of the executable's text, from the start of the file. */
87
88#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
89
90/* AIX has PTYs, so define here, along with macros needed to make them work. */
91
92#define HAVE_PTYS
93#define PTY_ITERATION for (i=0; i<256; i++)
94#define PTY_NAME_SPRINTF sprintf (ptyname, "/dev/ptc%d", i);
95
96#define PTY_TTY_NAME_SPRINTF \
97{ /* Check that server side not already open */ \
98 if ((ioctl (*ptyv, PTYSTATUS, 0) & 0xFFFF) != 0) \
99 { \
100 emacs_close (*ptyv); \
101 continue; \
102 } \
103 /* And finally to be sure we can open it later */ \
104 sprintf (ptyname, "/dev/pts%d", i); \
105 signal (SIGHUP,SIG_IGN); \
106} /* ignore hangup at process end */
107
108/* TIOCNOTTY doesn't occur on AIX, but the rest
109 of the conditionalized code in process.c does
110 the right thing if we fake this out. */
111#define TIOCNOTTY IOCTYPE
112
113/* AIX has IPC. It also has sockets, and either can be used for client/server.
114 I would suggest the client/server code be changed to use HAVE_SOCKETS rather
115 than BSD_SYSTEM as the conditional if sockets provide any advantages. */
116
117#define HAVE_SYSVIPC
118
119/* AIX has sockets */
120
121#define HAVE_SOCKETS
122/* #define SKTPAIR */ /* SKTPAIR works, but what is advantage over pipes? */
123
124/* Specify the font for X to use. */
125
126#define X_DEFAULT_FONT "Rom14.500"
127
128/* Here override various assumptions in ymakefile */
129
130/* On AIX 2.2.1, use these definitions instead
131#define C_SWITCH_MACHINE -I/usr/include -Nn2000
132#define LIBS_MACHINE -lX -lrts
133*/
134
135#define C_SWITCH_MACHINE -I/usr/include -I/usr/include/bsd -Nn2000
136#define LIBS_MACHINE -lXMenu -lX -lsock -lbsd -lrts
137
138#define OBJECTS_MACHINE hftctl.o
139#define START_FILES /lib/crt0.o
140/* -lXMenu, -lX must precede -lsock, -lbsd */
141#define LD_SWITCH_MACHINE -n -T0x10000000 -K -e start
142
143#if 0 /* I refuse to promulgate a recommendation that would make
144 users unable to debug - RMS. */
145/* delete the following line to foil optimization, enable debugging */
146#define C_DEBUG_SWITCH -O
147#endif
148
149
150/* Setup to do some things BSD way - these won't work previous to AIX 2.1.2 */
151
152#include </usr/include/bsd/BSDtoAIX.h>
153#define BSTRING
154
155/* AIX utimes allegedly causes SIGSEGV. */
156#undef HAVE_UTIMES /* override configuration decision */
157
158/* AIX defines FIONREAD, but it does not work. */
159#define BROKEN_FIONREAD
160
161/* rocky@watson.ibm.com says this is needed. */
162#define HAVE_FTIME
163
164/* arch-tag: eea85307-0ca9-4a9c-a4f6-89fad7591d28
165 (do not change this comment) */
diff --git a/src/m/ibmrt.h b/src/m/ibmrt.h
deleted file mode 100644
index ca32db94518..00000000000
--- a/src/m/ibmrt.h
+++ /dev/null
@@ -1,123 +0,0 @@
1/* RTPC machine dependent defines
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#define NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#define WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically. */
44
45#define ibmrt
46#define romp /* unfortunately old include files are hanging around. */
47
48/* Use type int rather than a union, to represent Lisp_Object */
49/* This is desirable for most machines. */
50
51#define NO_UNION_TYPE
52
53/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
54 the bit field into an int. In other words, if bit fields
55 are always unsigned.
56
57 If you use NO_UNION_TYPE, this flag does not matter. */
58
59#define EXPLICIT_SIGN_EXTEND
60
61/* Data type of load average, as read out of kmem. */
62
63#define LOAD_AVE_TYPE double /* For AIS (sysV) */
64
65/* Convert that into an integer that is 100 for a load average of 1.0 */
66
67#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)
68
69/* Define CANNOT_DUMP on machines where unexec does not work.
70 Then the function dump-emacs will not be defined
71 and temacs will do (load "loadup") automatically unless told otherwise. */
72
73/* #define CANNOT_DUMP */
74
75/* Define VIRT_ADDR_VARIES if the virtual addresses of
76 pure and impure space as loaded can vary, and even their
77 relative order cannot be relied on.
78
79 Otherwise Emacs assumes that text space precedes data space,
80 numerically. */
81
82#undef VIRT_ADDR_VARIES
83
84/* The data segment in this machine starts at a fixed address.
85 An address of data cannot be stored correctly in a Lisp object;
86 we always lose the high bits. We must tell XPNTR to add them back. */
87
88#define DATA_SEG_BITS 0x10000000
89#define DATA_START 0x10000000
90
91/* The text segment always starts at a fixed address.
92 This way we don't need to have a label _start defined. */
93#define TEXT_START 0
94
95/* Taking a pointer to a char casting it as int pointer */
96/* and then taking the int which the int pointer points to */
97/* is practically guaranteed to give erroneous results */
98
99#define NEED_ERRNO
100
101#define SKTPAIR
102
103/* BSD has BSTRING. */
104
105#define BSTRING
106
107/* Special switches to give the C compiler. */
108
109#ifndef __GNUC__
110#define C_SWITCH_MACHINE -Dalloca=_Alloca
111#endif
112
113/* Don't attempt to relabel some of the data as text when dumping.
114 It does not work because their virtual addresses are not consecutive.
115 This enables us to use the standard crt0.o. */
116
117#define NO_REMAP
118
119/* Use the bitmap files that come with Emacs. */
120#define EMACS_BITMAP_FILES
121
122/* arch-tag: 89aa7e7d-593e-432c-966a-3db6aa2ad665
123 (do not change this comment) */
diff --git a/src/m/intel386.h b/src/m/intel386.h
index 22205ed762c..4ca09296f0f 100644
--- a/src/m/intel386.h
+++ b/src/m/intel386.h
@@ -25,15 +25,14 @@ Boston, MA 02110-1301, USA. */
25 USUAL-OPSYS="note" 25 USUAL-OPSYS="note"
26 26
27NOTE-START 27NOTE-START
28Intel 386 (-machine=intel386 or -machine=is386.h) 28Intel 386 (-machine=intel386)
29 29
30 The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3, 30 The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3,
31 isc2-2, 386-ix, esix, linux, sco3.2v4, and xenix. 31 isc2-2, 386-ix, and linux.
32 32
33 18.58 should support a wide variety of operating systems. 33 18.58 should support a wide variety of operating systems.
34 Use isc2-2 for Interactive 386/ix version 2.2. 34 Use isc2-2 for Interactive 386/ix version 2.2.
35 Use 386ix for prior versions. 35 Use 386ix for prior versions.
36 Use esix for Esix.
37 Use linux for Linux. 36 Use linux for Linux.
38 It isn't clear what to do on an SCO system. 37 It isn't clear what to do on an SCO system.
39 38
diff --git a/src/m/irist.h b/src/m/irist.h
deleted file mode 100644
index c0d55f96d0f..00000000000
--- a/src/m/irist.h
+++ /dev/null
@@ -1,136 +0,0 @@
1/* machine description file for Silicon Graphics Iris 2500 Turbos;
2 also possibly for non-turbo Irises with system release 2.5.
3 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
4 2005, 2006, 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24/* The following line tells the configuration script what sort of
25 operating system this machine is likely to run.
26 USUAL-OPSYS="note"
27NOTE-START
28Version 18 said to work; use -opsystem=irist3-5 for system version 2.5
29and -opsystem=iris3-6 for system versions 3.6 and up.
30NOTE-END */
31
32#if 0
33 Message-Id: <8705050653.AA20004@orville.arpa>
34 Subject: gnu emacs 18.41 on iris [23].5 machines
35 Date: 04 May 87 23:53:11 PDT (Mon)
36 From: raible@orville.arpa
37
38 Aside from the SIGIOT, I know of only one bug, a real strange one:
39 I wrote a utimes interface, which copies elements from timevals
40 to utimbufs. This code is known good. The problem is that in
41 emacs, the utime doesn't seem to take effect (i.e. doesn't change the
42 dates at all) unless I call report_file_error *after* the utime returns!
43
44 if (utime (name, &utb) < 0)
45 return;
46 else
47 /* XXX XXX XXX */
48 /* For some reason, if this is taken out, then the utime above breaks! */
49 /* (i.e. it doesn't set the time. This just makes no sense... */
50 /* Eric - May 4, 1987 */
51 report_file_error ("Worked just find\n", Qnil);
52
53 Without any sort of debugger that works on emacs (I know... but I dont have
54 *time* right now to start with gdb), it was quite time consuming to track
55 it down to this.
56
57 But since this code is only used for an optional 4th argument to one command
58 (copy-file), it would say that it is non-critical...
59#endif /* 0 */
60
61/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
62 is the most significant byte. */
63
64#define WORDS_BIG_ENDIAN
65
66/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
67 * group of arguments and treat it as an array of the arguments. */
68
69/* #define NO_ARG_ARRAY */
70
71/* Define WORD_MACHINE if addresses and such have
72 * to be corrected before they can be used as byte counts. */
73
74/* #define WORD_MACHINE */
75
76/* Now define a symbol for the cpu type, if your compiler
77 does not define it automatically:
78 Ones defined so far include vax, m68000, ns16000, pyramid,
79 orion, tahoe, APOLLO and many others */
80
81#ifndef m68000
82#define m68000
83#endif
84
85/* Use type int rather than a union, to represent Lisp_Object */
86/* This is desirable for most machines. */
87
88#define NO_UNION_TYPE
89
90/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
91 the 24-bit bit field into an int. In other words, if bit fields
92 are always unsigned.
93
94 If you use NO_UNION_TYPE, this flag does not matter. */
95
96#define EXPLICIT_SIGN_EXTEND
97
98/* Data type of load average, as read out of kmem. */
99
100#define LOAD_AVE_TYPE long
101
102/* Convert that into an integer that is 100 for a load average of 1.0 */
103
104#define FSCALE 1.0
105#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
106
107/* Define CANNOT_DUMP on machines where unexec does not work.
108 Then the function dump-emacs will not be defined
109 and temacs will do (load "loadup") automatically unless told otherwise. */
110
111/* #define CANNOT_DUMP */
112
113/* Define VIRT_ADDR_VARIES if the virtual addresses of
114 pure and impure space as loaded can vary, and even their
115 relative order cannot be relied on.
116
117 Otherwise Emacs assumes that text space precedes data space,
118 numerically. */
119
120/* #define VIRT_ADDR_VARIES */
121
122/* Define NO_REMAP if memory segmentation makes it not work well
123 to change the boundary between the text section and data section
124 when Emacs is dumped. If you define this, the preloaded Lisp
125 code will not be sharable; but that's better than failing completely. */
126
127/* #define NO_REMAP */
128
129/* There is an inconsistency between the sgi assembler, linker which barfs
130 on these. */
131
132#define internal_with_output_to_temp_buffer stupid_long_name1
133#define Finsert_abbrev_table_description stupid_long_name2
134
135/* arch-tag: 4076b26c-1fe6-4c28-94f3-3c863f074767
136 (do not change this comment) */
diff --git a/src/m/is386.h b/src/m/is386.h
deleted file mode 100644
index 5041db9a6c8..00000000000
--- a/src/m/is386.h
+++ /dev/null
@@ -1,29 +0,0 @@
1/* machine description file for Integrated Solutions 386 machine. */
2
3#include "intel386.h"
4
5/* The following line tells the configuration script what sort of
6 operating system this machine is likely to run.
7 USUAL-OPSYS="note"
8
9NOTE-START
10Intel 386 (-machine=intel386 or -machine=is386.h)
11
12 The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3,
13 isc2-2, 386-ix, esix, or xenix.
14
15 18.58 should support a wide variety of operating systems.
16 Use isc2-2 for Interactive 386/ix version 2.2.
17 Use 386ix for prior versions.
18 Use esix for Esix. It isn't clear what to do on an SCO system.
19
20 -machine=is386 is used for an Integrated Solutions 386 machine.
21 It may also be correct for Microport systems.
22NOTE-END */
23
24#define LIBX11_MACHINE -lnsl_s
25
26#define LIBS_DEBUG -lg
27
28/* arch-tag: b6b7e6ec-8b6c-440b-b9c8-961e4bebf0cf
29 (do not change this comment) */
diff --git a/src/m/isi-ov.h b/src/m/isi-ov.h
deleted file mode 100644
index 6706ee9981b..00000000000
--- a/src/m/isi-ov.h
+++ /dev/null
@@ -1,96 +0,0 @@
1/* machine description file for ISI 68000's
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="note"
26
27NOTE-START
28Use `-opsystem=bsd4-2' or `-opsystem=bsd4-3'.
29NOTE-END */
30
31#define ISI68K
32
33/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
34 is the most significant byte. */
35
36#define WORDS_BIG_ENDIAN
37
38/* Say this machine is a 68000 */
39
40#define m68000
41
42/* Use type int rather than a union, to represent Lisp_Object */
43
44#define NO_UNION_TYPE
45
46/* XINT must explicitly sign-extend */
47
48#define EXPLICIT_SIGN_EXTEND
49
50/* Data type of load average, as read out of kmem. */
51
52#ifdef BSD4_3
53#define LOAD_AVE_TYPE long
54#else
55#define LOAD_AVE_TYPE double
56#endif BSD4_3
57
58/* Convert that into an integer that is 100 for a load average of 1.0 */
59
60#ifdef BSD4_3
61#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
62#else
63#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
64#endif
65
66/* Mask for address bits within a memory segment */
67
68#define SEGMENT_MASK 0x1ffff
69
70/* use the -20 switch to get the 68020 code */
71/* #define C_SWITCH_MACHINE -20 */
72
73/* Use the version of the library for the 68020
74 because the standard library requires some special hacks in crt0
75 which the GNU crt0 does not have. */
76
77#define LIB_STANDARD -lmc
78
79/* macros to make unexec work right */
80
81#define A_TEXT_OFFSET(HDR) sizeof(HDR)
82#define A_TEXT_SEEK(HDR) sizeof(HDR)
83
84/* A few changes for the newer systems. */
85
86#ifdef BSD4_3
87/* The following line affects crt0.c. */
88#undef m68k
89
90#undef LIB_STANDARD
91#define LIB_STANDARD -lmc -lc
92#define C_DEBUG_SWITCH -20 -O -X23
93#endif
94
95/* arch-tag: 3bfb5a11-d94e-4372-923b-9f47d0851f42
96 (do not change this comment) */
diff --git a/src/m/mega68.h b/src/m/mega68.h
deleted file mode 100644
index 0d22b572fc5..00000000000
--- a/src/m/mega68.h
+++ /dev/null
@@ -1,53 +0,0 @@
1/* machine description file for Megatest 68000's.
2 Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* XINT must explicitly sign-extend */
33
34#define EXPLICIT_SIGN_EXTEND
35
36/* Say this machine is a 68000 */
37
38#define m68000
39
40/* Use type int rather than a union, to represent Lisp_Object */
41
42#define NO_UNION_TYPE
43
44/* Data type of load average, as read out of kmem. */
45
46#define LOAD_AVE_TYPE double
47
48/* Convert that into an integer that is 100 for a load average of 1.0 */
49
50#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
51
52/* arch-tag: 61e6deb4-a93e-444b-bbd5-9887a83f1bbc
53 (do not change this comment) */
diff --git a/src/m/mg1.h b/src/m/mg1.h
deleted file mode 100644
index 515e9e23a96..00000000000
--- a/src/m/mg1.h
+++ /dev/null
@@ -1,107 +0,0 @@
1/* machine description file for Whitechapel Computer Works MG1 (ns16000 based).
2 Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4 MG-1 version by L.M.McLoughlin
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24/* The following line tells the configuration script what sort of
25 operating system this machine is likely to run.
26 USUAL-OPSYS="note"
27
28NOTE-START
29We are in the dark about what operating system runs on the Whitechapel
30systems. Consult share-lib/MACHINES for information on which
31operating systems Emacs has already been ported to; one of them might
32work. If you find an existing system name that works or write your
33own configuration files, please let the Free Software Foundation in on
34your work; we'd like to distribute this information.
35NOTE-END */
36
37/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
38 is the most significant byte. */
39
40#undef WORDS_BIG_ENDIAN
41
42/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
43 * group of arguments and treat it as an array of the arguments. */
44/* ns16000 call sequence used on mg1 means that &arg = the args as an array */
45#undef NO_ARG_ARRAY
46
47/* Define WORD_MACHINE if addresses and such have
48 * to be corrected before they can be used as byte counts. */
49/* ns16000 addresses are byte addresses */
50#undef WORD_MACHINE
51
52/* Now define a symbol for the cpu type, if your compiler
53 does not define it automatically:
54 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
55 are the ones defined so far. */
56/* Say this machine is a 16000 and an mg1, cpp says its a 32000 */
57#define ns16000
58#define mg1
59
60/* Use type int rather than a union, to represent Lisp_Object */
61/* This is desirable for most machines. */
62/* Not sure on mg-1 but this shouldn't hurt! */
63#define NO_UNION_TYPE
64
65/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
66 the 24-bit bit field into an int. In other words, if bit fields
67 are always unsigned.
68
69 If you use NO_UNION_TYPE, this flag does not matter. */
70
71#define EXPLICIT_SIGN_EXTEND
72
73/* Data type of load average, as read out of kmem. */
74/* mg1 its an unsigned long */
75#define LOAD_AVE_TYPE unsigned long
76
77/* Convert that into an integer that is 100 for a load average of 1.0 */
78#define FSCALE 1000.0
79#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
80
81/* Define CANNOT_DUMP on machines where unexec does not work.
82 Then the function dump-emacs will not be defined
83 and temacs will do (load "loadup") automatically unless told otherwise. */
84/* ns16000's have an unexec, so should the mg-1 */
85#undef CANNOT_DUMP
86
87/* Define VIRT_ADDR_VARIES if the virtual addresses of
88 pure and impure space as loaded can vary, and even their
89 relative order cannot be relied on.
90
91 Otherwise Emacs assumes that text space precedes data space,
92 numerically. */
93/* hmmmm... not sure. copied sequent.h */
94#undef VIRT_ADDR_VARIES
95
96/* Define NO_REMAP if memory segmentation makes it not work well
97 to change the boundary between the text section and data section
98 when Emacs is dumped. If you define this, the preloaded Lisp
99 code will not be sharable; but that's better than failing completely. */
100/* mapping seems screwy */
101#define NO_REMAP
102
103/* Avoids a compiler bug */
104/* borrowed from sequent.h */
105
106/* arch-tag: e15d9072-9e1a-44bf-8add-966be535967b
107 (do not change this comment) */
diff --git a/src/m/news-r6.h b/src/m/news-r6.h
deleted file mode 100644
index cf6e019fd05..00000000000
--- a/src/m/news-r6.h
+++ /dev/null
@@ -1,53 +0,0 @@
1/* news-risc6.h is for the "RISC News", OS version 6. */
2/* This is in the public domain. */
3
4/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
5 * group of arguments and treat it as an array of the arguments. */
6
7#define NO_ARG_ARRAY
8
9/* Use type int rather than a union, to represent Lisp_Object */
10/* This is desirable for most machines. */
11
12#define NO_UNION_TYPE
13
14/* Data type of load average, as read out of kmem. */
15
16#define LOAD_AVE_TYPE long
17
18/* Convert that into an integer that is 100 for a load average of 1.0 */
19
20#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / 256.0)
21
22/* Define NO_REMAP if memory segmentation makes it not work well
23 to change the boundary between the text section and data section
24 when Emacs is dumped. If you define this, the preloaded Lisp
25 code will not be sharable; but that's better than failing completely. */
26
27#define NO_REMAP
28
29/* Alter some of the options used when linking. */
30
31/*#define C_DEBUG_SWITCH -g*/
32#define C_DEBUG_SWITCH -O -Olimit 2000
33#ifdef __GNUC__
34#define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000
35#else /* !__GNUC__ */
36/*#define LD_SWITCH_MACHINE -D 800000 -g*/
37#define LD_SWITCH_MACHINE -D 800000
38#endif /* !__GNUC__ */
39#define LIBS_MACHINE -lmld
40#define LIBS_TERMCAP -lcurses
41
42/* The standard definitions of these macros would work ok,
43 but these are faster because the constants are short. */
44
45#define XUINT(a) (((unsigned)(a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))
46
47#define XSET(var, type, ptr) \
48 ((var) = \
49 ((int)(type) << VALBITS) \
50 + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)))
51
52/* arch-tag: b9fd7b75-ba3c-46d4-8966-24381b13001b
53 (do not change this comment) */
diff --git a/src/m/news-risc.h b/src/m/news-risc.h
deleted file mode 100644
index b7ea3dbceff..00000000000
--- a/src/m/news-risc.h
+++ /dev/null
@@ -1,83 +0,0 @@
1/* news-risc.h is for the "RISC News".
2
3 Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24#include "mips.h"
25
26#ifdef NEWSOS5
27
28/* NEWS-OS 5.0.2 */
29
30#define LIBS_MACHINE -lmld
31
32#ifdef __GNUC__
33#define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000
34#else
35#define C_DEBUG_SWITCH -g3
36#define C_OPTIMIZE_SWITCH -g3
37#define LD_SWITCH_MACHINE -g3 -D 800000 -non_shared
38#endif
39
40#else /* not NEWSOS5 */
41
42/* The following line tells the configuration script what sort of
43 operating system this machine is likely to run.
44 USUAL-OPSYS="bsd4-3" */
45
46#define COFF
47#undef LD_SWITCH_MACHINE
48#ifdef __GNUC__
49#define LD_SWITCH_MACHINE -Xlinker -x -Xlinker -D -Xlinker 800000
50#else
51#define LD_SWITCH_MACHINE -x -D 800000
52#endif
53
54/* #define C_OPTIMIZE_SWITCH -O2 */
55#define C_OPTIMIZE_SWITCH -O
56
57#ifndef __GNUC__
58#define C_DEBUG_SWITCH -g3
59#endif
60
61#undef TERMINFO
62
63/* We have no mode_t. */
64#define NO_MODE_T
65
66/* Don't use the definitions in m/mips.h. */
67#undef LINKER
68#define LINKER $(CC) -nostdlib
69#undef LIBS_MACHINE
70#define LIBS_MACHINE -lmld
71
72#undef KERNEL_FILE
73#define KERNEL_FILE "/vmunix"
74
75/* System's malloc, realloc, calloc and so on have bad prototypes,
76 using char * instead of void *, so tell gmalloc not to use the
77 prototypes. */
78#define BROKEN_PROTOTYPES
79
80#endif /* not NEWSOS5 */
81
82/* arch-tag: cf17300c-dd34-4b9d-a657-2de718469662
83 (do not change this comment) */
diff --git a/src/m/news.h b/src/m/news.h
deleted file mode 100644
index 084c5abb92c..00000000000
--- a/src/m/news.h
+++ /dev/null
@@ -1,65 +0,0 @@
1/* machine description file for Sony's NEWS workstations, NEWS-OS 3.0.
2 Copyright (C) 1985, 1986, 1989, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="note"
26
27NOTE-START
28Use -opsystem=bsd4-2, or -opsystem=bsd4-3 for system release 3.
29NOTE-END */
30
31/* Say this machine is a 68000 */
32
33#ifndef m68000
34#define m68000
35#endif
36
37/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
38 is the most significant byte. */
39
40#define WORDS_BIG_ENDIAN
41
42/* One CRT0 Dummy variable */
43
44#if 0 /* larry@mitra.com says Sony's as doesn't like this. */
45#define CRT0_DUMMIES one_dummy,
46#endif
47
48/* Use type int rather than a union, to represent Lisp_Object */
49
50#define NO_UNION_TYPE
51
52/* Data type of load average, as read out of kmem. */
53
54#define LOAD_AVE_TYPE double
55
56/* Convert that into an integer that is 100 for a load average of 1.0 */
57
58#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
59
60/* Must use the system's termcap. It does special things. */
61
62#define LIBS_TERMCAP -ltermcap
63
64/* arch-tag: 79bfd831-874a-4339-85fa-b8cbdc29bdab
65 (do not change this comment) */
diff --git a/src/m/nh3000.h b/src/m/nh3000.h
deleted file mode 100644
index e4a9817d57c..00000000000
--- a/src/m/nh3000.h
+++ /dev/null
@@ -1,109 +0,0 @@
1/* machine description for Harris Night Hawk Series 1200 and Series 3000
2 MC68030-based systems (FPP on these is custom). These systems are
3 also known as "ecx" and "gcx".
4 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
5 2006, 2007 Free Software Foundation, Inc.
6
7This file is part of GNU Emacs.
8
9GNU Emacs is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3, or (at your option)
12any later version.
13
14GNU Emacs is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GNU Emacs; see the file COPYING. If not, write to
21the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22Boston, MA 02110-1301, USA. */
23
24/* This file manually constructed for Harris Night Hawk 4000 (and 5000)
25 * series Motorola 88100 and 88110 based machines.
26 */
27
28/* The following line tells the configuration script what sort of
29 operating system this machine is likely to run.
30 USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#define NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40/* #define WORD_MACHINE */
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 Ones defined so far include vax, m68000, ns16000, pyramid,
45 orion, tahoe, APOLLO and many others */
46
47#ifndef gcx
48#define gcx
49#endif
50
51/* Use type int rather than a union, to represent Lisp_Object */
52/* This is desirable for most machines. */
53
54#define NO_UNION_TYPE
55
56/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
57 the 24-bit bit field into an int. In other words, if bit fields
58 are always unsigned.
59
60 If you use NO_UNION_TYPE, this flag does not matter. */
61
62/* #define EXPLICIT_SIGN_EXTEND */
63
64/* Data type of load average, as read out of kmem. */
65
66#define LOAD_AVE_TYPE long
67
68/* Convert that into an integer that is 100 for a load average of 1.0 */
69
70#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
71
72/* Define CANNOT_DUMP on machines where unexec does not work.
73 Then the function dump-emacs will not be defined
74 and temacs will do (load "loadup") automatically unless told otherwise. */
75
76/* #define CANNOT_DUMP */
77
78/* Define VIRT_ADDR_VARIES if the virtual addresses of
79 pure and impure space as loaded can vary, and even their
80 relative order cannot be relied on.
81
82 Otherwise Emacs assumes that text space precedes data space,
83 numerically. */
84
85/* #define VIRT_ADDR_VARIES */
86
87/* Define NO_REMAP if memory segmentation makes it not work well
88 to change the boundary between the text section and data section
89 when Emacs is dumped. If you define this, the preloaded Lisp
90 code will not be sharable; but that's better than failing completely. */
91
92#define NO_REMAP
93
94/* Some really obscure 4.2-based systems (like Sequent DYNIX)
95 * do not support asynchronous I/O (using SIGIO) on sockets,
96 * even though it works fine on tty's. If you have one of
97 * these systems, define the following, and then use it in
98 * config.h (or elsewhere) to decide when (not) to use SIGIO.
99 *
100 * You'd think this would go in an operating-system description file,
101 * but since it only occurs on some, but not all, BSD systems, the
102 * reasonable place to select for it is in the machine description
103 * file.
104 */
105
106/* #define NO_SOCK_SIGIO */
107
108/* arch-tag: 1529f2bc-50d9-42e7-ae72-6f40afadf09e
109 (do not change this comment) */
diff --git a/src/m/nh4000.h b/src/m/nh4000.h
deleted file mode 100644
index 20fadb71e43..00000000000
--- a/src/m/nh4000.h
+++ /dev/null
@@ -1,108 +0,0 @@
1/* machine description for Harris NightHawk 88k based machines
2 (includes nh4000 and nh5000 machines).
3 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
4 2006, 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23/* This file manually constructed for Harris Night Hawk 4000 (and 5000)
24 * series Motorola 88100 and 88110 based machines.
25 */
26
27/* The following line tells the configuration script what sort of
28 operating system this machine is likely to run.
29 USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */
30
31/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
32 * group of arguments and treat it as an array of the arguments. */
33
34#define NO_ARG_ARRAY
35
36/* Define WORD_MACHINE if addresses and such have
37 * to be corrected before they can be used as byte counts. */
38
39/* #define WORD_MACHINE */
40
41/* Now define a symbol for the cpu type, if your compiler
42 does not define it automatically:
43 Ones defined so far include vax, m68000, ns16000, pyramid,
44 orion, tahoe, APOLLO and many others */
45
46#ifndef m88000
47#define m88000
48#endif
49
50/* Use type int rather than a union, to represent Lisp_Object */
51/* This is desirable for most machines. */
52
53#define NO_UNION_TYPE
54
55/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
56 the bit field into an int. In other words, if bit fields
57 are always unsigned.
58
59 If you use NO_UNION_TYPE, this flag does not matter. */
60
61/* #define EXPLICIT_SIGN_EXTEND */
62
63/* Data type of load average, as read out of kmem. */
64
65#define LOAD_AVE_TYPE long
66
67/* Convert that into an integer that is 100 for a load average of 1.0 */
68
69#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
70
71/* Define CANNOT_DUMP on machines where unexec does not work.
72 Then the function dump-emacs will not be defined
73 and temacs will do (load "loadup") automatically unless told otherwise. */
74
75/* #define CANNOT_DUMP */
76
77/* Define VIRT_ADDR_VARIES if the virtual addresses of
78 pure and impure space as loaded can vary, and even their
79 relative order cannot be relied on.
80
81 Otherwise Emacs assumes that text space precedes data space,
82 numerically. */
83
84/* #define VIRT_ADDR_VARIES */
85
86/* Define NO_REMAP if memory segmentation makes it not work well
87 to change the boundary between the text section and data section
88 when Emacs is dumped. If you define this, the preloaded Lisp
89 code will not be sharable; but that's better than failing completely. */
90
91#define NO_REMAP
92
93/* Some really obscure 4.2-based systems (like Sequent DYNIX)
94 * do not support asynchronous I/O (using SIGIO) on sockets,
95 * even though it works fine on tty's. If you have one of
96 * these systems, define the following, and then use it in
97 * config.h (or elsewhere) to decide when (not) to use SIGIO.
98 *
99 * You'd think this would go in an operating-system description file,
100 * but since it only occurs on some, but not all, BSD systems, the
101 * reasonable place to select for it is in the machine description
102 * file.
103 */
104
105/* #define NO_SOCK_SIGIO */
106
107/* arch-tag: d9e12769-ae79-4c25-953f-70db5b7ef5dd
108 (do not change this comment) */
diff --git a/src/m/ns16000.h b/src/m/ns16000.h
deleted file mode 100644
index 6feddd97610..00000000000
--- a/src/m/ns16000.h
+++ /dev/null
@@ -1,95 +0,0 @@
1/* machine description file for ns16000.
2 Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="note"
26
27NOTE-START
28For the Encore, use `-opsystem=umax'.
29For a Tektronix 16000 box (a 6130, perhaps?), use `-opsystem=bsd4-2'.
30Use `-machine=ns16000' for both.
31NOTE-END */
32
33/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
34 is the most significant byte. */
35
36#undef WORDS_BIG_ENDIAN
37
38/* Say this machine is a 16000 */
39
40#define ns16000 1
41
42/* Use type int rather than a union, to represent Lisp_Object */
43
44#define NO_UNION_TYPE
45
46/* Data type of load average, as read out of kmem. */
47
48#ifndef USG
49#define LOAD_AVE_TYPE double
50#endif
51
52/* Convert that into an integer that is 100 for a load average of 1.0 */
53
54#ifndef USG
55#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
56#endif
57
58#ifdef USG
59
60/* Control assembler syntax used in alloca.s. */
61#define NS5
62
63/* On early NS systems ulimit was buggy. If set emacs uses this value
64 * for the maximum sbrk value instead of getting it from ulimit.
65 */
66#define ULIMIT_BREAK_VALUE 0x7E0000
67
68/* Early NS compilers have this bug. I believe it has been fixed in later
69 * releases.
70 */
71#define SHORT_CAST_BUG
72
73#define SEGMENT_MASK (NBPS - 1)
74
75/* Variables to get crt0.c to come out correctly */
76#define CRT0_DUMMIES bogus_fp,
77#define DOT_GLOBAL_START
78
79/* Control how emacsclient communicates. */
80#define HAVE_SYSVIPC
81
82/* Set this to /bin/mail unless you have a better mail posting program */
83#define MAIL_PROGRAM_NAME "/usr/local/bin/remail"
84
85/* Tell sysdep.c not to define bzero, etc. */
86#undef BSTRING
87#define BSTRING
88
89/* This avoids problems with uninitialized static variables going in .data. */
90#define static
91
92#endif /* USG */
93
94/* arch-tag: 4210db3c-e35c-4b96-9399-1dbde3e00a57
95 (do not change this comment) */
diff --git a/src/m/ns32000.h b/src/m/ns32000.h
deleted file mode 100644
index b6484b4b219..00000000000
--- a/src/m/ns32000.h
+++ /dev/null
@@ -1,102 +0,0 @@
1/* machine description file for National Semiconductor 32000, running Genix.
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23
24/* The following line tells the configuration script what sort of
25 operating system this machine is likely to run.
26 USUAL-OPSYS="usg5-2" */
27
28/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
29 is the most significant byte. */
30
31#undef WORDS_BIG_ENDIAN
32
33/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
34 * group of arguments and treat it as an array of the arguments. */
35
36/* #define NO_ARG_ARRAY */
37
38/* Define WORD_MACHINE if addresses and such have
39 * to be corrected before they can be used as byte counts. */
40
41/* #define WORD_MACHINE */
42
43/* Now define a symbol for the cpu type, if your compiler
44 does not define it automatically:
45 Ones defined so far include vax, m68000, ns16000, pyramid,
46 orion, tahoe, APOLLO and many others */
47
48/* Use type int rather than a union, to represent Lisp_Object */
49/* This is desirable for most machines. */
50
51#define NO_UNION_TYPE
52
53/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
54 the 24-bit bit field into an int. In other words, if bit fields
55 are always unsigned.
56
57 If you use NO_UNION_TYPE, this flag does not matter. */
58
59#define EXPLICIT_SIGN_EXTEND
60
61/* Data type of load average, as read out of kmem. */
62
63/* #define LOAD_AVE_TYPE long */
64
65/* Convert that into an integer that is 100 for a load average of 1.0 */
66
67/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
68
69/* Define CANNOT_DUMP on machines where unexec does not work.
70 Then the function dump-emacs will not be defined
71 and temacs will do (load "loadup") automatically unless told otherwise. */
72
73/* #define CANNOT_DUMP */
74
75/* Define VIRT_ADDR_VARIES if the virtual addresses of
76 pure and impure space as loaded can vary, and even their
77 relative order cannot be relied on.
78
79 Otherwise Emacs assumes that text space precedes data space,
80 numerically. */
81
82/* #define VIRT_ADDR_VARIES */
83
84/* Define NO_REMAP if memory segmentation makes it not work well
85 to change the boundary between the text section and data section
86 when Emacs is dumped. If you define this, the preloaded Lisp
87 code will not be sharable; but that's better than failing completely. */
88
89/* #define NO_REMAP */
90
91#define TEXT_START 0
92
93#if !defined (__NetBSD__) && !defined (__OpenBSD__)
94#define EXEC_MAGIC 0410
95
96#define PURESIZE 140000
97
98#define START_FILES pre-crt0.o /lib/crt0.o
99#endif
100
101/* arch-tag: 13dde0e0-8ed5-4bc3-a0dc-5456c9db5f94
102 (do not change this comment) */
diff --git a/src/m/nu.h b/src/m/nu.h
deleted file mode 100644
index 279d14ff915..00000000000
--- a/src/m/nu.h
+++ /dev/null
@@ -1,75 +0,0 @@
1/* machine description file for TI Nu machines using system V.
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* XINT must explicitly sign-extend */
33
34#define EXPLICIT_SIGN_EXTEND
35
36/* Use type int rather than a union, to represent Lisp_Object */
37
38#define NO_UNION_TYPE
39
40/* Now define a symbol for the cpu type, if your compiler
41 does not define it automatically:
42 vax, m68000, ns16000 are the ones defined so far. */
43
44#ifndef m68000
45#define m68000
46#endif
47
48#ifndef NU
49#define NU
50#endif
51
52/* Data type of load average, as read out of kmem. */
53/* These are commented out since it does not really work in uniplus */
54
55/* #define LOAD_AVE_TYPE long */
56
57/* Convert that into an integer that is 100 for a load average of 1.0 */
58
59/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */
60
61/* Change some things to avoid bugs in compiler */
62
63#define SWITCH_ENUM_BUG 1
64
65/* The NU machine has a compiler that can handle long names. */
66
67#undef SHORTNAMES
68
69/* Specify alignment requirement for start of text and data sections
70 in the executable file. */
71
72#define SECTION_ALIGNMENT pagemask
73
74/* arch-tag: 7d2d9b6d-75d4-4c0d-96a9-a41f06212f35
75 (do not change this comment) */
diff --git a/src/m/orion.h b/src/m/orion.h
deleted file mode 100644
index cc3a7e395fc..00000000000
--- a/src/m/orion.h
+++ /dev/null
@@ -1,70 +0,0 @@
1/* machine description file for HLH Orion.
2 Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#undef WORDS_BIG_ENDIAN
31
32/* Now define a symbol for the cpu type, if your compiler
33 does not define it automatically. */
34
35#ifndef orion
36#define orion
37#endif
38
39/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
40 * group of arguments and treat it as an array of the arguments. */
41
42#define NO_ARG_ARRAY
43
44/* Define WORD_MACHINE if addresses and such have
45 * to be corrected before they can be used as byte counts. */
46
47#define WORD_MACHINE
48
49/* Use type int rather than a union, to represent Lisp_Object */
50/* This is desirable for most machines. */
51
52#define NO_UNION_TYPE
53
54/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend */
55
56#define EXPLICIT_SIGN_EXTEND
57
58/* Data type of load average, as read out of kmem. */
59
60#define LOAD_AVE_TYPE double
61
62/* Convert that into an integer that is 100 for a load average of 1.0 */
63
64#ifndef FSCALE
65#define FSCALE 1.0
66#endif
67#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
68
69/* arch-tag: 4fcf38ad-d6b0-434b-bc10-16647d5a7fb6
70 (do not change this comment) */
diff --git a/src/m/orion105.h b/src/m/orion105.h
deleted file mode 100644
index fabcf67e2a9..00000000000
--- a/src/m/orion105.h
+++ /dev/null
@@ -1,72 +0,0 @@
1/* machine description file for HLH Orion 1/05 (Clipper).
2 Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4 Lee McLoughlin <lmjm%doc.imperial.ac.uk@nss.cs.ucl.ac.uk>
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24/* The following line tells the configuration script what sort of
25 operating system this machine is likely to run.
26 USUAL-OPSYS="bsd4-2" */
27
28/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
29 is the most significant byte. */
30
31#undef WORDS_BIG_ENDIAN
32
33/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
34 * group of arguments and treat it as an array of the arguments. */
35
36#define NO_ARG_ARRAY
37
38/* Define WORD_MACHINE if addresses and such have
39 * to be corrected before they can be used as byte counts. */
40
41/* Use type int rather than a union, to represent Lisp_Object */
42/* This is desirable for most machines. */
43
44#define NO_UNION_TYPE
45
46/* Data type of load average, as read out of kmem. */
47/* This used to be `double'. */
48
49#define LOAD_AVE_TYPE long
50
51/* Convert that into an integer that is 100 for a load average of 1.0 */
52
53/* This used to be 1.0. */
54#ifndef FSCALE
55#define FSCALE 256
56#endif
57#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
58
59/* HLH have a SIGWINCH defined (but unimplemented) so we need a sigmask */
60#ifndef sigmask
61#define sigmask(m) (1 << ((m) - 1))
62#endif
63
64/* Here is where programs actually start running */
65#define TEXT_START 0x8000
66#define LD_TEXT_START_ADDR 8000
67
68/* Arguments to ignore before argc in crt0.c. */
69#define DUMMIES dummy1, dummy2,
70
71/* arch-tag: 32fed6e3-8cae-4882-b327-a68c2af6db7a
72 (do not change this comment) */
diff --git a/src/m/paragon.h b/src/m/paragon.h
deleted file mode 100644
index 11b98dea7ee..00000000000
--- a/src/m/paragon.h
+++ /dev/null
@@ -1,13 +0,0 @@
1/* m/ file for Paragon i860 machine. */
2
3#include "i860.h"
4#define COFF
5#define SYSTEM_MALLOC
6#define TEXT_START 0x10000
7#define LIB_STANDARD -lc -lic -lmach
8#define KEEP_OLD_TEXT_SCNPTR
9#define KEEP_OLD_PADDR
10#define drem fmod
11
12/* arch-tag: c1bc280c-25e5-4993-9b91-333c52ab3674
13 (do not change this comment) */
diff --git a/src/m/pfa50.h b/src/m/pfa50.h
deleted file mode 100644
index 5f98dc993c7..00000000000
--- a/src/m/pfa50.h
+++ /dev/null
@@ -1,93 +0,0 @@
1/* Machine description file for PFU A-series.
2 Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
24 is the most significant byte. */
25
26#define WORDS_BIG_ENDIAN
27
28/* Say this machine is a 68000 */
29
30#define m68000
31#define mc68000 1
32
33/* Use type int rather than a union, to represent Lisp_Object */
34
35#define NO_UNION_TYPE
36
37/* XINT must explicitly sign-extend */
38
39#define EXPLICIT_SIGN_EXTEND
40
41/* The symbol FIONREAD is defined, but the feature does not work. */
42
43#define BROKEN_FIONREAD
44
45/* Define NO_REMAP if memory segmentation makes it not work well
46 to change the boundary between the text section and data section
47 when Emacs is dumped. If you define this, the preloaded Lisp
48 code will not be sharable; but that's better than failing completely. */
49
50#define NO_REMAP
51
52/* Define TEXT_START_ADDR if your linker don't set execute point to _start.
53 If it needed, temacs always CORE-DUMP. */
54
55#define TEXT_START_ADDR __start
56
57/* Define START_FILES if your machine used _start.
58 */
59
60#define START_FILES crt0.o
61
62/* Define LD_SWITCH_MACHINE if your linker needs it.
63 */
64
65#define LD_SWITCH_MACHINE -e __start
66
67#if pfa50 || pfa70
68/* On A-50/60/70/80, data space has high order byte use. */
69#define DATA_SEG_BITS 0x60000000
70#endif /* pfa50, pfa70 */
71
72/* SX/A has alloca in the PW library. */
73
74#define LIB_STANDARD -lPW -lc
75
76/* SX/A uses terminfo and lib/curses */
77
78#define TERMINFO
79
80#define HAVE_PTYS
81#define HAVE_SOCKETS
82
83/* SX/A use SystemV style getdents/readdir. */
84
85/* SX/A does not have sigblock(2) */
86#define sigblock(mask) (0)
87
88#define NO_SIOCTL_H
89
90#define BROKEN_SIGIO
91
92/* arch-tag: f3a127d5-790b-4c78-b6be-837139fb12c4
93 (do not change this comment) */
diff --git a/src/m/plexus.h b/src/m/plexus.h
deleted file mode 100644
index 51961977904..00000000000
--- a/src/m/plexus.h
+++ /dev/null
@@ -1,109 +0,0 @@
1/* machine description file for the Plexus running System V.2.
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#undef NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#undef WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
45 are the ones defined so far. */
46/* Plexus predefines m68 instead of m68000. */
47#define m68000 m68
48
49/* Use type int rather than a union, to represent Lisp_Object */
50/* This is desirable for most machines. */
51
52#define NO_UNION_TYPE
53
54/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
55 the 24-bit bit field into an int. In other words, if bit fields
56 are always unsigned.
57
58 If you use NO_UNION_TYPE, this flag does not matter. */
59
60#undef EXPLICIT_SIGN_EXTEND
61
62/* Data type of load average, as read out of kmem. */
63
64#undef LOAD_AVE_TYPE
65
66/* Convert that into an integer that is 100 for a load average of 1.0 */
67
68#undef LOAD_AVE_CVT
69
70/* Define CANNOT_DUMP on machines where unexec does not work.
71 Then the function dump-emacs will not be defined
72 and temacs will do (load "loadup") automatically unless told otherwise. */
73
74#undef CANNOT_DUMP
75
76/* Define VIRT_ADDR_VARIES if the virtual addresses of
77 pure and impure space as loaded can vary, and even their
78 relative order cannot be relied on.
79
80 Otherwise Emacs assumes that text space precedes data space,
81 numerically. */
82
83#undef VIRT_ADDR_VARIES
84
85/* Define NO_REMAP if memory segmentation makes it not work well
86 to change the boundary between the text section and data section
87 when Emacs is dumped. If you define this, the preloaded Lisp
88 code will not be sharable; but that's better than failing completely. */
89
90#undef NO_REMAP
91
92/* Use the following on ld so we can use the gnu crt0
93 The plexus ld looks for start */
94#define LD_SWITCH_MACHINE -e __start
95
96/* Use the PW library, which contains alloca. */
97
98#define LIB_STANDARD -lPW -lc
99
100/* crt0.c should use the vax-bsd style of entry, with no dummy args. */
101
102#define CRT0_DUMMIES zero1, zero2,
103
104/* This triggers some stuff to avoid a compiler bug */
105
106#define TAHOE_REGISTER_BUG
107
108/* arch-tag: 78c607eb-b4f8-4750-b575-39670d979448
109 (do not change this comment) */
diff --git a/src/m/pyramid.h b/src/m/pyramid.h
deleted file mode 100644
index 1b834c60ba0..00000000000
--- a/src/m/pyramid.h
+++ /dev/null
@@ -1,67 +0,0 @@
1/* machine description file for pyramid.
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#ifdef __GNUC__
36#define NO_ARG_ARRAY
37#endif
38
39/* XINT must explicitly sign extend */
40
41#define EXPLICIT_SIGN_EXTEND
42
43/* pyramid preprocessor defines "pyr", however the following is clearer */
44#define pyramid
45
46/* Don't use the union types any more. They were used until Emacs 17.45. */
47
48#define NO_UNION_TYPE
49
50/* Data type of load average, as read out of kmem. */
51
52#define LOAD_AVE_TYPE double
53
54/* Convert that into an integer that is 100 for a load average of 1.0 */
55
56#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
57
58/* Don't use the ordinary -g for debugging in cc */
59
60#define C_DEBUG_SWITCH -gx
61
62/* Reenable this #define for old versions of the Pyramid system. */
63
64/* #define PYRAMID_OLD */
65
66/* arch-tag: b9097bc9-92be-46d4-acb1-13c2b966d581
67 (do not change this comment) */
diff --git a/src/m/pyrmips.h b/src/m/pyrmips.h
deleted file mode 100644
index 67705fb6619..00000000000
--- a/src/m/pyrmips.h
+++ /dev/null
@@ -1,10 +0,0 @@
1/* Configuration file for the Pyramid machine that uses the MIPS cpu. */
2/* This does not fully work. */
3
4#include "m-pyramid.h"
5
6#define SYSTEM_MALLOC
7#define CANNOT_DUMP
8
9/* arch-tag: 82559148-25a8-466d-bbb3-f903f7666b7a
10 (do not change this comment) */
diff --git a/src/m/sh3el.h b/src/m/sh3el.h
deleted file mode 100644
index 77f6dc12c23..00000000000
--- a/src/m/sh3el.h
+++ /dev/null
@@ -1,106 +0,0 @@
1/* machine description file for sh3el
2 Copyright (C) 1985, 1986, 2006, 2007 Free Software Foundation, Inc.
3
4This file is part of GNU Emacs.
5
6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 3, or (at your option)
9any later version.
10
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Emacs; see the file COPYING. If not, write to
18the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA. */
20
21
22/* The following line tells the configuration script what sort of
23 operating system this machine is likely to run.
24 USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */
25
26/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
27 is the most significant byte. */
28
29#undef WORDS_BIG_ENDIAN
30
31/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
32 * group of arguments and treat it as an array of the arguments. */
33
34#define NO_ARG_ARRAY
35
36/* Define WORD_MACHINE if addresses and such have
37 * to be corrected before they can be used as byte counts. */
38
39#undef WORD_MACHINE
40
41/* Now define a symbol for the cpu type, if your compiler
42 does not define it automatically:
43 Ones defined so far include vax, m68000, ns16000, pyramid,
44 orion, tahoe, APOLLO and many others */
45
46/* Use type int rather than a union, to represent Lisp_Object */
47/* This is desirable for most machines. */
48
49#define NO_UNION_TYPE
50
51/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
52 the 24-bit bit field into an int. In other words, if bit fields
53 are always unsigned.
54
55 If you use NO_UNION_TYPE, this flag does not matter. */
56
57#define EXPLICIT_SIGN_EXTEND
58
59/* Data type of load average, as read out of kmem. */
60
61#define LOAD_AVE_TYPE long
62
63/* Convert that into an integer that is 100 for a load average of 1.0 */
64
65#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
66
67/* Define CANNOT_DUMP on machines where unexec does not work.
68 Then the function dump-emacs will not be defined
69 and temacs will do (load "loadup") automatically unless told otherwise. */
70
71#undef CANNOT_DUMP
72
73/* Define VIRT_ADDR_VARIES if the virtual addresses of
74 pure and impure space as loaded can vary, and even their
75 relative order cannot be relied on.
76
77 Otherwise Emacs assumes that text space precedes data space,
78 numerically. */
79
80#define VIRT_ADDR_VARIES
81
82/* Define HAVE_ALLOCA to say that the system provides a properly
83 working alloca function and it should be used.
84 Undefine it if an assembler-language alloca
85 in the file alloca.s should be used. */
86
87#define HAVE_ALLOCA
88
89/* Define NO_REMAP if memory segmentation makes it not work well
90 to change the boundary between the text section and data section
91 when Emacs is dumped. If you define this, the preloaded Lisp
92 code will not be sharable; but that's better than failing completely. */
93
94#define NO_REMAP
95
96/* After adding support for a new system, modify the large case
97 statement in the `configure' script to recognize reasonable
98 configuration names, and add a description of the system to
99 `etc/MACHINES'.
100
101 If you've just fixed a problem in an existing configuration file,
102 you should also check `etc/MACHINES' to make sure its descriptions
103 of known problems in that configuration should be updated. */
104
105/* arch-tag: ee325990-6f40-47a2-b9df-60ecf3599899
106 (do not change this comment) */
diff --git a/src/m/sps7.h b/src/m/sps7.h
deleted file mode 100644
index 67fc60c1b6a..00000000000
--- a/src/m/sps7.h
+++ /dev/null
@@ -1,118 +0,0 @@
1/* machine description file for Bull SPS-7.
2 Copyright (C) 1986, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Say this machine is a 68000 */
33
34#ifndef m68000
35#define m68000
36#endif
37
38#define sps7
39
40/* Use type int rather than a union, to represent Lisp_Object */
41
42#define NO_UNION_TYPE
43
44/* XINT must explicitly sign-extend */
45
46#define EXPLICIT_SIGN_EXTEND
47
48/* Data type of load average, as read out of kmem. */
49/* Suspect there is something weird about this machine, so turn it off. */
50
51/* #define LOAD_AVE_TYPE long */
52
53/* Convert that into an integer that is 100 for a load average of 1.0 */
54
55/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */
56
57#define SMX
58#define V3x
59
60/*
61 * Define HAVE_PTYS if the system supports pty devices.
62 */
63
64#define HAVE_PTYS
65
66/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
67
68#define HAVE_SOCKETS
69
70/* Have the socketpair call
71*/
72
73#define SKTPAIR
74
75/* Define CLASH_DETECTION if you want lock files to be written
76 so that Emacs can tell instantly when you try to modify
77 a file that someone else has modified in his Emacs. */
78
79#define CLASH_DETECTION
80
81/* Use Berkeley style interface to nlist */
82
83#define NLIST_STRUCT
84
85/* Define this to cause -N to be passed to ld. This is needed
86 * in uniplus because of its funny memory space layout.
87 * SMX--If you are using 32 bit (COFF) use "-N", else don't use anything.
88 */
89
90#define LD_SWITCH_MACHINE -N -T32 -e __start
91
92/* If you are compiling for a 68020, then use -lc32 else use -lc */
93
94#define LIB_STANDARD -lc32
95
96/* Fore 16 bit, -linet, for 32 bit -linet32 (be sure you have it!). */
97
98#define LIBS_MACHINE -linet32
99
100/* Use -T32 for 68020, -T16 otherwise */
101
102#define C_SWITCH_MACHINE -T32
103
104#define BROKEN_SIGIO
105
106/* Other than 68020 use ld16, as32, or undefine (defaults ld and as). */
107
108#define ASS as32
109
110#ifdef V3x
111#define EXEC_MAGIC 0x10b
112#define SEGMENT_MASK (NBPS-1)
113#define ADJUST_EXEC_HEADER f_hdr.f_magic = SMROMAGIC;\
114 f_ohdr.stsize = 0;
115#endif
116
117/* arch-tag: 2240f71c-6f3b-4a82-80fc-4d56c682d7ad
118 (do not change this comment) */
diff --git a/src/m/sr2k.h b/src/m/sr2k.h
deleted file mode 100644
index 6c17795e058..00000000000
--- a/src/m/sr2k.h
+++ /dev/null
@@ -1,160 +0,0 @@
1/* machine description file for Hitachi SR2001/SR2201 machines.
2 Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="hpux" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#define NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#undef WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 Ones defined so far include vax, m68000, ns16000, pyramid,
45 orion, tahoe, APOLLO and many others */
46#ifndef hp9000s800
47# define hp9000s800
48#endif
49
50/* Use type int rather than a union, to represent Lisp_Object */
51/* This is desirable for most machines. */
52
53#define NO_UNION_TYPE
54
55/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
56 the bit field into an int. In other words, if bit fields
57 are always unsigned.
58
59 If you use NO_UNION_TYPE, this flag does not matter. */
60
61#define EXPLICIT_SIGN_EXTEND
62
63/* The standard definitions of these macros would work ok,
64 but these are faster because the constants are short. */
65
66
67#define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)
68
69#define XSET(var, type, ptr) \
70 ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS))
71
72/* #ifdef __hpux */
73/* Now define a symbol for the cpu type, if your compiler
74 does not define it automatically:
75 Ones defined so far include vax, m68000, ns16000, pyramid,
76 orion, tahoe, APOLLO and many others */
77
78#ifndef hp9000s800
79# define hp9000s800
80#endif
81
82
83/* Data type of load average, as read out of kmem. */
84
85#define LOAD_AVE_TYPE double
86
87/* Convert that into an integer that is 100 for a load average of 1.0 */
88
89#define LOAD_AVE_CVT(x) ((int) (x * 100.0))
90
91
92/* Define CANNOT_DUMP on machines where unexec does not work.
93 Then the function dump-emacs will not be defined
94 and temacs will do (load "loadup") automatically unless told otherwise. */
95
96#undef CANNOT_DUMP
97
98/* Define VIRT_ADDR_VARIES if the virtual addresses of
99 pure and impure space as loaded can vary, and even their
100 relative order cannot be relied on.
101
102 Otherwise Emacs assumes that text space precedes data space,
103 numerically. */
104
105#define VIRT_ADDR_VARIES
106
107/* the data segment on this machine always starts at address 0x40000000. */
108
109#define DATA_SEG_BITS 0x40000000
110
111#define DATA_START 0x40000000
112#define TEXT_START 0x00000000
113
114/* Define NO_REMAP if memory segmentation makes it not work well
115 to change the boundary between the text section and data section
116 when Emacs is dumped. If you define this, the preloaded Lisp
117 code will not be sharable; but that's better than failing completely. */
118
119#define NO_REMAP
120
121/* This machine requires completely different unexec code
122 which lives in a separate file. Specify the file name. */
123
124#define UNEXEC unexhp9k800.o
125
126#define LIBS_MACHINE
127#define LIBS_DEBUG
128
129/* Include the file bsdtty.h, since this machine has job control. */
130/* #define NEED_BSDTTY */
131
132/* The symbol in the kernel where the load average is found
133 is named _avenrun. At this time there are two major flavors
134 of hp-ux (there is the s800 and s300 (s200) flavors). The
135 differences are thusly moved to the corresponding machine description file.
136*/
137
138/* no underscore please */
139#define LDAV_SYMBOL "avenrun"
140
141#if 0 /* Supposedly no longer true. */
142/* In hpux, for unknown reasons, S_IFLNK is defined even though
143 symbolic links do not exist.
144 Make sure our conditionals based on S_IFLNK are not confused.
145
146 Here we assume that stat.h is included before config.h
147 so that we can override it here. */
148
149#undef S_IFLNK
150#endif
151
152/* On USG systems these have different names. */
153
154#define index strchr
155#define rindex strrchr
156
157/* #endif */
158
159/* arch-tag: 4ced5b51-ffe6-4be1-9954-eb40657023a5
160 (do not change this comment) */
diff --git a/src/m/stride.h b/src/m/stride.h
deleted file mode 100644
index d846a6c9843..00000000000
--- a/src/m/stride.h
+++ /dev/null
@@ -1,121 +0,0 @@
1/* Definitions file for GNU Emacs running on Stride Micro System-V.2.2
2 Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#undef NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#undef WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 vax, m68000, ns16000, pyramid, orion, tahoe, APOLLO and STRIDE
45 are the ones defined so far. */
46
47#define m68000 /* because the SGS compiler defines "m68k" */
48#ifndef STRIDE
49#define STRIDE
50#endif
51
52/* Use type int rather than a union, to represent Lisp_Object */
53/* This is desirable for most machines. */
54
55#define NO_UNION_TYPE
56
57/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
58 the 24-bit bit field into an int. In other words, if bit fields
59 are always unsigned.
60
61 If you use NO_UNION_TYPE, this flag does not matter. */
62
63#define EXPLICIT_SIGN_EXTEND
64
65/* Data type of load average, as read out of kmem. */
66
67#define LOAD_AVE_TYPE double
68
69/* Convert that into an integer that is 100 for a load average of 1.0 */
70
71#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
72
73/* Define CANNOT_DUMP on machines where unexec does not work.
74 Then the function dump-emacs will not be defined
75 and temacs will do (load "loadup") automatically unless told otherwise. */
76
77#undef CANNOT_DUMP
78
79/* Define VIRT_ADDR_VARIES if the virtual addresses of
80 pure and impure space as loaded can vary, and even their
81 relative order cannot be relied on.
82
83 Otherwise Emacs assumes that text space precedes data space,
84 numerically. */
85
86#undef VIRT_ADDR_VARIES
87
88/* The STRIDE system is more powerful than standard USG5. */
89
90#define HAVE_PTYS
91#define BSTRING
92#define SKTPAIR
93#define HAVE_SOCKETS
94
95#define MAIL_USE_FLOCK
96#undef TERMINFO
97#define EXEC_MAGIC 0413
98
99/* USG wins again: Foo! I can't get SIGIO to work properly on the Stride, because I'm
100 running a System V variant, and don't have a reliable way to block SIGIO
101 signals without losing them. So, I've gone back to non-SIGIO mode, so
102 please append this line to the file "stride.h":
103 */
104#define BROKEN_SIGIO
105
106/* Specify alignment requirement for start of text and data sections
107 in the executable file. */
108
109#define SECTION_ALIGNMENT (getpagesize() - 1)
110
111/*
112 * UniStride has this in /lib/libc.a.
113 */
114#undef NONSYSTEM_DIR_LIBRARY
115
116/* Define this macro if system defines a type `union wait'. */
117
118#define HAVE_UNION_WAIT
119
120/* arch-tag: 65c635ed-5bc7-4ace-ab20-f3442429c8ba
121 (do not change this comment) */
diff --git a/src/m/sun1.h b/src/m/sun1.h
deleted file mode 100644
index 03cb4e803ff..00000000000
--- a/src/m/sun1.h
+++ /dev/null
@@ -1,80 +0,0 @@
1/* machine description file for Sun 68000's
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="note"
26
27NOTE-START
28Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
29 -opsystem=bsd4-2 or -opsystem=sunos4)
30
31 Whether you should use sun1, sun2 or sun3 depends on the
32 VERSION OF THE OPERATING SYSTEM
33 you have. There are three machine types for different versions of
34 SunOS. All are derived from Berkeley 4.2, meaning that you should
35 use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will
36 need to use sun3 on Sun 2's running SunOS release 3.
37
38 For SunOS release 4 on a Sun 3, use -machine=sun3 and
39 -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve
40 problems caused by bugs in the "export" version of SunOS 4.
41NOTE-END */
42
43/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
44 is the most significant byte. */
45
46#define WORDS_BIG_ENDIAN
47
48/* Say this machine is a 68000 */
49
50#define m68000
51
52/* Use type int rather than a union, to represent Lisp_Object */
53
54#define NO_UNION_TYPE
55
56/* Sun can't write competent compilers */
57#define COMPILER_REGISTER_BUG
58
59/* XINT must explicitly sign-extend */
60
61#define EXPLICIT_SIGN_EXTEND
62
63/* Data type of load average, as read out of kmem. */
64
65#define LOAD_AVE_TYPE long
66
67/* Convert that into an integer that is 100 for a load average of 1.0 */
68
69#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
70
71/* Must use the system's termcap. It does special things. */
72
73#define LIBS_TERMCAP -ltermcap
74
75/* Mask for address bits within a memory segment */
76
77#define SEGMENT_MASK (SEGSIZ - 1)
78
79/* arch-tag: 58ec9c79-48bd-4d1b-aad1-65a09a6b0d10
80 (do not change this comment) */
diff --git a/src/m/sun2.h b/src/m/sun2.h
deleted file mode 100644
index a872bf6f3bb..00000000000
--- a/src/m/sun2.h
+++ /dev/null
@@ -1,89 +0,0 @@
1/* machine description file for Sun 68000's OPERATING SYSTEM version 2.
2 Note that "sun2.h" refers to the operating system version, not the
3 CPU model number. See the MACHINES file for details.
4 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
5 2005, 2006, 2007 Free Software Foundation, Inc.
6
7This file is part of GNU Emacs.
8
9GNU Emacs is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3, or (at your option)
12any later version.
13
14GNU Emacs is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GNU Emacs; see the file COPYING. If not, write to
21the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22Boston, MA 02110-1301, USA. */
23
24
25/* The following line tells the configuration script what sort of
26 operating system this machine is likely to run.
27 USUAL-OPSYS="note"
28
29NOTE-START
30Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
31 -opsystem=bsd4-2 or -opsystem=sunos4)
32
33 Whether you should use sun1, sun2 or sun3 depends on the
34 VERSION OF THE OPERATING SYSTEM
35 you have. There are three machine types for different versions of
36 SunOS. All are derived from Berkeley 4.2, meaning that you should
37 use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will
38 need to use sun3 on Sun 2's running SunOS release 3.
39
40 For SunOS release 4 on a Sun 3, use -machine=sun3 and
41 -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve
42 problems caused by bugs in the "export" version of SunOS 4.
43NOTE-END */
44
45/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
46 is the most significant byte. */
47
48#define WORDS_BIG_ENDIAN
49
50/* Say this machine is a 68000 */
51
52#ifndef m68000
53#define m68000
54#endif
55
56/* Use type int rather than a union, to represent Lisp_Object */
57
58#define NO_UNION_TYPE
59
60/* Sun can't write competent compilers */
61#define COMPILER_REGISTER_BUG
62
63/* XINT must explicitly sign-extend */
64
65#define EXPLICIT_SIGN_EXTEND
66
67/* Data type of load average, as read out of kmem. */
68
69#define LOAD_AVE_TYPE long
70
71/* Convert that into an integer that is 100 for a load average of 1.0 */
72
73#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
74
75/* Say that this is a Sun 2; must check for and maybe reinitialize
76 the "sky" board. */
77
78#define sun2
79
80/* Must use the system's termcap. It does special things. */
81
82#define LIBS_TERMCAP -ltermcap
83
84/* Mask for address bits within a memory segment */
85
86#define SEGMENT_MASK (SEGSIZ - 1)
87
88/* arch-tag: 543c3570-74ca-4099-aa47-db7c7b691c8e
89 (do not change this comment) */
diff --git a/src/m/sun3-68881.h b/src/m/sun3-68881.h
deleted file mode 100644
index 33b9c2bd527..00000000000
--- a/src/m/sun3-68881.h
+++ /dev/null
@@ -1,31 +0,0 @@
1/* sun3-68881.h, for a Sun 3, using the 68881. */
2
3#include "sun3.h"
4
5/* The following line tells the configuration script what sort of
6 operating system this machine is likely to run.
7 USUAL-OPSYS="note"
8
9NOTE-START
10Sun with 68881 co-processor (-machine=sun3-68881;
11 -opsystem=bsd4-2 or -opsystem=sunos4)
12
13 Versions 1, 2, and 3 of the operating system are derived from
14 Berkeley 4.2, meaning that you should use -opsystem=bsd4-2.
15
16 For SunOS release 4 on a Sun 3 with a 68881, use -machine=sun3-68881
17 and -opsystem=sunos4. See the file share-lib/SUNBUG for how to
18 solve problems caused by bugs in the "export" version of SunOS 4.
19NOTE-END */
20
21/* In case we are using floating point, work together with crt0.c. */
22
23#ifndef __GNUC__
24#define C_SWITCH_MACHINE -f68881
25#endif
26
27#define sun_68881
28#define START_FILES crt0.o /usr/lib/Mcrt1.o
29
30/* arch-tag: f8659e89-5f5e-4921-940c-814a5786b901
31 (do not change this comment) */
diff --git a/src/m/sun3-fpa.h b/src/m/sun3-fpa.h
deleted file mode 100644
index b78adaf7378..00000000000
--- a/src/m/sun3-fpa.h
+++ /dev/null
@@ -1,31 +0,0 @@
1/* sun3-fpa.h, for a Sun 3, using the Sun fpa. */
2
3#include "sun3.h"
4
5/* The following line tells the configuration script what sort of
6 operating system this machine is likely to run.
7 USUAL-OPSYS="note"
8
9NOTE-START
10Sun with FPA co-processor (-machine=sun3-fpa;
11 -opsystem=bsd4-2 or -opsystem=sunos4)
12
13 Versions 1, 2, and 3 of the operating system are derived from
14 Berkeley 4.2, meaning that you should use -opsystem=bsd4-2.
15
16 For SunOS release 4 on a Sun 3 with an FPA, use -machine=sun3-fpa
17 and -opsystem=sunos4. See the file share-lib/SUNBUG for how to
18 solve problems caused by bugs in the "export" version of SunOS 4.
19NOTE-END */
20
21/* In case we are using floating point, work together with crt0.c. */
22
23#ifndef __GNUC__
24#define C_SWITCH_MACHINE -ffpa
25#endif
26
27#define sun_fpa
28#define START_FILES crt0.o /usr/lib/Wcrt1.o
29
30/* arch-tag: db287fbb-966f-4a70-a3f4-a6768c09326b
31 (do not change this comment) */
diff --git a/src/m/sun3-soft.h b/src/m/sun3-soft.h
deleted file mode 100644
index 32b2558c01b..00000000000
--- a/src/m/sun3-soft.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* sun3-soft.h, for a Sun 3, using the Sun with software floating point. */
2
3#include "sun3.h"
4
5/* The following line tells the configuration script what sort of
6 operating system this machine is likely to run.
7 USUAL-OPSYS="note"
8
9NOTE-START
10Sun with software floating point (-machine=sun3-soft;
11 -opsystem=bsd4-2 or -opsystem=sunos4)
12
13 Versions 1, 2, and 3 of the operating system are derived from
14 Berkeley 4.2, meaning that you should use -opsystem=bsd4-2.
15
16 If you want to use software floating point on SunOS release 4 on a
17 Sun 3, use -machine=sun3-68881 and -opsystem=sunos4. See the file
18 share-lib/SUNBUG for how to solve problems caused by bugs in the
19 "export" version of SunOS 4.
20NOTE-END */
21
22/* In case we are using floating point, work together with crt0.c. */
23
24#ifndef __GNUC__
25#define C_SWITCH_MACHINE -fsoft
26#endif
27
28#define sun_soft
29#define START_FILES crt0.o /usr/lib/Fcrt1.o
30
31/* arch-tag: 76e9d7e6-66a8-4c4f-b0a5-335d082e5720
32 (do not change this comment) */
diff --git a/src/m/sun3.h b/src/m/sun3.h
deleted file mode 100644
index b2713703416..00000000000
--- a/src/m/sun3.h
+++ /dev/null
@@ -1,53 +0,0 @@
1/* machine description file for Sun 68000's OPERATING SYSTEM version 3
2 (for either 68000 or 68020 systems). */
3
4#include "sun2.h"
5#undef sun2
6#ifndef sun3
7#define sun3
8#endif
9
10/* The following line tells the configuration script what sort of
11 operating system this machine is likely to run.
12 USUAL-OPSYS="note"
13
14NOTE-START
15Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
16 -opsystem=bsd4-2 or -opsystem=sunos4)
17
18 Whether you should use sun1, sun2 or sun3 depends on the
19 VERSION OF THE OPERATING SYSTEM
20 you have. There are three machine types for different versions of
21 SunOS. All are derived from Berkeley 4.2, meaning that you should
22 use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will
23 need to use sun3 on Sun 2's running SunOS release 3.
24
25 For SunOS release 4 on a Sun 3, use -machine=sun3 and
26 -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve
27 problems caused by bugs in the "export" version of SunOS 4.
28NOTE-END */
29
30/* Say that the text segment of a.out includes the header;
31 the header actually occupies the first few bytes of the text segment
32 and is counted in hdr.a_text. */
33
34#define A_TEXT_OFFSET(HDR) sizeof (HDR)
35
36/* This is the offset of the executable's text, from the start of the file. */
37
38#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
39
40/* In case we are using floating point, work together with crt0.c. */
41
42#ifndef __GNUC__
43#define C_SWITCH_MACHINE -fsoft
44#endif
45
46/* This line is needed if you are linking with X windows
47 and the library xlib was compiled to use the 68881.
48 For maximum cleanliness, don't edit this file;
49 instead, insert this line in config.h. */
50/* #define START_FILES crt0.o /usr/lib/Mcrt1.o */
51
52/* arch-tag: d0559a79-2285-4a78-ad68-9694264d0d8a
53 (do not change this comment) */
diff --git a/src/m/sun386.h b/src/m/sun386.h
deleted file mode 100644
index ed98960c809..00000000000
--- a/src/m/sun386.h
+++ /dev/null
@@ -1,74 +0,0 @@
1/* machine description file for Sun's 386-based RoadRunner. This file borrows heavily from
2 "sun2.h", but since that file is heavily cpu-specific, it was easier
3 not to include it.
4
5 Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005,
6 2006, 2007 Free Software Foundation, Inc.
7
8This file is part of GNU Emacs.
9
10GNU Emacs is free software; you can redistribute it and/or modify
11it under the terms of the GNU General Public License as published by
12the Free Software Foundation; either version 3, or (at your option)
13any later version.
14
15GNU Emacs is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License for more details.
19
20You should have received a copy of the GNU General Public License
21along with GNU Emacs; see the file COPYING. If not, write to
22the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23Boston, MA 02110-1301, USA. */
24
25/* The following line tells the configuration script what sort of
26 operating system this machine is likely to run.
27 USUAL-OPSYS="note"
28
29NOTE-START
30 Use s-sunos4-0.h for operating system version 4.0, and s-sunos4-1.h
31 for later versions. See the file share-lib/SUNBUG for how to solve
32 problems caused by bugs in the "export" version of SunOS 4.
33NOTE-END */
34
35/* Say this machine is a bird */
36#ifndef roadrunner
37#define roadrunner
38#endif
39
40/* Actual cpu-specific defs */
41#include "intel386.h"
42
43/* Data type of load average, as read out of kmem. */
44
45#define LOAD_AVE_TYPE long
46
47/* Convert that into an integer that is 100 for a load average of 1.0 */
48
49#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
50
51/* Underscores are not prepended to C symbols on this machine. */
52#undef LDAV_SYMBOL
53#define LDAV_SYMBOL "avenrun"
54
55/* Must use the system's termcap. It does special things. */
56
57#define LIBS_TERMCAP -ltermcap
58
59/* Roadrunner uses 'COFF' format */
60#define COFF
61
62#define C_SWITCH_MACHINE -Bstatic /* avoid dynamic linking */
63#define LD_SWITCH_MACHINE -n -Bstatic
64/* Get rid of the -e __start that s-sunos4.h does. */
65#undef LD_SWITCH_SYSTEM
66
67#ifdef USG
68/* USG detects Solaris. j.w.hawtin@lut.ac.uk says Solaris 2.1
69 on the 386 needs this. */
70#define LIBS_MACHINE -lkvm
71#endif
72
73/* arch-tag: 861af4b4-ce5f-475e-876e-ebff6436a1fe
74 (do not change this comment) */
diff --git a/src/m/symmetry.h b/src/m/symmetry.h
deleted file mode 100644
index ea3d9493504..00000000000
--- a/src/m/symmetry.h
+++ /dev/null
@@ -1,95 +0,0 @@
1/* machine description file for SEQUENT SYMMETRY machines
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/* CHANGE: [Eric H. Herrin II; eric@ms.uky.edu - 15 Sept 1988]
23 * Modified the sequent.h file for the Sequent Symmetry machine.
24 * Biggest change was to align the sections in the a.out to 4K
25 * boundaries (this is the page size).
26 */
27
28
29/* NOTICE: this file works for DYNIX release 3.0.12 on Sequent Symmetry
30 * (Intel 80386) machines. Hasn't been tested on anything else.
31 */
32
33/* The following line tells the configuration script what sort of
34 operating system this machine is likely to run.
35 USUAL-OPSYS="bsd4-3" */
36
37#include "intel386.h"
38
39/* Data type of load average, as read out of kmem. */
40
41#define LOAD_AVE_TYPE unsigned long
42
43/* Convert that into an integer that is 100 for a load average of 1.0 */
44
45#define FSCALE 1000.0
46#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
47
48/* Name of file the to look in
49 for the kernel symbol table (for load average) */
50
51#undef KERNEL_FILE
52#define KERNEL_FILE "/dynix"
53
54/* Avoids a compiler bug */
55
56#define TAHOE_REGISTER_BUG
57
58/* Say that the text segment of a.out includes the header;
59 the header actually occupies the first few bytes of the text segment
60 and is counted in hdr.a_text. Furthermore, the value written
61 in the a_text in the file must have N_ADDRADJ added to it. */
62
63#define A_TEXT_OFFSET(HDR) (sizeof (HDR) + N_ADDRADJ (HDR))
64
65/* This is the offset of the executable's text, from the start of the file. */
66
67#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
68
69/* The file sections in the Symmetry a.out must be on 4K boundaries.
70 */
71#define SEGSIZ 4096
72#define SECTION_ALIGNMENT (SEGSIZ-1)
73
74/* (short) negative-int doesn't sign-extend correctly */
75#define SHORT_CAST_BUG
76
77/* Cause compilations to be done in parallel in ymakefile. */
78#define MAKE_PARALLEL &
79
80/* Define how to search all pty names.
81 This is for Dynix 3.0; delete next 5 definitions for older systems. */
82
83#define PTY_MAJOR "pqrstuvwPQRSTUVW"
84#define PTY_MINOR "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
85#define PTY_ITERATION \
86 register int ma, mi; \
87 for (ma = 0; ma < sizeof(PTY_MAJOR) - 1; ma++) \
88 for (mi = 0; mi < sizeof(PTY_MINOR) - 1; mi++)
89#define PTY_NAME_SPRINTF \
90 sprintf (pty_name, "/dev/pty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]);
91#define PTY_TTY_NAME_SPRINTF \
92 sprintf (pty_name, "/dev/tty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]);
93
94/* arch-tag: 4169a89e-3764-4147-98df-1ba3bdd45a5b
95 (do not change this comment) */
diff --git a/src/m/tad68k.h b/src/m/tad68k.h
deleted file mode 100644
index c8be8763fb5..00000000000
--- a/src/m/tad68k.h
+++ /dev/null
@@ -1,115 +0,0 @@
1/* Machine-dependent configuration for GNU Emacs for Tadpole 68k machines
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-3" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35/* #define NO_ARG_ARRAY */
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40/* #define WORD_MACHINE */
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically */
44
45/* Use type int rather than a union, to represent Lisp_Object */
46/* This is desirable for most machines. */
47
48#define NO_UNION_TYPE
49
50/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
51 the 24-bit bit field into an int. In other words, if bit fields
52 are always unsigned.
53
54 If you use NO_UNION_TYPE, this flag does not matter. */
55
56/* #define EXPLICIT_SIGN_EXTEND */
57
58/* Data type of load average, as read out of kmem. */
59/* #define LOAD_AVE_TYPE long */
60
61/* Convert that into an integer that is 100 for a load average of 1.0 */
62
63/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
64
65/* Define CANNOT_DUMP on machines where unexec does not work.
66 Then the function dump-emacs will not be defined
67 and temacs will do (load "loadup") automatically unless told otherwise. */
68/* #define CANNOT_DUMP */
69
70/* Define VIRT_ADDR_VARIES if the virtual addresses of
71 pure and impure space as loaded can vary, and even their
72 relative order cannot be relied on.
73
74 Otherwise Emacs assumes that text space precedes data space,
75 numerically. */
76
77/* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */
78
79/* SysV has alloca in the PW library */
80
81#define LIB_STANDARD -lPW -lc
82
83/* Define NO_REMAP if memory segmentation makes it not work well
84 to change the boundary between the text section and data section
85 when Emacs is dumped. If you define this, the preloaded Lisp
86 code will not be sharable; but that's better than failing completely. */
87
88/* #define NO_REMAP */
89
90/* Use Terminfo, not Termcap. */
91
92#define TERMINFO
93
94/* TPIX extras */
95
96#define TPIX /* used in various source files */
97#define BSTRING /* we do have the BSTRING functions */
98#define CLASH_DETECTION /* we want to know about clashes */
99#undef ADDR_CORRECT /* don't need this bug fix */
100#define fchmod /* we don't have fchmod() */
101#define SECTION_ALIGNMENT (2048-1) /* 2k boundaries required in unexec */
102#define SEGMENT_MASK (128*1024-1) /* 128k offsets required in unexec */
103#define C_DEBUG_SWITCH -O /* build with -O (TPIX has GCC 1.34) */
104
105#define BROKEN_TIOCGWINSZ /* Don't try to use TIOCGWINSZ. */
106
107/* omit next four lines if no TCP installed */
108
109#define select gnu_select /* avoid select() name clash */
110#define HAVE_PTYS /* we do have PTYs if we have TCP */
111#define HAVE_SOCKETS /* we do have sockets if we have TCP */
112#define LIBS_SYSTEM -lsocket /* get TCP networking functions */
113
114/* arch-tag: e0c09754-b0f2-48da-a8a5-aee3c94838f4
115 (do not change this comment) */
diff --git a/src/m/tahoe.h b/src/m/tahoe.h
deleted file mode 100644
index 9b9271577fc..00000000000
--- a/src/m/tahoe.h
+++ /dev/null
@@ -1,72 +0,0 @@
1/* machine description file for tahoe.
2 Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="note"
26
27NOTE-START
28Use -opsystem=bsd4-2 or -opsystem=bsd4-3, depending on the version of
29Berkeley you are running.
30NOTE-END */
31
32/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
33 is the most significant byte. */
34
35#define WORDS_BIG_ENDIAN
36
37/* XINT must explicitly sign-extend */
38
39#define EXPLICIT_SIGN_EXTEND
40
41/* Say this machine is a tahoe */
42
43#ifndef tahoe
44#define tahoe
45#endif /* not tahoe */
46
47/* Use type int rather than a union, to represent Lisp_Object */
48
49#define NO_UNION_TYPE
50
51/* crt0.c should use the vax-bsd style of entry, with no dummy args. */
52
53#define CRT0_DUMMIES
54
55/* crt0.c should define a symbol `start' and do .globl with a dot. */
56
57#define DOT_GLOBAL_START
58
59/* Data type of load average, as read out of kmem. */
60
61#define LOAD_AVE_TYPE double
62
63/* Convert that into an integer that is 100 for a load average of 1.0 */
64
65#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
66
67/* This triggers some stuff to avoid a compiler bug */
68
69#define TAHOE_REGISTER_BUG
70
71/* arch-tag: dd452693-80e1-413f-a164-0141eb68d831
72 (do not change this comment) */
diff --git a/src/m/targon31.h b/src/m/targon31.h
deleted file mode 100644
index 39e995b076d..00000000000
--- a/src/m/targon31.h
+++ /dev/null
@@ -1,98 +0,0 @@
1/* targon31 machine description file
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35/* #define NO_ARG_ARRAY */
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#define WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
45 are the ones defined so far. */
46
47/* #define m68k is defined by the Compiler */
48/* #define m68000 */
49
50/* Use type int rather than a union, to represent Lisp_Object */
51/* This is desirable for most machines. */
52
53#define NO_UNION_TYPE
54
55/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
56 the 24-bit bit field into an int. In other words, if bit fields
57 are always unsigned.
58
59 If you use NO_UNION_TYPE, this flag does not matter. */
60
61#define EXPLICIT_SIGN_EXTEND
62
63/* Data type of load average, as read out of kmem. */
64
65/* #define LOAD_AVE_TYPE double */
66
67/* Convert that into an integer that is 100 for a load average of 1.0 */
68
69#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)
70
71/* Define CANNOT_DUMP on machines where unexec does not work.
72 Then the function dump-emacs will not be defined
73 and temacs will do (load "loadup") automatically unless told otherwise. */
74
75/* #define CANNOT_DUMP */
76
77/* Define VIRT_ADDR_VARIES if the virtual addresses of
78 pure and impure space as loaded can vary, and even their
79 relative order cannot be relied on.
80
81 Otherwise Emacs assumes that text space precedes data space,
82 numerically. */
83
84/* #define VIRT_ADDR_VARIES */
85
86/* Define NO_REMAP if memory segmentation makes it not work well
87 to change the boundary between the text section and data section
88 when Emacs is dumped. If you define this, the preloaded Lisp
89 code will not be sharable; but that's better than failing completely. */
90
91/* #define NO_REMAP */
92/* Supposedly NO_REMAP is not needed with the following change. */
93#define SEGMENT_MASK 0xffff
94
95#define SWITCH_ENUM_BUG 1
96
97/* arch-tag: f2438018-7d4e-4be5-b368-4bf342b7785b
98 (do not change this comment) */
diff --git a/src/m/tek4300.h b/src/m/tek4300.h
deleted file mode 100644
index 6498238461d..00000000000
--- a/src/m/tek4300.h
+++ /dev/null
@@ -1,105 +0,0 @@
1/* machine description file for tek4300.
2 Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="bsd4-3" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#undef NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#undef WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically. */
44
45#ifndef tek4300
46#define tek4300
47#endif
48
49/* Use type int rather than a union, to represent Lisp_Object */
50
51#define NO_UNION_TYPE
52
53/* Data type of load average, as read out of kmem. */
54
55#define LOAD_AVE_TYPE long
56
57/* Convert that into an integer that is 100 for a load average of 1.0 */
58
59#define LOAD_AVE_CVT(x) (x)
60
61/* Define NO_REMAP if memory segmentation makes it not work well
62 to change the boundary between the text section and data section
63 when Emacs is dumped. If you define this, the preloaded Lisp
64 code will not be sharable; but that's better than failing completely. */
65
66#define NO_REMAP
67
68/* setjmp and longjmp can safely replace _setjmp and _longjmp, */
69
70#define _longjmp longjmp
71#define _setjmp setjmp
72
73/* The text segment always starts at a fixed address.
74 This way we don't need to have a label _start defined. */
75
76#define TEXT_START 0
77
78/* The Tektronix exec struct for ZMAGIC files is struct zexec */
79
80#define EXEC_HDR_TYPE struct zexec
81
82/* The entry-point label (start of text segment) is `start', not `__start'. */
83
84#define DEFAULT_ENTRY_ADDRESS start
85
86/* Use the system's malloc calls, gmalloc.c won't work for us. */
87
88#define SYSTEM_MALLOC
89
90/* In building xmakefile, "cc -E -g" forcibly reads from stdin. Since we
91 can't remove the CFLAGS from that "cc -E" invocation, make sure we
92 never pass -g. If you want to debug, remove the following, and fix
93 src/Makefile.in so it doesn't pass ${CFLAGS} when creating xmakefile. */
94
95#define C_DEBUG_SWITCH
96
97/* eirik@elf.ithaca.ny.us said this was needed in 19.22. */
98#define NO_MODE_T
99
100/* Process groups work in the traditional BSD manner. */
101
102#define BSD_PGRPS
103
104/* arch-tag: afa06e53-094c-4a19-9219-155f8ba4bbcc
105 (do not change this comment) */
diff --git a/src/m/tekxd88.h b/src/m/tekxd88.h
deleted file mode 100644
index f351229292f..00000000000
--- a/src/m/tekxd88.h
+++ /dev/null
@@ -1,117 +0,0 @@
1/* Configuration file for the Tektronix XD88 running UTekV 3.2e,
2 contributed by Kaveh Ghazi (ghazi@caip.rutgers.edu) 1/15/93.
3 You probably need to use gnu make (version 3.63 or higher.)
4 Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
5 2006, 2007 Free Software Foundation, Inc.
6
7This file is part of GNU Emacs.
8
9GNU Emacs is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3, or (at your option)
12any later version.
13
14GNU Emacs is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GNU Emacs; see the file COPYING. If not, write to
21the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22Boston, MA 02110-1301, USA. */
23
24
25/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
26 is the most significant byte. */
27
28#define WORDS_BIG_ENDIAN
29
30/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
31 * group of arguments and treat it as an array of the arguments. */
32#define NO_ARG_ARRAY
33
34/* Define WORD_MACHINE if addresses and such have
35 * to be corrected before they can be used as byte counts. */
36/* #define WORD_MACHINE */
37
38/* Now define a symbol for the cpu type, if your compiler
39 does not define it automatically:
40 Ones defined so far include vax, m68000, ns16000, pyramid,
41 orion, tahoe, APOLLO and many others */
42#ifndef m88000 /* Some 88k C compilers already define this */
43#define m88000
44#endif
45
46/* Define how to take a char and sign-extend into an int.
47 On machines where char is signed, this is a no-op. */
48#define SIGN_EXTEND_CHAR(c) (c)
49
50/* Use type int rather than a union, to represent Lisp_Object */
51/* This is desirable for most machines. */
52#define NO_UNION_TYPE
53
54/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
55 the 24-bit bit field into an int. In other words, if bit fields
56 are always unsigned.
57
58 If you use NO_UNION_TYPE, this flag does not matter. */
59/* #define EXPLICIT_SIGN_EXTEND */
60
61/* Data type of load average, as read out of kmem. */
62/* #define LOAD_AVE_TYPE double */ /* No load average on XD88. */
63/* Convert that into an integer that is 100 for a load average of 1.0 */
64/* #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) */
65
66/* Define CANNOT_DUMP on machines where unexec does not work.
67 Then the function dump-emacs will not be defined
68 and temacs will do (load "loadup") automatically unless told otherwise. */
69/*#define CANNOT_DUMP*/
70
71/* Define VIRT_ADDR_VARIES if the virtual addresses of
72 pure and impure space as loaded can vary, and even their
73 relative order cannot be relied on.
74
75 Otherwise Emacs assumes that text space precedes data space,
76 numerically. */
77/* #define VIRT_ADDR_VARIES */
78
79/* Define NO_REMAP if memory segmentation makes it not work well
80 to change the boundary between the text section and data section
81 when Emacs is dumped. If you define this, the preloaded Lisp
82 code will not be sharable; but that's better than failing completely. */
83#define NO_REMAP
84
85#ifndef __GNUC__
86# define C_OPTIMIZE_SWITCH -O
87#endif /* __GNUC__ */
88
89#undef NOMULTIPLEJOBS /* we have job control */
90#define HAVE_SOCKETS /* sockets are available */
91#define BROKEN_FIONREAD /* is this needed ? */
92#define BSTRING /* its in libc but not declared in any header file. */
93#undef sigsetmask /* XD88 has sigsetmask() */
94
95#undef LIB_X11_LIB /* Don't use shared libraries defined in usg5-3.h */
96#undef LIBX11_SYSTEM
97
98#define HAVE_TERMIOS /* We have termios. */
99#undef HAVE_TERMIO /* Make sure termios ifdef code is used, not termio. */
100#define NO_TERMIO /* Don't include both termios.h and termio.h */
101#define HAVE_PTYS /* XD88 SysV has PTYs. */
102#define SYSV_PTYS /* Requires <termios.h> */
103
104#ifdef ghs /* Stands for "Green Hills Software", defined only in /bin/cc */
105/* -X18 means do not allocate programmer-defined local variables to a
106 register unless they are declared register. (Copied from perl-4.036
107 Green Hills C hints file. Might be needed for setjmp, I don't know.) */
108# define C_SWITCH_MACHINE -X18
109/* We need /lib/default.ld so that /bin/ld can read its link directives. */
110# define LD_SWITCH_SYSTEM /lib/default.ld
111#endif /* ghs */
112
113/* We need this to get dumping to work */
114#define KEEP_OLD_TEXT_SCNPTR
115
116/* arch-tag: fd3cebc3-2aed-4f8c-be9b-f37331c6e0ff
117 (do not change this comment) */
diff --git a/src/m/tower32.h b/src/m/tower32.h
deleted file mode 100644
index 01daada2423..00000000000
--- a/src/m/tower32.h
+++ /dev/null
@@ -1,115 +0,0 @@
1/* machine description file for the NCR Tower 32 running System V.2.
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35/* #define NO_ARG_ARRAY */
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40/* #define WORD_MACHINE */
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
45 are the ones defined so far. */
46#define m68000
47
48/* Use type int rather than a union, to represent Lisp_Object */
49/* This is desirable for most machines. */
50
51#define NO_UNION_TYPE
52
53/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
54 the 24-bit bit field into an int. In other words, if bit fields
55 are always unsigned.
56
57 If you use NO_UNION_TYPE, this flag does not matter. */
58
59#define EXPLICIT_SIGN_EXTEND
60
61/* Data type of load average, as read out of kmem. */
62
63/* #define LOAD_AVE_TYPE long */
64
65/* Convert that into an integer that is 100 for a load average of 1.0 */
66
67/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
68
69/* Define CANNOT_DUMP on machines where unexec does not work.
70 Then the function dump-emacs will not be defined
71 and temacs will do (load "loadup") automatically unless told otherwise. */
72
73/* #define CANNOT_DUMP */
74
75/* Define VIRT_ADDR_VARIES if the virtual addresses of
76 pure and impure space as loaded can vary, and even their
77 relative order cannot be relied on.
78
79 Otherwise Emacs assumes that text space precedes data space,
80 numerically. */
81
82/* #define VIRT_ADDR_VARIES */
83
84/* Change some things to avoid bugs in compiler */
85
86#define SWITCH_ENUM_BUG 1
87
88/* The standard C library is -lcieee, not -lc.
89 Also use the PW library, which contains alloca. */
90
91#define LIB_STANDARD -lPW -lcieee
92
93/* crt0.c should use the vax-bsd style of entry. Beware that if you have
94 OS release 2.00.00 or later, *and* change src/ymakefile so that CFLAGS
95 includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, you need to
96 uncomment CRT0_DUMMIES and C_OPTIMIZE_SWITCH below. */
97
98/* With the optimizer OFF */
99
100#define CRT0_DUMMIES zero, bogus_fp,
101
102/* With the optimizer ON */
103
104/* #define CRT0_DUMMIES */
105/* #define C_OPTIMIZE_SWITCH -O2 */
106
107/* emacs's magic number isn't temacs's;
108 temacs is writable text (the default!). */
109
110#include <asld.h>
111#define EXEC_MAGIC AOUT1MAGIC
112#define EXEC_PAGESIZE DATACLICK
113
114/* arch-tag: a08e7dea-d48e-44cc-b60d-c7f2e5187ff5
115 (do not change this comment) */
diff --git a/src/m/tower32v3.h b/src/m/tower32v3.h
deleted file mode 100644
index ff209edab41..00000000000
--- a/src/m/tower32v3.h
+++ /dev/null
@@ -1,113 +0,0 @@
1/* machine description file for the NCR Tower 32 running System V.3.
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23
24/* The following line tells the configuration script what sort of
25 operating system this machine is likely to run.
26 USUAL-OPSYS="usg5-3" */
27
28/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
29 is the most significant byte. */
30
31#define WORDS_BIG_ENDIAN
32
33/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
34 * group of arguments and treat it as an array of the arguments. */
35
36/* #define NO_ARG_ARRAY */
37
38/* Define WORD_MACHINE if addresses and such have
39 * to be corrected before they can be used as byte counts. */
40
41/* #define WORD_MACHINE */
42
43/* Now define a symbol for the cpu type, if your compiler
44 does not define it automatically:
45 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
46 are the ones defined so far. */
47#define m68000
48
49/* Use type int rather than a union, to represent Lisp_Object */
50/* This is desirable for most machines. */
51
52#define NO_UNION_TYPE
53
54/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
55 the bit field into an int. In other words, if bit fields
56 are always unsigned.
57
58 If you use NO_UNION_TYPE, this flag does not matter. */
59
60#define EXPLICIT_SIGN_EXTEND
61
62/* Data type of load average, as read out of kmem. */
63
64/* #define LOAD_AVE_TYPE long */
65
66/* Convert that into an integer that is 100 for a load average of 1.0 */
67
68/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
69
70/* Define CANNOT_DUMP on machines where unexec does not work.
71 Then the function dump-emacs will not be defined
72 and temacs will do (load "loadup") automatically unless told otherwise. */
73
74/* #define CANNOT_DUMP */
75
76/* Define VIRT_ADDR_VARIES if the virtual addresses of
77 pure and impure space as loaded can vary, and even their
78 relative order cannot be relied on.
79
80 Otherwise Emacs assumes that text space precedes data space,
81 numerically. */
82
83/* #define VIRT_ADDR_VARIES */
84
85#ifdef __GNUC__
86#define C_OPTIMIZE_SWITCH -O -fstrength-reduce -fomit-frame-pointer
87#define LIB_STANDARD -lc /lib/crtn.o
88#else
89/* This section is correct if you do *not* change src/ymakefile so that
90 CFLAGS includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH. */
91#define C_DEBUG_SWITCH -g -O0
92#define LIB_STANDARD -lc -lPW /lib/crtn.o
93/* This section is correct if you do enable C_OPTIMIZE_SWITCH. */
94/* #define C_OPTIMIZE_SWITCH -O2 */
95/* #define LIB_STANDARD -lc /lib/crtn.o */
96#endif
97
98/* The OS maps the data section far away from the text section. */
99#define NO_REMAP
100#define TEXT_START 0
101#undef static
102#define START_FILES pre-crt0.o /lib/crt1.o
103
104/* The OS has an implementation of symlinks that is semantically different
105 from BSD, but for some silly reason it partly has the same syntax. */
106#undef S_IFLNK
107
108/* The OS needs stream.h+ptem.h included in sysdep.c. */
109#define NO_SIOCTL_H
110#define NEED_PTEM_H
111
112/* arch-tag: 3dff1355-7cb6-49e3-8834-85a369e4ea8f
113 (do not change this comment) */
diff --git a/src/m/ustation.h b/src/m/ustation.h
deleted file mode 100644
index 0ac833c28da..00000000000
--- a/src/m/ustation.h
+++ /dev/null
@@ -1,132 +0,0 @@
1/* machine description file for U-station (Nihon Unisys, SS5E; Sumitomo Denkoh, U-Station E30).
2 Copyright (C) 1986, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-3" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#undef NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#undef WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
45 are the ones defined so far. */
46/* Masscomp predefines mc68000. */
47
48#define m68000 mc68000
49
50/* Use type int rather than a union, to represent Lisp_Object */
51/* This is desirable for most machines. */
52
53#define NO_UNION_TYPE
54
55/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
56 the 24-bit bit field into an int. In other words, if bit fields
57 are always unsigned.
58
59 If you use NO_UNION_TYPE, this flag does not matter. */
60
61#undef EXPLICIT_SIGN_EXTEND
62
63/* Data type of load average, as read out of kmem. */
64
65#define LOAD_AVE_TYPE double
66
67/* Convert that into an integer that is 100 for a load average of 1.0 */
68
69#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
70
71/* Define CANNOT_DUMP on machines where unexec does not work.
72 Then the function dump-emacs will not be defined
73 and temacs will do (load "loadup") automatically unless told otherwise. */
74
75#undef CANNOT_DUMP
76
77/* Define VIRT_ADDR_VARIES if the virtual addresses of
78 pure and impure space as loaded can vary, and even their
79 relative order cannot be relied on.
80
81 Otherwise Emacs assumes that data space precedes text space,
82 numerically. */
83
84#undef VIRT_ADDR_VARIES
85
86/* Define NO_REMAP if memory segmentation makes it not work well
87 to change the boundary between the text section and data section
88 when Emacs is dumped. If you define this, the preloaded Lisp
89 code will not be sharable; but that's better than failing completely. */
90
91#undef NO_REMAP
92
93/* Name of file the to look in
94 for the kernel symbol table (for load average) */
95
96#define KERNEL_FILE "/unix"
97
98/* This triggers some stuff to avoid a compiler bug */
99
100#define MASSC_REGISTER_BUG
101
102/* Prevent -lg from being used for debugging. Not implemented? */
103
104#define LIBS_DEBUG
105
106/*
107 * Define HAVE_TERMIO if the system provides sysV-style ioctls
108 * for terminal control.
109 */
110
111#define HAVE_TERMIO
112
113/* -lnet is not standard library */
114
115#undef LIBS_SYSTEM
116
117/* Compiler's bug */
118
119#define SWITCH_ENUM_BUG
120
121/* Termcap is available */
122
123#define LIBS_TERMCAP -ltermcap
124
125#define EXEC_PAGESIZE 1024
126#define PURESIZE 130000
127
128#define BROKEN_SIGIO
129#define BROKEN_SIGTSTP
130
131/* arch-tag: 797f1d3e-3077-4eee-a81b-03fcf3a988fe
132 (do not change this comment) */
diff --git a/src/m/wicat.h b/src/m/wicat.h
deleted file mode 100644
index 3ac7b530739..00000000000
--- a/src/m/wicat.h
+++ /dev/null
@@ -1,137 +0,0 @@
1/* machine description file for WICAT machines.
2 Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* The following line tells the configuration script what sort of
24 operating system this machine is likely to run.
25 USUAL-OPSYS="usg5-2" */
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30#define WORDS_BIG_ENDIAN
31
32/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
33 * group of arguments and treat it as an array of the arguments. */
34
35#undef NO_ARG_ARRAY
36
37/* Define WORD_MACHINE if addresses and such have
38 * to be corrected before they can be used as byte counts. */
39
40#undef WORD_MACHINE
41
42/* Now define a symbol for the cpu type, if your compiler
43 does not define it automatically:
44 vax, m68000, ns16000 are the ones defined so far. */
45
46#ifndef m68000
47#define m68000
48#endif
49
50/* This flag is used only in alloca.s. */
51#define WICAT
52
53/* Use type int rather than a union, to represent Lisp_Object */
54
55#define NO_UNION_TYPE
56
57/* XINT must explicitly sign-extend */
58
59#define EXPLICIT_SIGN_EXTEND
60
61/* Data type of load average, as read out of kmem. */
62
63#undef LOAD_AVE_TYPE
64
65/* Convert that into an integer that is 100 for a load average of 1.0 */
66
67#undef LOAD_AVE_CVT
68
69/* Define CANNOT_DUMP on machines where unexec does not work.
70 Then the function dump-emacs will not be defined
71 and temacs will do (load "loadup") automatically unless told otherwise. */
72
73#undef CANNOT_DUMP
74
75/* Define VIRT_ADDR_VARIES if the virtual addresses of
76 pure and impure space as loaded can vary, and even their
77 relative order cannot be relied on.
78
79 Otherwise Emacs assumes that text space precedes data space,
80 numerically. */
81
82#undef VIRT_ADDR_VARIES
83
84/* Define NO_REMAP if memory segmentation makes it not work well
85 to change the boundary between the text section and data section
86 when Emacs is dumped. If you define this, the preloaded Lisp
87 code will not be sharable; but that's better than failing completely. */
88
89#undef NO_REMAP
90
91/* For WICAT, define TAHOE_REGISTER_BUG if you have a pre-4.2 C compiler */
92
93#define TAHOE_REGISTER_BUG
94
95/* pagesize definition */
96
97#define EXEC_PAGESIZE 0x1000
98
99/* Delete this for WICAT sys V releases before 2.0. */
100
101#define LIB_STANDARD -lc-nofp
102
103/* Special magic number */
104
105#define EXEC_MAGIC MC68ROMAGIC
106
107/* Special switches to give to ld. */
108
109#define LD_SWITCH_MACHINE -e __start -N
110
111/* Sigh...cannot define this for WICAT cuz 0 length memcpy blows chunks */
112
113#undef BSTRING
114
115/*
116 * Define optimflags if you want to optimize.
117 * - Set to null string for pre-4.2 C compiler
118 * - Set to "-O -Wopt,-O-f" for 4.2
119 */
120
121#define C_OPTIMIZE_SWITCH /* -O -Wopt,-O-f */
122
123/* For WICAT version supporting PTYs and select (currently internal only) */
124
125#ifdef HAVE_PTYS
126#undef FIRST_PTY_LETTER
127#define FIRST_PTY_LETTER 'q'
128#endif
129
130/* there is a select() in libcurses.a that causes a conflict so use termlib */
131#ifdef HAVE_SELECT
132#undef TERMINFO
133#define LIBS_TERMCAP select.o -ltermlib
134#endif
135
136/* arch-tag: b181c512-0275-4d25-9bbc-be0c8ca7bcad
137 (do not change this comment) */
diff --git a/src/m/xps100.h b/src/m/xps100.h
deleted file mode 100644
index 3b378319ceb..00000000000
--- a/src/m/xps100.h
+++ /dev/null
@@ -1,98 +0,0 @@
1/* xps100.h for the Honeywell XPS100 running UNIX System V.2
2 Mark J. Hewitt (mjh@uk.co.kernel)
3
4 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
5 2005, 2006, 2007 Free Software Foundation, Inc.
6
7This file is part of GNU Emacs.
8
9GNU Emacs is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3, or (at your option)
12any later version.
13
14GNU Emacs is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GNU Emacs; see the file COPYING. If not, write to
21the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22Boston, MA 02110-1301, USA. */
23
24
25/* The following line tells the configuration script what sort of
26 operating system this machine is likely to run.
27 USUAL-OPSYS="usg5-2" */
28
29/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
30 is the most significant byte. */
31
32#define WORDS_BIG_ENDIAN
33
34/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
35 * group of arguments and treat it as an array of the arguments. */
36
37/* #define NO_ARG_ARRAY */
38
39/* Define WORD_MACHINE if addresses and such have
40 * to be corrected before they can be used as byte counts. */
41
42/* #define WORD_MACHINE */
43
44/* Now define a symbol for the cpu type, if your compiler
45 does not define it automatically:
46 Ones defined so far include vax, m68000, ns16000, pyramid,
47 orion, tahoe, APOLLO and many others */
48
49/* Use type int rather than a union, to represent Lisp_Object */
50/* This is desirable for most machines. */
51
52#define NO_UNION_TYPE
53
54/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
55 the 24-bit bit field into an int. In other words, if bit fields
56 are always unsigned.
57
58 If you use NO_UNION_TYPE, this flag does not matter. */
59
60#define EXPLICIT_SIGN_EXTEND
61
62/* Data type of load average, as read out of kmem. */
63
64/* #define LOAD_AVE_TYPE long */
65
66/* Convert that into an integer that is 100 for a load average of 1.0 */
67
68/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
69
70/* Define CANNOT_DUMP on machines where unexec does not work.
71 Then the function dump-emacs will not be defined
72 and temacs will do (load "loadup") automatically unless told otherwise. */
73
74/* #define CANNOT_DUMP */
75
76/* Define VIRT_ADDR_VARIES if the virtual addresses of
77 pure and impure space as loaded can vary, and even their
78 relative order cannot be relied on.
79
80 Otherwise Emacs assumes that text space precedes data space,
81 numerically. */
82
83/* #define VIRT_ADDR_VARIES */
84
85/* Define NO_REMAP if memory segmentation makes it not work well
86 to change the boundary between the text section and data section
87 when Emacs is dumped. If you define this, the preloaded Lisp
88 code will not be sharable; but that's better than failing completely. */
89
90#define NO_REMAP
91#define TERMINFO
92#define SWITCH_ENUM_BUG
93#define LIB_STANDARD -lc
94#define LD_SWITCH_MACHINE -X
95#define SECTION_ALIGNMENT (0x3ff)
96
97/* arch-tag: 42316eb5-74b2-4762-970a-e372c6a2783d
98 (do not change this comment) */
diff --git a/src/s/cxux.h b/src/s/cxux.h
deleted file mode 100644
index d5abebf1ae1..00000000000
--- a/src/s/cxux.h
+++ /dev/null
@@ -1,236 +0,0 @@
1/* Header file for Harris CXUX.
2 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/*
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
26 */
27
28/* #define UNIPLUS */
29#define USG5
30#define USG
31/* #define HPUX */
32/* #define UMAX */
33/* #define BSD4_1 */
34/* #define BSD4_2 */
35/* #define BSD4_3 */
36/* #define BSD_SYSTEM */
37/* #define VMS */
38
39#ifndef _CX_UX
40#define _CX_UX 1
41#endif
42
43/* Define this symbol if you are running CX/UX 7.0 or later (7.0 introduced
44 * support for ELF files, and while we still build emacs in COFF format, the
45 * way it is linked is different for 7.0).
46 */
47/* #define USING_CX_UX_7 */
48
49#ifdef USING_CX_UX_7
50#define LINKER /usr/sde/coff/usr/bin/ld
51#define LD_SWITCH_SYSTEM -L/usr/sde/coff/usr/lib -zzero_word
52#define START_FILES pre-crt0.o /usr/sde/coff/usr/lib/crt0.o /usr/sde/coff/usr/lib/m88100.o
53#else /* !USING_CX_UX_7 */
54#ifdef _M88K
55#define START_FILES pre-crt0.o /lib/crt0.o
56#else
57#define START_FILES cxux-crt0.o /lib/crt0.o
58#endif
59#endif /* USING_CX_UX_7 */
60
61/* SYSTEM_TYPE should indicate the kind of system you are using.
62 It sets the Lisp variable system-type. */
63
64#define SYSTEM_TYPE "usg-unix-v"
65
66#define C_SWITCH_SYSTEM -Xa
67
68#define POSIX_SIGNALS
69
70/* With POSIX signals, also need to use sigaction rather than signal to
71 * setup signal handlers
72 */
73#define signal sys_signal
74
75/* NOMULTIPLEJOBS should be defined if your system's shell
76 does not have "job control" (the ability to stop a program,
77 run some other program, then continue the first one). */
78
79/* #define NOMULTIPLEJOBS */
80
81/* Emacs can read input using SIGIO and buffering characters itself,
82 or using CBREAK mode and making C-g cause SIGINT.
83 The choice is controlled by the variable interrupt_input.
84
85 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
86
87 Emacs uses the presence or absence of the SIGIO macro to indicate
88 whether or not signal-driven I/O is possible. It uses
89 INTERRUPT_INPUT to decide whether to use it by default.
90
91 SIGIO can be used only on systems that implement it (4.2 and 4.3).
92 CBREAK mode has two disadvantages
93 1) At least in 4.2, it is impossible to handle the Meta key properly.
94 I hear that in system V this problem does not exist.
95 2) Control-G causes output to be discarded.
96 I do not know whether this can be fixed in system V.
97
98 Another method of doing input is planned but not implemented.
99 It would have Emacs fork off a separate process
100 to read the input and send it to the true Emacs process
101 through a pipe. */
102
103#define INTERRUPT_INPUT
104/* #define BROKEN_FIONREAD */
105
106/* Letter to use in finding device name of first pty,
107 if system supports pty's. 'a' means it is /dev/ptya0 */
108
109#define FIRST_PTY_LETTER 'A'
110#define PTY_ITERATION for (c = 'A'; c <= 'P'; c++) for (i = 0; i < 16; i++)
111
112/*
113 * Define HAVE_TERMIOS if the system provides POSIX-style
114 * functions and macros for terminal control.
115 *
116 * Define HAVE_TERMIO if the system provides sysV-style ioctls
117 * for terminal control.
118 *
119 * Do not define both. HAVE_TERMIOS is preferred, if it is
120 * supported on your system.
121 */
122
123#define HAVE_TERMIOS
124/* #define HAVE_TERMIO */
125#define NO_TERMIO
126
127/*
128 * Define HAVE_PTYS if the system supports pty devices.
129 */
130
131#define HAVE_PTYS
132
133/*
134 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
135 * The 4.2 opendir, etc., library functions.
136 */
137
138/* #define NONSYSTEM_DIR_LIBRARY */
139
140#define SYSV_SYSTEM_DIR
141
142/* Define this symbol if your system has the functions bcopy, etc. */
143
144#define BSTRING
145
146/* subprocesses should be defined if you want to
147 have code for asynchronous subprocesses
148 (as used in M-x compile and M-x shell).
149 This is generally OS dependent, and not supported
150 under most USG systems. */
151
152#define subprocesses
153
154/* If your system uses COFF (Common Object File Format) then define the
155 preprocessor symbol "COFF". */
156
157#define COFF
158
159/* define MAIL_USE_FLOCK if the mailer uses flock
160 to interlock access to /usr/spool/mail/$USER.
161 The alternative is that a lock file named
162 /usr/spool/mail/$USER.lock. */
163
164#define MAIL_USE_FLOCK
165
166/* Define CLASH_DETECTION if you want lock files to be written
167 so that Emacs can tell instantly when you try to modify
168 a file that someone else has modified in his Emacs. */
169
170#define CLASH_DETECTION
171
172/* Define this if your operating system declares signal handlers to
173 have a type other than the usual. `The usual' is `void' for ANSI C
174 systems (i.e. when the __STDC__ macro is defined), and `int' for
175 pre-ANSI systems. If you're using GCC on an older system, __STDC__
176 will be defined, but the system's include files will still say that
177 signal returns int or whatever; in situations like that, define
178 this to be what the system's include files want. */
179/* #define SIGTYPE int */
180#define SIGTYPE void
181
182/* If the character used to separate elements of the executable path
183 is not ':', #define this to be the appropriate character constant. */
184/* #define SEPCHAR ':' */
185
186/* Here, on a separate page, add any special hacks needed
187 to make Emacs work on this system. For example,
188 you might define certain system call names that don't
189 exist on your system, or that do different things on
190 your system and must be used only through an encapsulation
191 (Which you should place, by convention, in sysdep.c). */
192
193/* Yes! The Night Hawk has sockets! */
194
195#define HAVE_SOCKETS
196
197/* The symbol in the kernel where the load average is found
198 is named _avenrun. */
199
200#define LDAV_SYMBOL "_avenrun"
201
202#define KERNEL_FILE "/unix"
203
204/* There are too many kludges required to redefine malloc - use the system
205 one */
206#define SYSTEM_MALLOC
207
208#define _setjmp setjmp
209#define _longjmp longjmp
210
211/* const really does work, but I can't get configure to run the C compiler
212 * with the right options so it figures that out.
213 */
214#undef const
215
216#ifdef sigmask
217#undef sigmask
218#endif
219
220/*
221 * <pwd.h> already declares getpwuid, and with a uid_t argument in ANSI C
222 * mode. Define this so xrdb.c will compile
223 */
224#ifdef __STDC__
225#define DECLARE_GETPWUID_WITH_UID_T
226#endif
227
228/* Some compilers tend to put everything declared static
229 into the initialized data area, which becomes pure after dumping Emacs.
230 On these systems, you must #define static as nothing to foil this.
231 Note that emacs carefully avoids static vars inside functions. */
232
233/* #define static */
234
235/* arch-tag: 5febe5fe-f0b0-49cb-9280-9d5a9fa43710
236 (do not change this comment) */
diff --git a/src/s/cxux7.h b/src/s/cxux7.h
deleted file mode 100644
index b9ecf45f6bb..00000000000
--- a/src/s/cxux7.h
+++ /dev/null
@@ -1,10 +0,0 @@
1/* Define this symbol if you are running CX/UX 7.0 or later (7.0 introduced
2 * support for ELF files, and while we still build emacs in COFF format, the
3 * way it is linked is different for 7.0).
4 */
5#define USING_CX_UX_7
6
7#include "cxux.h"
8
9/* arch-tag: 520cfbad-fd5c-4b3b-ace4-66e9bcd31a60
10 (do not change this comment) */
diff --git a/src/s/dgux.h b/src/s/dgux.h
deleted file mode 100644
index f7ce0a6fd38..00000000000
--- a/src/s/dgux.h
+++ /dev/null
@@ -1,355 +0,0 @@
1/* Definitions file for GNU Emacs running on Data General's DG/UX
2 version 4.32 upto and including 5.4.1.
3 Copyright (C) 1994, 1999, 2001, 2002, 2003, 2004,
4 2005, 2006, 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23/*
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
26 */
27
28/* #define UNIPLUS */
29/* #define USG5 */
30/* #define USG */
31/* #define HPUX */
32/* #define UMAX */
33/* #define BSD4_1 */
34#define BSD4_2
35#define BSD4_3
36#define BSD4_4
37#define BSD_SYSTEM
38
39/* SYSTEM_TYPE should indicate the kind of system you are using.
40 It sets the Lisp variable system-type. */
41
42#define SYSTEM_TYPE "dgux"
43
44/* NOMULTIPLEJOBS should be defined if your system's shell
45 does not have "job control" (the ability to stop a program,
46 run some other program, then continue the first one). */
47
48/* #define NOMULTIPLEJOBS */
49
50/* Emacs can read input using SIGIO and buffering characters itself,
51 or using CBREAK mode and making C-g cause SIGINT.
52 The choice is controlled by the variable interrupt_input.
53 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
54
55 SIGIO can be used only on systems that implement it (4.2 and 4.3).
56 CBREAK mode has two disadvantages
57 1) At least in 4.2, it is impossible to handle the Meta key properly.
58 I hear that in system V this problem does not exist.
59 2) Control-G causes output to be discarded.
60 I do not know whether this can be fixed in system V.
61
62 Another method of doing input is planned but not implemented.
63 It would have Emacs fork off a separate process
64 to read the input and send it to the true Emacs process
65 through a pipe.
66
67*/
68
69#define INTERRUPT_INPUT
70
71/*
72 * Define HAVE_SOCKETS if the system supports sockets.
73 */
74
75#define HAVE_SOCKETS
76
77/*
78 * Define HAVE_UNIX_DOMAIN if the system supports Unix
79 * domain sockets.
80 */
81
82#define HAVE_UNIX_DOMAIN
83
84/*
85 * Define HAVE_PTYS if the system supports pty devices.
86 */
87
88#define HAVE_PTYS
89
90/*
91 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
92 * The 4.2 opendir, etc., library functions.
93 */
94
95/* #define NONSYSTEM_DIR_LIBRARY */
96
97/* Define this symbol if your system has the functions bcopy, etc. */
98
99#define BSTRING
100
101/* subprocesses should be defined if you want to
102 have code for asynchronous subprocesses
103 (as used in M-x compile and M-x shell).
104 This is generally OS dependent, and not supported
105 under most USG systems. */
106
107#define subprocesses
108
109/* If your system uses COFF (Common Object File Format) then define the
110 preprocessor symbol "COFF".
111
112 DGUX can use either COFF or ELF; the default is ELF.
113 To compile for COFF (or BCS) use the TARGET_BINARY_INTERFACE
114 environment variable. */
115
116#if defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET)
117#undef ELF
118#ifndef COFF
119#define COFF
120#endif /* COFF */
121#else /* defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) */
122#undef COFF
123#ifndef ELF
124#define ELF
125#endif /* ELF */
126#endif /* defined(_DGUXCOFF_TARGET) || defined(_DGUXBCS_TARGET) */
127
128#ifndef COFF /* People will probably find this apparently unreliable
129 till the NFS dumping bug is fixed. */
130
131/* It is possible to undump to ELF with DG/UX 5.4, but for revisions below
132 5.4.1 the undump MUST be done on a local file system, or the kernel will
133 panic. ELF executables have the advantage of using shared libraries,
134 while COFF executables will still work on 4.2x systems. */
135
136#define UNEXEC unexelf.o
137
138/* This makes sure that all segments in the executable are undumped,
139 not just text, data, and bss. In the case of Mxdb and shared
140 libraries, additional information is stored in other sections.
141 It does not hurt to have this defined if you don't use Mxdb or
142 shared libraries. In fact, it makes no difference. */
143
144/* Necessary for shared libraries and Mxdb debugging information. */
145#define USG_SHARED_LIBRARIES
146#endif
147
148/* define MAIL_USE_FLOCK if the mailer uses flock
149 to interlock access to /usr/spool/mail/$USER.
150 The alternative is that a lock file named
151 /usr/spool/mail/$USER.lock. */
152
153/* #define MAIL_USE_FLOCK */
154
155/* Define CLASH_DETECTION if you want lock files to be written
156 so that Emacs can tell instantly when you try to modify
157 a file that someone else has modified in his Emacs. */
158
159/* #define CLASH_DETECTION */
160
161/* Define a replacement for the baud rate switch, since DG/UX uses a different
162 from BSD. */
163
164#define BAUD_CONVERT { 0, 110, 134, 150, 300, 600, 1200, 1800, 2400, \
165 4800, 9600, 19200, 38400 }
166
167/*
168 * Make WM Interface Compliant.
169 */
170
171#define XICCC
172
173/* Here, on a separate page, add any special hacks needed
174 to make Emacs work on this system. For example,
175 you might define certain system call names that don't
176 exist on your system, or that do different things on
177 your system and must be used only through an encapsulation
178 (Which you should place, by convention, in sysdep.c). */
179
180/* Some compilers tend to put everything declared static
181 into the initialized data area, which becomes pure after dumping Emacs.
182 On these systems, you must #define static as nothing to foil this.
183 Note that emacs carefully avoids static vars inside functions. */
184
185/* #define static */
186
187/* DG/UX SPECIFIC ADDITIONS TO TEMPLATE FOLLOW: */
188
189/* Use the Berkeley flavors of the library routines, instead of System V. */
190
191#define setpgrp(pid,pgrp) setpgrp2(pid,pgrp)
192#define getpgrp(pid) getpgrp2(pid)
193
194/* Act like Berkeley. */
195
196#define _setjmp(env) sigsetjmp(env,0)
197#define _longjmp(env,val) longjmp(env,val)
198
199/* Use TERMINFO instead of termcap */
200
201#define TERMINFO
202
203/*
204 * Send signals to subprocesses using characters.
205 *
206 */
207
208#define SIGNALS_VIA_CHARACTERS
209
210/*
211 * Define HAVE_TERMIOS since this is POSIX,
212 * for terminal control. Prevent redundant inclusion of termio.h.
213 */
214
215#define HAVE_TERMIOS
216#define NO_TERMIO
217
218/*
219 * Use a Berkeley style sys/wait.h.
220 * This makes WIF* macros operate on structures instead of ints.
221 */
222
223#define _BSD_WAIT_FLAVOR
224
225/*
226 * Use BSD and POSIX-style signals. This is crucial!
227 */
228
229/* #define SYSTEM_MALLOC */
230
231/* MAKING_MAKEFILE must be defined in "ymakefile" before including config.h */
232#ifndef NOT_C_CODE
233
234/* Make sure signal.h is included so macros below don't mess with it. */
235/* DG/UX include files prevent multiple inclusion. */
236
237#include <signal.h>
238
239/* but undefine the sigmask and sigpause macros since they will get
240 #define'd later. */
241#undef sigmask
242#undef sigpause
243
244#define POSIX_SIGNALS
245
246#ifndef NO_DGUX_SIGNAL_REDEF
247/* Can't use sys_signal because then etc/server.c would need sysdep.o. */
248extern struct sigaction act, oact;
249#define signal(SIG,FUNC) berk_signal(SIG,FUNC)
250#endif
251
252#endif /* not NOT_C_CODE */
253
254#ifndef __GNUC__
255#error You must use GCC to compiler Emascs on DGUX
256#endif
257
258#define ORDINARY_LINK
259#define START_FILES pre-crt0.o
260#define LIB_GCC /usr/lib/gcc/libgcc.a
261
262#ifdef _M88KBCS_TARGET
263/* Karl Berry says: the environment
264 recommended by gcc (88/open, a.k.a. m88kbcs) doesn't support some system
265 functions, and gcc doesn't make it easy to switch environments. */
266#define NO_GET_LOAD_AVG
267#endif
268
269/* definitions for xmakefile production */
270#ifdef COFF
271
272/* Define the following to use all of the available pty's. */
273
274#define PTY_ITERATION \
275 for (c = 'p'; c < 't'; c++) \
276 for (i = 0; (((c == 'p') && (i < 64)) || ((c != 'p') && (i < 16))); i++)
277
278#define PTY_NAME_SPRINTF \
279 if (c == 'p') \
280 sprintf (pty_name, "/dev/pty%c%d", c, i); \
281 else \
282 sprintf (pty_name, "/dev/pty%c%x", c, i);
283
284#define PTY_TTY_NAME_SPRINTF \
285 if (c == 'p') \
286 sprintf (pty_name, "/dev/tty%c%d", c, i); \
287 else \
288 sprintf (pty_name, "/dev/tty%c%x", c, i);
289
290#define C_DEBUG_SWITCH -g
291
292#else /* not COFF */
293
294/* We are generating ELF object format. This makes the system more
295 SVR4 like. */
296
297#define SVR4
298
299/* Pseudo-terminal support under SVR4 only loops to deal with errors. */
300
301#define PTY_ITERATION for (i = 0; i < 1; i++)
302
303/* This sets the name of the master side of the PTY. */
304
305#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
306
307/* This sets the name of the slave side of the PTY. On SysVr4,
308 grantpt(3) forks a subprocess, so keep sigchld_handler() from
309 intercepting that death. If any child but grantpt's should die
310 within, it should be caught after sigrelse(2). */
311
312#define PTY_TTY_NAME_SPRINTF \
313 { \
314 char *ptsname(), *ptyname; \
315 \
316 sigblock(sigmask(SIGCLD)); \
317 if (grantpt(fd) == -1) \
318 fatal("could not grant slave pty"); \
319 sigunblock(sigmask(SIGCLD)); \
320 if (unlockpt(fd) == -1) \
321 fatal("could not unlock slave pty"); \
322 if (!(ptyname = ptsname(fd))) \
323 fatal ("could not enable slave pty"); \
324 strncpy(pty_name, ptyname, sizeof(pty_name)); \
325 pty_name[sizeof(pty_name) - 1] = 0; \
326 }
327
328/* Push various streams modules onto a PTY channel. */
329
330#define SETUP_SLAVE_PTY \
331 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \
332 fatal ("ioctl I_PUSH ptem", errno); \
333 if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \
334 fatal ("ioctl I_PUSH ldterm", errno); \
335 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
336 fatal ("ioctl I_PUSH ttcompat", errno);
337
338#ifdef __GNUC__
339#define C_DEBUG_SWITCH -g -V2 -mversion-03.00 -mstandard
340#endif
341
342#endif /* ELF */
343
344/* Extra stuff which probably should be someplace else but is here out
345 of expediency. */
346
347#define LIB_X11_LIB -lX11
348#define LIB_MOTIF -lXm -lgen
349
350/* Process groups work in the traditional BSD manner. */
351
352#define BSD_PGRPS
353
354/* arch-tag: 1b6d117d-82d2-4480-a6d0-3f7a8360f658
355 (do not change this comment) */
diff --git a/src/s/dgux4.h b/src/s/dgux4.h
deleted file mode 100644
index bf5a1b0e597..00000000000
--- a/src/s/dgux4.h
+++ /dev/null
@@ -1,144 +0,0 @@
1/* Definitions file for GNU Emacs running on Data General's DG/UX
2 Release 4.10 and above.
3 Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
4 2006, 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23/* This file was written by Roderick Schertler <roderick@ibcinc.com>,
24 contact me if you have problems with or comments about running Emacs
25 on dgux.
26
27 A number of things in the older dgux*.h files don't make sense to me,
28 but since I'm relying on memory and I don't have any older dgux
29 systems installed on which to test changes I'm undoing or fixing them
30 here rather than fixing them at the source. */
31
32/* In dgux.h it says "Can't use sys_signal because then etc/server.c
33 would need sysdep.o." and then it #defines signal() to be
34 berk_signal(), but emacsserver.c does `#undef signal' anyway, so that
35 doesn't make sense.
36
37 Further, sys_signal() in sysdep.c already had a special case for
38 #ifdef DGUX, it called berk_signal() explicitly. I've removed that
39 special case because it also didn't make sense: All versions of dgux
40 which the dgux*.h headers take into account have POSIX signals
41 (POSIX_SIGNALS is #defined in dgux.h). The comments in sys_signal()
42 even acknowledged this (saying that the special berk_signal() case
43 wasn't really necessary), they said that sys_signal() was using
44 berk_signal() instead of sigaction() for efficiency. Since both give
45 reliable signals neither has to be invoked within the handler. If
46 the efficiency that the comments were talking about is the overhead
47 of setting up the sigaction struct rather than just passing the
48 function pointer in (which is the only efficiency I can think of)
49 then that's a needless optimization, the Emacs sources do better
50 without the special case.
51
52 The following definition will prevent dgux.h from re-defining
53 signal(). I can't just say `#undef signal' after including dgux.h
54 because signal() is already a macro, defined in <sys/signal.h>, and
55 the original definition would be lost. */
56#define NO_DGUX_SIGNAL_REDEF
57
58#include "dgux5-4-3.h"
59
60#define LIBS_DEBUG /* nothing, -lg doesn't exist */
61#define LIBS_SYSTEM -lsocket -lnsl
62
63#ifndef NOT_C_CODE
64
65/* dgux.h defines _setjmp() to be sigsetjmp(), but it defines _longjmp
66 to be longjmp() rather than siglongjmp(). Further, it doesn't define
67 jmp_buf, so sigsetjmp() is being called with a jmp_buf rather than a
68 sigjmp_buf, and the buffer is then passed to vanilla longjmp(). This
69 provides a more complete emulation of the Berkeley semantics. */
70
71#include <setjmp.h>
72#undef jmp_buf
73#undef _setjmp
74#undef setjmp
75#undef _longjmp
76#undef longjmp
77#define jmp_buf sigjmp_buf
78#define _setjmp(env) sigsetjmp(env, 0)
79#define setjmp(env) sigsetjmp(env, 1)
80#define _longjmp siglongjmp
81#define longjmp siglongjmp
82
83/* The BAUD_CONVERT definition in dgux.h is wrong with this version
84 of dgux, but I'm not sure when it changed.
85
86 With the current system Emacs' standard handling of ospeed and
87 baud_rate don't work. The baud values (B9600 and so on) returned by
88 cfgetospeed() aren't compatible with those used by ospeed. speed_t,
89 the type returned by cfgetospeed(), is unsigned long and speed_t
90 values are large. Further, it isn't possible to get at both the
91 SysV3 (ospeed) and POSIX (cfgetospeed()) values through symbolic
92 constants simultaneously because they both use the same names
93 (B9600). To get both baud_rate and ospeed right at the same time
94 it's necessary to hardcode the values for one set of values, here I'm
95 hardcoding ospeed. */
96#undef BAUD_CONVERT
97#define INIT_BAUD_RATE() \
98 struct termios sg; \
99 \
100 tcgetattr (input_fd, &sg); \
101 switch (cfgetospeed (&sg)) { \
102 case B50: baud_rate = 50; ospeed = 0x1; break; \
103 case B75: baud_rate = 75; ospeed = 0x2; break; \
104 case B110: baud_rate = 110; ospeed = 0x3; break; \
105 case B134: baud_rate = 134; ospeed = 0x4; break; \
106 case B150: baud_rate = 150; ospeed = 0x5; break; \
107 case B200: baud_rate = 200; ospeed = 0x6; break; \
108 case B300: baud_rate = 300; ospeed = 0x7; break; \
109 case B600: baud_rate = 600; ospeed = 0x8; break; \
110 default: \
111 case B1200: baud_rate = 1200; ospeed = 0x9; break; \
112 case B1800: baud_rate = 1800; ospeed = 0xa; break; \
113 case B2400: baud_rate = 2400; ospeed = 0xb; break; \
114 case B4800: baud_rate = 4800; ospeed = 0xc; break; \
115 case B9600: baud_rate = 9600; ospeed = 0xd; break; \
116 case B19200: baud_rate = 19200; ospeed = 0xe; break; \
117 case B38400: baud_rate = 38400; ospeed = 0xf; break; \
118 } \
119 return;
120
121
122#if 0 /* Ehud Karni <ehud@unix.simonwiesel.co.il> says that the problem
123 still exists on m88k-dg-dguxR4.11MU04 and i586-dg-dguxR4.11MU04. */
124/* The `stop on tty output' problem which occurs when using
125 INTERRUPT_INPUT and when Emacs is invoked under X11 using a job
126 control shell (csh, ksh, etc.) in the background doesn't look to be
127 present in R4.11. (At least, I can't reproduce it using jsh, csh,
128 ksh or zsh.) */
129#undef BROKEN_FIONREAD
130#define INTERRUPT_INPUT
131#endif /* 0 - never */
132
133/* In R4.11 (or maybe R4.10, I don't have a system with that version
134 loaded) some of the internal stdio semantics were changed. One I
135 found while working on MH is that _cnt has to be 0 before _filbuf()
136 is called. Another is that (_ptr - _base) doesn't indicate how many
137 characters are waiting to be sent. I can't spot a good way to get
138 that info from the FILE internals. */
139#define PENDING_OUTPUT_COUNT(FILE) (1)
140
141#endif /* NOT_C_CODE */
142
143/* arch-tag: c7013e7b-6e2e-44f2-ba61-90b6d5e2ea45
144 (do not change this comment) */
diff --git a/src/s/dgux5-4-3.h b/src/s/dgux5-4-3.h
deleted file mode 100644
index d959b8c6f1b..00000000000
--- a/src/s/dgux5-4-3.h
+++ /dev/null
@@ -1,68 +0,0 @@
1/* Definitions file for GNU Emacs running on Data General's DG/UX
2 version 5.4 Release 3.00 and above.
3 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
4 2006, 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23/* NOTE: DGUX5.4R3.00 will not build with the delivered gcc-2.4.5
24 compiler. You must upgraded to at least gcc-2.5.8. If you are
25 running DGUX 5.4R3.00 check on the system dg-rtp.dg.com:/pub/gnu
26 for gcc-2.5.8 or later compiler.
27 -pmr@pajato.com */
28
29#include "dgux5-4r2.h"
30
31/* DGUX 5.4R3.00 brought the definition of `struct inet_addr' into
32 compliance with the majority of Unix systems. The workaround
33 introduced in 5.4R2 is no longer necessary. */
34
35#ifdef HAVE_BROKEN_INET_ADDR
36#undef HAVE_BROKEN_INET_ADDR
37#endif
38
39/* The `stop on tty output' problem which occurs when using
40 INTERRUPT_INPUT and when Emacs is invoked under X11 using a job
41 control shell (csh, ksh, etc.) in the background has not been fixed in
42 DGUX 5.4R3.00.
43 -pmr@pajato.com */
44
45#if 0
46#ifdef BROKEN_FIONREAD
47#undef BROKEN_FIONREAD
48#endif
49#ifndef INTERRUPT_INPUT
50#define INTERRUPT_INPUT
51#endif
52#endif
53
54/* Under DGUX 5.4R3.00, getting a debuggable executable has been
55 greatly simplified and applies to either COFF or ELF
56 environments. */
57
58#ifdef C_DEBUG_SWITCH
59#undef C_DEBUG_SWITCH
60#define C_DEBUG_SWITCH -g
61#endif
62
63/* This is needed according to Ehud Karni <ehud@unix.simonwiesel.co.il>
64 for m88k-dg-dgux5.4R3.10. */
65#undef BSD_PGRPS
66
67/* arch-tag: c11938c9-0cb0-4652-88aa-7eb80bf1cda9
68 (do not change this comment) */
diff --git a/src/s/dgux5-4r2.h b/src/s/dgux5-4r2.h
deleted file mode 100644
index 570e90e9ac1..00000000000
--- a/src/s/dgux5-4r2.h
+++ /dev/null
@@ -1,51 +0,0 @@
1/* Definitions file for GNU Emacs running on Data General's DG/UX
2 5.4 Release 2.xx systems.
3 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
4 2006, 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23#include "dgux.h"
24
25/* There is a known kernel bug in DGUX 5.4R2.xx when using
26 INTERRUPT_INPUT and invoking Emacs with a job control shell (csh,
27 ksh, etc.) in the background. This bug manifests itself by
28 outputting `stop on tty output' and hanging. The workaround is to
29 set BROKEN_FIONREAD.
30 -pmr@pajato.com */
31
32#ifndef BROKEN_FIONREAD
33#define BROKEN_FIONREAD
34#endif
35#ifdef INTERRUPT_INPUT
36#undef INTERRUPT_INPUT
37#endif
38
39/* In DGUX 5.4R2.xx the function inet_addr() returns a `struct
40 in_addr' instead of the more common `unsigned long'.
41 -pmr@pajato.com */
42
43#define HAVE_BROKEN_INET_ADDR
44
45#if 0 /* Shawn M. Carey <smcarey@mailbox.syr.edu> found this
46 caused trouble on DGUX 5.4.2. */
47#define LIBS_SYSTEM -ldgc
48#endif
49
50/* arch-tag: a14f4043-6caa-4f01-a9b9-ae0fb0d2c96e
51 (do not change this comment) */
diff --git a/src/s/esix.h b/src/s/esix.h
deleted file mode 100644
index 357e7736476..00000000000
--- a/src/s/esix.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/* Definitions for ESIX, a variant of v.5.3 for the 386. */
2/* These are based on reports for ESIX 5.3.2 D. */
3
4#include "usg5-3.h"
5
6/* Some versions of V.3 have this, but not all. ESIX does. */
7#define HAVE_PTYS
8#define SYSV_PTYS
9
10/* Have -lg be used for debugging. */
11#undef LIBS_DEBUG
12#define LIBS_DEBUG -lg
13
14/* If using Roell's X server, define X11R4 */
15#ifdef X11R4 /* Roell's X server */
16#define select sys_select /* Emacs select() not good enough? */
17#undef LIBX11_SYSTEM
18#define LIBX11_SYSTEM -lpt
19#endif /* X11R4 */
20
21/* ESIX does not need <sys/sioctl.h>, but needs <sys/ptem.h> */
22#define NO_SIOCTL_H
23#define NEED_PTEM_H
24#define BROKEN_FIONREAD
25
26/* arch-tag: d66e6a70-0812-437d-aa35-9b01bd474941
27 (do not change this comment) */
diff --git a/src/s/esix5r4.h b/src/s/esix5r4.h
deleted file mode 100644
index 4240f3d7f4a..00000000000
--- a/src/s/esix5r4.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/* Definitions for ESIX System V 4.0.4, a variant of V.4 for the 386. */
2/* Redone by zircon!joe@uunet.uu.net (Joe Kelsey). */
3
4#include "usg5-4.h"
5
6#define SYSTEM_MALLOC 1
7#if defined (HAVE_XFREE386)
8# undef LIB_STANDARD
9# define LIB_STANDARD -lc
10#else
11# define LIB_X11_LIB -lsocket -lc -lX11
12# undef LIB_STANDARD
13# ifdef ORDINARY_LINK
14# define LIB_STANDARD -lnsl -lns -lelf /usr/ucblib/libucb.a
15# else
16# define LIB_STANDARD -lnsl -lns -lelf /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o
17# endif
18
19/* Resolve BSD string functions in X Window library from libucb.a. */
20# define BSTRING
21
22/* zircon!joe says this makes X windows work. */
23# define BROKEN_FIONREAD
24#endif
25
26/* arch-tag: 2d314ae9-0357-4ddf-96e5-cf821071ba4b
27 (do not change this comment) */
diff --git a/src/s/hiuxmpp.h b/src/s/hiuxmpp.h
deleted file mode 100644
index 7538adb1634..00000000000
--- a/src/s/hiuxmpp.h
+++ /dev/null
@@ -1,67 +0,0 @@
1/* System description file for HI-UX.
2
3Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
4 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24#define BSD 198911 /* system version (year & month) */
25#define DBL_DIG 15 /* same as the definition of <float.h> */
26#include "bsd4-3.h"
27
28/* Identify OSF1 for the m- files. */
29
30#define OSF1
31
32/* To avoid to include the non-existant header file <sys/vlimit.h>,
33 we define BSD4_2.
34 This definition does not mean that the OS is based on BSD 4.2. */
35#define BSD4_2
36
37/* Define _BSD to tell the include files we're running under
38 the BSD universe and not the SYSV universe.
39 Define HITACHI and OSF for Xt's Boolean type as int intead of char.
40 (But for these defines, /usr/include/X11/Intrinsic.h defines
41 Boolean as char, but libXt.a on HI-UX/MPP requires it as int.) */
42
43#define C_SWITCH_SYSTEM -D_BSD -DHITACHI -DOSF
44#define LIBS_SYSTEM -lbsd
45
46#define GETPGRP_NO_ARG
47
48#define SYSV_SYSTEM_DIR
49
50/* If your system uses COFF (Common Object File Format) then define the
51 preprocessor symbol "COFF". */
52
53/* #define COFF */
54
55/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
56 says where to find X windows at run time. We convert it to a -rpath option
57 which is what OSF1 uses. */
58#define LD_SWITCH_SYSTEM
59
60#undef KERNEL_FILE
61#define KERNEL_FILE "/mach_kernel"
62
63#undef LDAV_SYMBOL
64#define LDAV_SYMBOL "avenrun"
65
66/* arch-tag: c5422584-cd86-4e10-8089-9f604523dab7
67 (do not change this comment) */
diff --git a/src/s/hiuxwe2.h b/src/s/hiuxwe2.h
deleted file mode 100644
index 418ea14cc99..00000000000
--- a/src/s/hiuxwe2.h
+++ /dev/null
@@ -1,67 +0,0 @@
1/* System description file for HI-UX.
2
3Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006,
4 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24#define BSD 198911 /* system version (year & month) */
25#define DBL_DIG 15 /* same as the definition of <float.h> */
26#include "bsd4-3.h"
27
28/* Identify OSF1 for the m- files. */
29
30#define OSF1
31
32/* To avoid to include the non-existant header file <sys/vlimit.h>,
33 we define BSD4_2.
34 This definition does not mean that the OS is based on BSD 4.2. */
35#define BSD4_2
36
37/* Define _BSD to tell the include files we're running under
38 the BSD universe and not the SYSV universe.
39 Define HITACHI and OSF for Xt's Boolean type as int intead of char.
40 (But for these defines, /usr/include/X11/Intrinsic.h defines
41 Boolean as char, but libXt.a on HI-UX/MPP requires it as int.) */
42
43#define C_SWITCH_SYSTEM -D_BSD -DHITACHI -DOSF
44#define LIBS_SYSTEM -lbsd
45
46#define GETPGRP_NO_ARG
47
48#define SYSV_SYSTEM_DIR
49
50/* If your system uses COFF (Common Object File Format) then define the
51 preprocessor symbol "COFF". */
52
53/* #define COFF */
54
55/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
56 says where to find X windows at run time. We convert it to a -rpath option
57 which is what OSF1 uses. */
58#define LD_SWITCH_SYSTEM
59
60#undef KERNEL_FILE
61#define KERNEL_FILE "/mach_kernel"
62
63#undef LDAV_SYMBOL
64#define LDAV_SYMBOL "avenrun"
65
66/* arch-tag: c56449e1-6d1b-4537-a596-0b08b8e4ec73
67 (do not change this comment) */
diff --git a/src/s/iris3-5.h b/src/s/iris3-5.h
deleted file mode 100644
index c3d16cbf611..00000000000
--- a/src/s/iris3-5.h
+++ /dev/null
@@ -1,166 +0,0 @@
1/* Definitions file for GNU Emacs running on Silicon Graphics 3.5
2 Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/*
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
26 */
27
28#define USG
29#define USG5
30#define IRIS
31
32/* SYSTEM_TYPE should indicate the kind of system you are using.
33 It sets the Lisp variable system-type. */
34
35#define SYSTEM_TYPE "irix"
36
37/* nomultiplejobs should be defined if your system's shell
38 does not have "job control" (the ability to stop a program,
39 run some other program, then continue the first one). */
40
41#define NOMULTIPLEJOBS
42
43/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
44
45/* #define INTERRUPT_INPUT */
46
47/* Letter to use in finding device name of first pty,
48 if system supports pty's. 'a' means it is /dev/ptya0 */
49
50#define FIRST_PTY_LETTER 'a'
51
52/*
53 * Define HAVE_TERMIO if the system provides sysV-style ioctls
54 * for terminal control.
55 */
56
57#define HAVE_TERMIO
58
59/*
60 * Define HAVE_PTYS if the system supports pty devices.
61 */
62
63#define HAVE_PTYS
64
65/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
66
67#define HAVE_SOCKETS
68
69/*
70 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
71 * The 4.2 opendir, etc., library functions.
72 */
73
74/* #define NONSYSTEM_DIR_LIBRARY */
75
76/* Define this symbol if your system has the functions bcopy, etc. */
77
78#define BSTRING
79
80/* subprocesses should be defined if you want to
81 have code for asynchronous subprocesses
82 (as used in M-x compile and M-x shell).
83 This is generally OS dependent, and not supported
84 under most USG systems. */
85
86#define subprocesses
87
88/* If your system uses COFF (Common Object File Format) then define the
89 preprocessor symbol "COFF". */
90
91/* #define COFF */
92
93/* define MAIL_USE_FLOCK if the mailer uses flock
94 to interlock access to /usr/spool/mail/$USER.
95 The alternative is that a lock file named
96 /usr/spool/mail/$USER.lock. */
97
98#define MAIL_USE_FLOCK
99
100/* Define CLASH_DETECTION if you want lock files to be written
101 so that Emacs can tell instantly when you try to modify
102 a file that someone else has modified in his Emacs. */
103
104/* #define CLASH_DETECTION */
105
106/* The file containing the kernel's symbol table is called /vmunix. */
107
108#define KERNEL_FILE "/vmunix"
109
110/* The symbol in the kernel where the load average is found
111 is named _avenrun. */
112
113#define LDAV_SYMBOL "_avenrun"
114
115
116/* Special hacks needed to make Emacs run on this system. */
117
118/*
119 * Make the sigsetmask function go away. Don't know what the
120 * ramifications of this are, but doesn't seem possible to
121 * emulate it properly anyway at this point.
122 */
123
124#define sigsetmask(mask) /* Null expansion */
125
126/* The IRIS defines SIGIO in signal.h, but doesn't implement it. */
127#define BROKEN_SIGIO
128
129#define LIBS_MACHINE -lbsd -ldbm -lPW
130#define C_SWITCH_MACHINE -I/usr/include/bsd
131
132/* setjmp and longjmp can safely replace _setjmp and _longjmp,
133 but they will run slower. */
134
135#define _setjmp setjmp
136#define _longjmp longjmp
137
138/* On USG systems these have different names */
139
140#define index strchr
141#define rindex strrchr
142
143/* USG systems tend to put everything declared static
144 into the initialized data area, which becomes pure after dumping Emacs.
145 Foil this. Emacs carefully avoids static vars inside functions. */
146
147/* #define static */
148
149/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
150
151#define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
152
153/* some errno.h's don't actually allocate the variable itself */
154
155#define NEED_ERRNO
156
157/* The symbol FIONREAD is defined, but the feature does not work. */
158
159#define BROKEN_FIONREAD
160
161/* This is how to get the device name of the tty end of a pty. */
162#define PTY_TTY_NAME_SPRINTF \
163 sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));
164
165/* arch-tag: 41161051-477f-44be-bb2a-0eead3142157
166 (do not change this comment) */
diff --git a/src/s/iris3-6.h b/src/s/iris3-6.h
deleted file mode 100644
index 85a13167ed0..00000000000
--- a/src/s/iris3-6.h
+++ /dev/null
@@ -1,163 +0,0 @@
1/* Definitions file for GNU Emacs running on Silicon Graphics system 3.6.
2 Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/*
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
26 */
27
28#define USG
29#define USG5
30#define IRIS
31
32/* SYSTEM_TYPE should indicate the kind of system you are using.
33 It sets the Lisp variable system-type. */
34
35#define SYSTEM_TYPE "irix"
36
37/* nomultiplejobs should be defined if your system's shell
38 does not have "job control" (the ability to stop a program,
39 run some other program, then continue the first one). */
40
41#define NOMULTIPLEJOBS
42
43/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
44
45/* #define INTERRUPT_INPUT */
46
47/* Letter to use in finding device name of first pty,
48 if system supports pty's. 'a' means it is /dev/ptya0 */
49
50#define FIRST_PTY_LETTER 'a'
51
52/*
53 * Define HAVE_TERMIO if the system provides sysV-style ioctls
54 * for terminal control.
55 */
56
57#define HAVE_TERMIO
58
59/*
60 * Define HAVE_PTYS if the system supports pty devices.
61 */
62
63#define HAVE_PTYS
64
65/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
66
67#define HAVE_SOCKETS
68
69/*
70 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
71 * The 4.2 opendir, etc., library functions.
72 */
73
74/* #define NONSYSTEM_DIR_LIBRARY */
75
76/* Define this symbol if your system has the functions bcopy, etc. */
77
78#define BSTRING
79
80/* subprocesses should be defined if you want to
81 have code for asynchronous subprocesses
82 (as used in M-x compile and M-x shell).
83 This is generally OS dependent, and not supported
84 under most USG systems. */
85
86#define subprocesses
87
88/* If your system uses COFF (Common Object File Format) then define the
89 preprocessor symbol "COFF". */
90
91/* #define COFF */
92
93/* define MAIL_USE_FLOCK if the mailer uses flock
94 to interlock access to /usr/spool/mail/$USER.
95 The alternative is that a lock file named
96 /usr/spool/mail/$USER.lock. */
97
98#define MAIL_USE_FLOCK
99
100/* Define CLASH_DETECTION if you want lock files to be written
101 so that Emacs can tell instantly when you try to modify
102 a file that someone else has modified in his Emacs. */
103
104/* #define CLASH_DETECTION */
105
106/* The file containing the kernel's symbol table is called /vmunix. */
107
108#define KERNEL_FILE "/vmunix"
109
110/* The symbol in the kernel where the load average is found
111 is named _avenrun. */
112
113#define LDAV_SYMBOL "_avenrun"
114
115
116/* Special hacks needed to make Emacs run on this system. */
117
118/*
119 * Make the sigsetmask function go away. Don't know what the
120 * ramifications of this are, but doesn't seem possible to
121 * emulate it properly anyway at this point.
122 */
123
124#define sigsetmask(mask) /* Null expansion */
125#define sigblock(x) x
126
127/* The IRIS defines SIGIO in signal.h, but doesn't implement it. */
128#define BROKEN_SIGIO
129
130#define LIBS_MACHINE -lbsd -ldbm -lPW
131#define C_SWITCH_MACHINE -I/usr/include/bsd
132
133/* setjmp and longjmp can safely replace _setjmp and _longjmp,
134 but they will run slower. */
135
136#define _setjmp setjmp
137#define _longjmp longjmp
138
139/* On USG systems these have different names */
140
141#define index strchr
142#define rindex strrchr
143
144/* USG systems tend to put everything declared static
145 into the initialized data area, which becomes pure after dumping Emacs.
146 Foil this. Emacs carefully avoids static vars inside functions. */
147
148/* #define static */
149
150/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
151
152#define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
153
154/* some errno.h's don't actually allocate the variable itself */
155
156#define NEED_ERRNO
157
158/* This is how to get the device name of the tty end of a pty. */
159#define PTY_TTY_NAME_SPRINTF \
160 sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));
161
162/* arch-tag: cdf2033e-a2d5-43e1-a1a2-a7243cf41a11
163 (do not change this comment) */
diff --git a/src/s/isc2-2.h b/src/s/isc2-2.h
deleted file mode 100644
index 34c79f17ea1..00000000000
--- a/src/s/isc2-2.h
+++ /dev/null
@@ -1,100 +0,0 @@
1/* system description file for Interactive (ISC) Unix version 2.2 on the 386.
2
3 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24#include "usg5-3.h"
25
26/* select (in -linet) works okay on X ptys, but not on the serial port.
27 karl@cs.umb.edu says that with that select call, subprocesses made by
28 (e.g.) M-x grep don't exit cleanly, they just hang. Similar problems
29 have been observed in ISC 3.0. */
30#define BROKEN_SELECT_NON_X
31
32/* karl@cs.umb.edu says that ISC's socket support (in -linet) isn't
33 what Emacs needs; it makes interrupt-shell-subjob and the like do
34 nothing. But that appears to have been another manifestation of
35 the broken select, so it should now be safe to define this again. */
36#define HAVE_SOCKETS
37
38#define NO_SOCKETS_IN_FILE_SYSTEM
39#define NEED_NET_ERRNO_H
40
41/* This keeps the .cdbx section that gcc puts out when generating
42 stabs-in-coff output, so Emacs can be debugged. --karl@cs.umb.edu. */
43#define USG_SHARED_LIBRARIES
44
45/* We can support lock files. */
46#define CLASH_DETECTION
47#define NO_FCHMOD
48
49#define HAVE_PTYS
50#define MAXNAMLEN 512
51#define O_NDELAY O_NONBLOCK
52#define MEMORY_IN_STRING_H
53
54/* Tell gmalloc.c that we don't have memmove (system include files to the
55 contrary!). */
56#define MEMMOVE_MISSING
57
58/* Send a signal to a subprocess by "typing" a signal character. */
59#define SIGNALS_VIA_CHARACTERS
60
61/* -lPW is only needed if not using Gcc. We used to include -lcposix here
62 for the rename function, but some people say ISC's rename doesn't
63 work correctly with Emacs so we use Emacs' emulation instead. */
64#if defined (__GNUC__)
65# define LIB_STANDARD_1 -lcposix
66#else /* !__GNUC__ */
67# define LIB_STANDARD_1 -lPW
68#endif /* !__GNUC__ */
69
70/* LIB_STANDARD_1 is used both here and in LIBS_SYSTEM
71 (the latter for the sake of configure). */
72#define LIB_STANDARD LIB_STANDARD_1 -lc
73
74#define NO_X_DESTROY_DATABASE
75
76/* -linet may be needed to avoid undefined symbols such as gethostname,
77 inet_addr, gethostbyname, socket, connect, ... */
78#define LIBS_SYSTEM -linet LIB_STANDARD_1
79
80/* This system has job control. */
81#undef NOMULTIPLEJOBS
82
83/* Inhibit asm code in netinet/in.h. Strictly speaking, only necessary
84 when -traditional is being used, but it doesn't hurt to
85 unconditionally define this. */
86#define NO_ASM
87
88/* -traditional is not necessary if the system header files are fixed to
89 define getc and putc in the absence of _POSIX_SOURCE. GCC's from 2.4.4
90 on do this. */
91#if !defined (__GNUC__) || __GNUC__ < 2
92# define C_SWITCH_SYSTEM -traditional
93#endif
94
95/* Some versions of ISC are said to define S_IFLNK even tho
96 they don't really support symlinks. */
97#undef S_IFLNK
98
99/* arch-tag: 4de02713-eac5-4360-9d36-fd82c7a3ae44
100 (do not change this comment) */
diff --git a/src/s/isc3-0.h b/src/s/isc3-0.h
deleted file mode 100644
index 3df55031778..00000000000
--- a/src/s/isc3-0.h
+++ /dev/null
@@ -1,70 +0,0 @@
1/* s- file for Interactive (ISC) Unix version 3.0 on the 386.
2
3Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24#include "isc2-2.h"
25
26/* This has been moved into isc2-2.h. */
27/* #define HAVE_SOCKETS */
28
29/* This appears on 3.0, presumably as part of what SunSoft call X2. */
30#undef NO_X_DESTROY_DATABASE
31
32#ifdef __GNUC__ /* Currently we use -lcposix only with gcc */
33#define POSIX_SIGNALS
34
35/* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */
36#undef sigsetmask
37#undef HAVE_SYSV_SIGPAUSE
38#endif
39
40/* People say that using -traditional causes lossage with `const',
41 so we might as well try getting rid of -traditional. */
42#undef C_SWITCH_SYSTEM
43
44/* We indirectly #include s/usg5-3.h, which says to use libX11_s and
45 libc_s. Martin Tomes <mt00@controls.eurotherm.co.uk> says that ISC
46 has no libX11_s, and that linking with libc_s causes sbrk not to work. */
47#undef LIB_X11_LIB
48#undef LIBX11_SYSTEM
49#define LIBX11_SYSTEM -lpt -lnls -lnsl_s
50
51/* TIOCGWINSZ isn't broken; you just have to know where to find it. */
52#undef BROKEN_TIOCGWINSZ
53#define NEED_SIOCTL
54
55/* We need either _XOPEN_SOURCE or _POSIX_SOURCE to import the posix
56 signal symbols; might as well use _XOPEN_SOURCE. Defining _SYSV3
57 ensures that we don't lose the traditional symbols as a side effect
58 from this or __STDC__ being defined. It can't hurt to Define
59 _XOPEN_SOURCE=500, the latest and greatest value as of this writing. */
60#define C_SWITCH_SYSTEM -D_XOPEN_SOURCE=500 -D_SYSV3
61
62#ifdef __GNUC__ /* Currently we use -lcposix only with gcc */
63/* This works around a bug in ISC 4.0 and 3.0; it fails
64 to clear the "POSIX process" flag on an exec.
65 It won't be needed for 4.1. */
66#define EXTRA_INITIALIZE __setostype (0)
67#endif
68
69/* arch-tag: c1aca3f2-813d-4c1c-ad64-ca6c20ec9bfb
70 (do not change this comment) */
diff --git a/src/s/isc4-0.h b/src/s/isc4-0.h
deleted file mode 100644
index d180b5d182c..00000000000
--- a/src/s/isc4-0.h
+++ /dev/null
@@ -1,33 +0,0 @@
1#include "isc3-0.h"
2
3#undef LIBS_SYSTEM
4#define LIBS_SYSTEM -linet -lcposix
5
6#define ISC4_0
7
8/* fmcphers@csugrad.cs.vt.edu reported this was necessary.
9 He used GCC. I don't know what is needed with other compilers. */
10#ifdef __GNUC__
11#undef LIBX11_SYSTEM
12#define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lcposix -lc
13#endif
14
15/* Tobias Herbert <herbert@clipper.ikp.physik.th-darmstadt.de>
16 says this is needed. */
17
18#ifndef POSIX_SIGNALS
19#ifndef sigblock
20#ifndef SIG_BLOCK
21#define SIG_BLOCK 0
22#endif
23#define sigblock(sig) \
24 (sigprocmask_set = SIGEMPTYMASK | (sig), \
25 sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL))
26#define sigunblock(sig) \
27 (sigprocmask_set = SIGFULLMASK & ~(sig), \
28 sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL))
29#endif
30#endif /* not POSIX_SIGNALS */
31
32/* arch-tag: 1278f86f-17f2-462d-88c9-85e4b5faa5c3
33 (do not change this comment) */
diff --git a/src/s/isc4-1.h b/src/s/isc4-1.h
deleted file mode 100644
index c37537e629c..00000000000
--- a/src/s/isc4-1.h
+++ /dev/null
@@ -1,35 +0,0 @@
1#include "isc3-0.h"
2
3/* ISC 4.1 has renamed __setostype, but also has fixed the bug
4 for which we needed to call it; so just do nothing. uddeborg@carmen.se. */
5#undef EXTRA_INITIALIZE
6
7#define ISC4_1
8
9#undef LIBS_SYSTEM
10#define LIBS_SYSTEM -linet
11
12/* uddeborg@carmen.se recommends the rest of this file. */
13
14/* A special startup file is used when compiling with Posix. */
15#define START_FILES pre-crt0.o /lib/crtp1.o
16
17/* -lPW is only needed if not using Gcc. */
18#undef LIB_STANDARD
19#if defined (__GNUC__)
20# define LIB_STANDARD -lcposix -lc /lib/crtn.o
21#else /* !__GNUC__ */
22# define LIB_STANDARD -lPW -lcposix -lc /lib/crtn.o
23#endif /* !__GNUC__ */
24
25/* We have Posix termios. */
26#define HAVE_TERMIOS
27/* According to template.h HAVE_TERMIO and HAVE_TERMIOS shouldn't be */
28/* defined at the same time. */
29#undef HAVE_TERMIO
30
31/* ISC 4.1 has sys/wait.h but it does not work right. */
32#undef HAVE_SYS_WAIT_H
33
34/* arch-tag: ec5c77d9-a330-4d93-8117-d2b374531c67
35 (do not change this comment) */
diff --git a/src/s/newsos5.h b/src/s/newsos5.h
deleted file mode 100644
index 9e149bc5ed0..00000000000
--- a/src/s/newsos5.h
+++ /dev/null
@@ -1,53 +0,0 @@
1/* Definitions file for GNU Emacs running on Sony's NEWS-OS 5.0.2
2 Copyright (C) 1992, 1994, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/* Use the SysVr4 file for at least base configuration. */
23
24#include "usg5-4.h"
25
26#define NEWSOS5
27
28/* These will be defined by "m-mips.h". */
29#undef START_FILES
30#undef LIB_STANDARD
31
32#undef LIBS_SYSTEM
33#define LIBS_SYSTEM -lsocket -lnsl -lgen
34
35/* Disable use of "unexelf.c" and shared libraries, because
36 "unexelf.c" doesn't work correctly on NEWS-OS. "unexmips.c" does
37 work correctly if the program is linked statically without ELF. */
38#undef UNEXEC
39#undef USG_SHARED_LIBRARIES
40
41/* Use `ld' directly rather than ordinary link, because ordinary link
42 can't produce a non-ELF executable. */
43#undef ORDINARY_LINK
44#define LINKER /usr/lib/cmplrs/cc/ld
45#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o
46#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o /usr/ccs/lib/values-Xt.o
47
48#ifndef HAVE_SOCKETS
49#define HAVE_SOCKETS
50#endif
51
52/* arch-tag: 2bb78fcd-fbc4-46dd-a14b-e4a9be957fe0
53 (do not change this comment) */
diff --git a/src/s/newsos6.h b/src/s/newsos6.h
deleted file mode 100644
index ca3dbe706d0..00000000000
--- a/src/s/newsos6.h
+++ /dev/null
@@ -1,9 +0,0 @@
1/* Definitions file for GNU Emacs running on Sony's NEWS-OS 6.x */
2
3#include "usg5-4-2.h"
4
5#define NEWSOS6
6#define HAVE_TEXT_START
7
8/* arch-tag: a0db9cb0-43bb-4f9e-85fa-384e30f02d74
9 (do not change this comment) */
diff --git a/src/s/osf1.h b/src/s/osf1.h
deleted file mode 100644
index 7e55ce4fb6d..00000000000
--- a/src/s/osf1.h
+++ /dev/null
@@ -1,99 +0,0 @@
1/* Definitions file for GNU Emacs running on osf1.
2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006,
3 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23#include "bsd4-3.h"
24
25/* Identify OSF1 for the m- files. */
26
27#define OSF1
28
29#define C_SWITCH_SYSTEM -D_BSD
30#define LIBS_SYSTEM -lbsd
31
32#define GETPGRP_NO_ARG
33
34#define SYSV_SYSTEM_DIR
35
36/* If your system uses COFF (Common Object File Format) then define the
37 preprocessor symbol "COFF". */
38
39#define COFF
40
41/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
42 says where to find X windows at run time. We convert it to a -rpath option
43 which is what OSF1 uses. */
44#define LD_SWITCH_SYSTEM `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'`
45
46#define HAVE_TERMIOS
47
48#ifndef __GNUC__
49/* Optimize, inaccurate debugging. */
50#define C_DEBUG_SWITCH -g3
51#endif
52
53#ifndef NOT_C_CODE
54#ifndef OSF5 /* fixed in 5.0 */
55/* Hack alert! For reasons unknown to mankind the string.h file insists
56 on defining bcopy etc. as taking char pointers as arguments. With
57 Emacs this produces an endless amount of warning which are harmless,
58 but tends to flood the real errors. This hack works around this problem
59 by not prototyping. */
60#define bcopy string_h_bcopy
61#define bzero string_h_bzero
62#define bcmp string_h_bcmp
63#include <string.h>
64#undef bcopy
65#undef bzero
66#undef bcmp
67#endif
68#endif
69
70#define ORDINARY_LINK
71
72/* Some systems seem to have this, others don't. */
73#ifdef HAVE_LIBDNET
74#define LIBS_MACHINE -ldnet
75#else
76#define LIBS_MACHINE -ldnet_stub
77#endif
78
79#define LIBS_DEBUG
80#define START_FILES pre-crt0.o
81
82#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */
83#define PTY_NAME_SPRINTF /* none */
84#define PTY_TTY_NAME_SPRINTF /* none */
85#define PTY_OPEN \
86 do \
87 { \
88 int dummy; \
89 SIGMASKTYPE mask; \
90 mask = sigblock (sigmask (SIGCHLD)); \
91 if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \
92 fd = -1; \
93 sigsetmask (mask); \
94 emacs_close (dummy); \
95 } \
96 while (0)
97
98/* arch-tag: 65eaea67-fcc3-4de7-8574-d46beb82d4ed
99 (do not change this comment) */
diff --git a/src/s/osf5-0.h b/src/s/osf5-0.h
deleted file mode 100644
index 4f22f6d641b..00000000000
--- a/src/s/osf5-0.h
+++ /dev/null
@@ -1,25 +0,0 @@
1#define OSF5
2#include "osf1.h"
3
4/* It's enough to define _OSF_SOURCE instead of _BSD. */
5
6#undef C_SWITCH_SYSTEM
7#define C_SWITCH_SYSTEM -D_OSF_SOURCE
8
9#ifndef NSIG /* _OSF_SOURCE seems to get us this */
10#define NSIG __sys_nsig
11#endif
12
13/* We have missing/inconsistent prototypes on 5.0, at least. */
14#define INHIBIT_X11R6_XIM
15
16#define USE_MMAP_FOR_BUFFERS 1
17
18#define TERMINFO
19#define LIBS_TERMCAP -lcurses
20
21#define GC_SETJMP_WORKS 1
22#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
23
24/* arch-tag: 89580064-dd8c-4533-a47c-0f92d8090945
25 (do not change this comment) */
diff --git a/src/s/riscix1-1.h b/src/s/riscix1-1.h
deleted file mode 100644
index cccbbd3b2c8..00000000000
--- a/src/s/riscix1-1.h
+++ /dev/null
@@ -1,9 +0,0 @@
1/* Definitions file for GNU Emacs running on RISCiX 1.1 (bsd 4.3) */
2
3#define RISCiX_1_1 1
4#define RISCiX 11
5#define CRT0_O /lib/crt0.o
6#include "bsd4-3.h"
7
8/* arch-tag: 382df034-9843-4a82-8a3a-2e50a4dd532c
9 (do not change this comment) */
diff --git a/src/s/riscix12.h b/src/s/riscix12.h
deleted file mode 100644
index cc81c7da1c7..00000000000
--- a/src/s/riscix12.h
+++ /dev/null
@@ -1,29 +0,0 @@
1/* Definitions file for GNU Emacs running on RISCiX 1.2 (bsd 4.3)
2 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23#define RISCiX_1_2 1
24#define RISCiX 12
25#define CRT0_O /usr/lib/crt0.o
26#include "bsd4-3.h"
27
28/* arch-tag: f6b21e0a-f676-418a-9c8a-10fa8cd9dba7
29 (do not change this comment) */
diff --git a/src/s/sco4.h b/src/s/sco4.h
deleted file mode 100644
index d16bcbead49..00000000000
--- a/src/s/sco4.h
+++ /dev/null
@@ -1,145 +0,0 @@
1/* System description file for SCO 3.2v4.
2 Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/* Contributed by Ian Lance Taylor, ian@cygnus.com. */
23
24/* SCO is sort of like SVR3. */
25#include "usg5-3.h"
26#define SCO_R4
27
28#if 0 /* Turned off rather than make the Lisp code check for this. -- rms.
29 I am assuming that (at least most of) the tests for usg-unix-v
30 do the right thing for sco3.2v4 also. Things that *might* be wrong
31 as a result of turning off these lines include the values of
32 ange-ftp-remote-shell-file-name (now remsh)
33 dired-chown-program (now just chown)
34 lpr-command (now lp)
35 nntp-buggy-select (now t)
36 rmail-spool-directory (now /usr/mail?)
37 and the actions of the function print-region-1. */
38
39/* SYSTEM_TYPE should indicate the kind of system you are using. */
40#undef SYSTEM_TYPE
41#define SYSTEM_TYPE "SCO 3.2v4"
42#endif
43
44/* SCO supports job control. */
45#undef NOMULTIPLEJOBS
46
47/* SCO has termios. */
48#define HAVE_TERMIOS
49
50/* SCO has ptys with unusual names. */
51#define HAVE_PTYS
52
53#define PTY_ITERATION \
54 for (i = 0; ; i++)
55#define PTY_NAME_SPRINTF \
56 sprintf (pty_name, "/dev/ptyp%d", i);
57#define PTY_TTY_NAME_SPRINTF \
58 sprintf (pty_name, "/dev/ttyp%d", i);
59
60/* Sockets are an option on SCO. If you have X, you have them.
61 They also exist if you have TCP, but we don't know how to test
62 for that. */
63#ifdef HAVE_X_WINDOWS
64#define HAVE_SOCKETS
65#endif
66
67/* Must use 'cc' to link when build with motif toolkit. */
68#ifndef __GNUC__
69#define LINKER cc
70#endif
71
72/* This is safe since we already assumed HAVE_SOCKET
73 if using X windows. */
74#undef LIBX11_SYSTEM
75#define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s -lsocket
76
77/* Motif needs -lintl on some (maybe all) ofthese systems. */
78#ifdef HAVE_LIBINTL
79#define LIB_MOTIF -lXm -lintl
80#endif
81
82#ifdef HAVE_INET_SOCKETS /* This comes from autoconf. */
83#define HAVE_SOCKETS
84#endif
85
86#ifdef HAVE_SOCKETS
87#define LIBS_SYSTEM -lsocket -lPW
88
89/* SCO has gettimeofday in socket library */
90/* Autoconf should determine this, but for now,
91 play safe to avoid error rather than deleting this
92 and risking the wrong result. */
93#ifndef HAVE_GETTIMEOFDAY
94#define HAVE_GETTIMEOFDAY
95#endif
96#endif
97
98/* This enables configure to tell that we have alloca. */
99#ifndef LIBS_SYSTEM
100#define LIBS_SYSTEM -lPW
101#endif
102
103/* configure can't get this right linking fails unless -lsocket is used. */
104#undef HAVE_XSCREENNUMBEROFSCREEN
105#define HAVE_XSCREENNUMBEROFSCREEN
106
107/* We don't have -loldX, and we don't need it. */
108#define LIB_XMENU_LIB
109
110/* SCO does have TIOCGWINSZ. */
111#undef BROKEN_TIOCGWINSZ
112#define NEED_PTEM_H
113
114/* We need to link with crt1.o and crtn.o. */
115#define START_FILES pre-crt0.o /lib/crt1.o
116#define LIB_STANDARD -lc /lib/crtn.o
117
118/* Send signals to subprocesses by "typing" signal chars at them. */
119#define SIGNALS_VIA_CHARACTERS
120
121/* Specify program for etc/fakemail to run. Define SMAIL if you are
122 using smail, don't for MMDF. */
123
124#ifdef SMAIL
125#define MAIL_PROGRAM_NAME "/bin/smail -q0"
126#else
127#define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail"
128#endif
129
130/* Tell process_send_signal to use VSUSP instead of VSWTCH. */
131#define PREFER_VSUSP
132
133/* wjs@wang.com (William Smith) says this is needed on 3.2.4.2. */
134#define POSIX_SIGNALS
135
136/* wjs@wiis.wang.com says SCO 3.2 v4.2 "has sockets",
137 but only for network connections.
138 It doesn't have the kind of sockets that emacsclient.c
139 and emacsserver.c would use. */
140#define NO_SOCKETS_IN_FILE_SYSTEM
141
142#define NARROWPROTO 1
143
144/* arch-tag: 4dd6fe94-bcb7-4be0-942a-ff4bc3cd914e
145 (do not change this comment) */
diff --git a/src/s/sco5.h b/src/s/sco5.h
deleted file mode 100644
index 1f56a998014..00000000000
--- a/src/s/sco5.h
+++ /dev/null
@@ -1,175 +0,0 @@
1/* System description file for SCO 3.2v5.
2 Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to the
19Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/* Contributed by Mark Diekhans <markd@grizzly.com>. */
23
24/* SCO is sort of like SVR3. */
25#include "usg5-3.h"
26#define SCO_R5
27
28#if 0 /* Turned off rather than make the Lisp code check for this. -- rms.
29 I am assuming that (at least most of) the tests for usg-unix-v
30 do the right thing for sco3.2v4 also. Things that *might* be wrong
31 as a result of turning off these lines include the values of
32 ange-ftp-remote-shell-file-name (now remsh)
33 dired-chown-program (now just chown)
34 lpr-command (now lp)
35 nntp-buggy-select (now t)
36 rmail-spool-directory (now /usr/mail?)
37 and the actions of the function print-region-1. */
38
39/* SYSTEM_TYPE should indicate the kind of system you are using. */
40#undef SYSTEM_TYPE
41#define SYSTEM_TYPE "SCO 3.2v4"
42#endif
43
44/* SCO supports job control. */
45#undef NOMULTIPLEJOBS
46
47/* SCO has termios. */
48#define HAVE_TERMIOS
49
50/* SCO has ptys with unusual names. */
51#define HAVE_PTYS
52
53#define PTY_ITERATION \
54 for (i = 0; ; i++)
55#define PTY_NAME_SPRINTF \
56 sprintf (pty_name, "/dev/ptyp%d", i);
57#define PTY_TTY_NAME_SPRINTF \
58 sprintf (pty_name, "/dev/ttyp%d", i);
59
60/* Sockets are an option on SCO. If you have X, you have them.
61 They also exist if you have TCP, but we don't know how to test
62 for that. */
63#ifdef HAVE_X_WINDOWS
64#define HAVE_SOCKETS
65#endif
66
67#ifndef __GNUC__
68#define LINKER ld
69#endif
70
71/* This is safe since we already assumed HAVE_SOCKET
72 if using X windows. */
73#undef LIBX11_SYSTEM
74#define LIBX11_SYSTEM_COMMON -lpt -lnls -lnsl -lc -lsocket
75#ifdef MOTIF
76# define LIBX11_SYSTEM -lgen LIBX11_SYSTEM_COMMON
77#else /* ndef MOTIF */
78# define LIBX11_SYSTEM LIBX11_SYSTEM_COMMON
79#endif /* ndef MOTIF */
80
81#undef LIB_X11_LIB
82#define LIB_X11_LIB -lX11
83
84#ifdef HAVE_INET_SOCKETS /* This comes from autoconf. */
85#define HAVE_SOCKETS
86#endif
87
88#ifdef HAVE_SOCKETS
89#define LIBS_SYSTEM -lsocket -lPW
90#endif
91
92#ifndef HAVE_GETTIMEOFDAY
93#define HAVE_GETTIMEOFDAY
94#endif
95
96/* This enables configure to tell that we have alloca. */
97#ifndef LIBS_SYSTEM
98#define LIBS_SYSTEM -lPW
99#endif
100
101/* configure can't get this right linking fails unless -lsocket is used. */
102#undef HAVE_XSCREENNUMBEROFSCREEN
103#define HAVE_XSCREENNUMBEROFSCREEN
104
105/* We don't have -loldX, and we don't need it. */
106#define LIB_XMENU_LIB
107
108/* SCO does have TIOCGWINSZ. */
109#undef BROKEN_TIOCGWINSZ
110#define NEED_PTEM_H
111
112/* We need to link with crt1.o and crtn.o. */
113#define START_FILES pre-crt0.o /lib/crt1.o
114#define LIB_STANDARD -lc /lib/crtn.o
115
116/* Send signals to subprocesses by "typing" signal chars at them. */
117#define SIGNALS_VIA_CHARACTERS
118
119/* Specify program for etc/fakemail to run. Define SMAIL if you are
120 using smail, don't for MMDF. */
121
122#ifdef SMAIL
123#define MAIL_PROGRAM_NAME "/bin/smail -q0"
124#else
125#define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail"
126#endif
127
128/* Tell process_send_signal to use VSUSP instead of VSWTCH. */
129#define PREFER_VSUSP
130
131/* SCO Unix has Posix signals, but in 3.2.5 something broken that causes
132 * all keyboard-quit signals to be lost after the first one. */
133#undef POSIX_SIGNALS
134
135#define SIGMASKTYPE long
136
137#ifndef NOT_C_CODE
138extern SIGMASKTYPE sigprocmask_set;
139#endif /* not NOT_C_CODE */
140
141#define sigblock(sig) \
142 (sigprocmask_set = SIGEMPTYMASK | (sig), \
143 sigprocmask (SIG_BLOCK, &sigprocmask_set, NULL))
144#define sigunblock(sig) \
145 (sigprocmask_set = SIGFULLMASK & ~(sig), \
146 sigprocmask (SIG_SETMASK, &sigprocmask_set, NULL))
147
148#ifndef PENDING_OUTPUT_COUNT
149#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base)
150#endif
151
152/* Use ELF and get real shared libraries */
153
154#undef COFF
155#define ELF
156
157#define UNEXEC unexelf.o
158
159#ifndef __GNUC__
160#define C_SWITCH_SYSTEM -belf
161#define LD_SWITCH_SYSTEM -belf
162#endif
163
164/* Don't disable static function, as SCO's header files have some.*/
165#undef static
166
167#undef START_FILES
168#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/values-Xt.o
169#undef LIB_STANDARD
170#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o
171
172#define NARROWPROTO 1
173
174/* arch-tag: 930541b5-52d9-4cbe-b73c-f4c72091f5df
175 (do not change this comment) */
diff --git a/src/s/sunos4-0.h b/src/s/sunos4-0.h
deleted file mode 100644
index bf77812f32c..00000000000
--- a/src/s/sunos4-0.h
+++ /dev/null
@@ -1,75 +0,0 @@
1/* Definitions file for GNU Emacs running on sunos 4.0.
2
3 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */
22
23
24#include "bsd4-2.h"
25
26#ifndef SUNOS4
27#define SUNOS4
28#endif
29
30#if 0 /* This may have been needed for an earlier version of Sun OS 4.
31 It seems to cause warnings in 4.0.3 and 4.1. */
32#define O_NDELAY FNDELAY /* Non-blocking I/O (4.2 style) */
33#endif
34
35/* We use the Sun syntax -Bstatic unconditionally, because even when we
36 use GCC, these are passed through to the linker, not handled by GCC
37 directly. */
38#define LD_SWITCH_SYSTEM -Bstatic
39
40/* We use this for linking temacs, but not for other programs
41 or for tests in configure. */
42#define LD_SWITCH_SYSTEM_TEMACS -e __start
43
44/* In SunOS 4.1, a static function called by tzsetwall reportedly
45 clears the byte just past an eight byte region it mallocs, corrupting
46 GNU malloc's memory pool. But Sun's malloc doesn't seem to mind. */
47
48#define SYSTEM_MALLOC
49
50/* SunOS 4.x cc <stdlib.h> declares abort and free to return int. */
51
52#ifndef __STDC__
53#define ABORT_RETURN_TYPE int
54#define FREE_RETURN_TYPE int
55#endif
56
57#ifdef __GNUC__
58/* We must define mkdir with this arg prototype
59 to match GCC's fixed stat.h. */
60#define MKDIR_PROTOTYPE \
61 int mkdir (const char *dpath, unsigned short dmode)
62#endif /* __GNUC__ */
63
64/* Must use the system's termcap, if we use any termcap.
65 It does special things. */
66
67#ifndef TERMINFO
68#define LIBS_TERMCAP -ltermcap
69#endif
70
71#define GC_SETJMP_WORKS 1
72#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
73
74/* arch-tag: 362f3bfc-810d-4f6e-9b83-5a32f8f1a926
75 (do not change this comment) */
diff --git a/src/s/sunos4-1.h b/src/s/sunos4-1.h
deleted file mode 100644
index 2e41c55bbfe..00000000000
--- a/src/s/sunos4-1.h
+++ /dev/null
@@ -1,36 +0,0 @@
1#include "sunos4-0.h"
2
3/* Cause the compilation of oldxmenu to use the right -I option. */
4#define OLDXMENU_OPTIONS CFLAGS=C_SWITCH_SYSTEM
5
6#if 0 /* This isn't right. Apparently some sites do have -lresolv
7 but don't use that. On those systems, the code below loses.
8 There's no way to win automatically unless someone
9 figures out a way of determining automatically which way is right
10 on any given system. */
11/* Some systems do not run the Network Information Service, but have
12 modified the shared C library to include resolver support without
13 also changing the C archive library (/usr/lib/libc.a). If we
14 detect the presence of libresolv.a, use -lresolv to supplement libc.a.
15
16 We used to have #ifdef HAVE_GETHOSTNAME is to prevent configure from
17 setting libsrc_libs to -lresolv in lib-src/Makefile. But nowadays
18 configure is smarter about computing libsrc_libs, and would not
19 be fooled. Anyway, why not use -lresolv in lib-src? */
20/* #ifdef HAVE_GETHOSTNAME */
21#ifdef HAVE_LIBRESOLV
22#define LIBS_SYSTEM -lresolv
23#endif
24/* #endif */
25#endif
26
27#if 0 /* Not necessary, since SYSTEM_MALLOC is defined in sunos4-0.h. */
28/* Tell GNU malloc to compensate for a bug in localtime. */
29#define SUNOS_LOCALTIME_BUG
30#endif
31
32/* Define dlopen, dlclose, dlsym. */
33#define USE_DL_STUBS
34
35/* arch-tag: 154e2eb2-2180-4d66-90b9-7e56a22004f2
36 (do not change this comment) */
diff --git a/src/s/sunos413.h b/src/s/sunos413.h
deleted file mode 100644
index 9f40f2fa3af..00000000000
--- a/src/s/sunos413.h
+++ /dev/null
@@ -1,16 +0,0 @@
1#include "sunos4-1.h"
2
3/* jik@gza.com says this works now. */
4/* The bug that corrupts GNU malloc's memory pool is fixed in SunOS 4.1.3. */
5
6#undef SYSTEM_MALLOC
7
8/* barrie@calvin.demon.co.uk says memmove is missing. */
9#ifndef SYSTEM_MALLOC
10#define MEMMOVE_MISSING
11#endif
12
13#define USE_MMAP_FOR_BUFFERS 1
14
15/* arch-tag: ebd184b0-9084-4306-8e71-c0437330e1e1
16 (do not change this comment) */
diff --git a/src/s/sunos4shr.h b/src/s/sunos4shr.h
deleted file mode 100644
index 5ebbae3a0a2..00000000000
--- a/src/s/sunos4shr.h
+++ /dev/null
@@ -1,84 +0,0 @@
1/*
2Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/* This file permits building Emacs with a shared libc on Sunos 4.
24 To make this work, you must completely replace your C shared library
25 using one of the SunOS 4.1.x jumbo replacement patches from Sun.
26 Here are the patch numbers for Sunos 4.1.3:
27 100890-10 SunOS 4.1.3: domestic libc jumbo patch
28 100891-10 SunOS 4.1.3: international libc jumbo patch */
29
30
31#include "sunos4-1.h"
32
33/* Say that the text segment of a.out includes the header;
34 the header actually occupies the first few bytes of the text segment
35 and is counted in hdr.a_text. */
36
37/* Misleading! Actually gets loaded after crt0.o */
38#define START_FILES pre-crt0.o
39
40/*
41 * Kludge! can't get at symbol "start" in std crt0.o
42 * Who the #$%&* decided to remove the __ characters!
43 * Someone needs to fix this in sysdep.c with an #ifdef BROKEN_START in
44 * sysdep.c. We do not use this address so any value should do really. Still
45 * may need it in the future?
46 */
47#define BROKEN_START
48#define TEXT_START 0x2020
49
50#define UNEXEC unexsunos4.o
51#define RUN_TIME_REMAP
52#define ORDINARY_LINK
53#define SUNOS4_SHARED_LIBRARIES
54
55#undef LD_SWITCH_SYSTEM
56#undef LD_SWITCH_SYSTEM_TEMACS
57
58#undef SYSTEM_MALLOC
59#ifndef GNU_MALLOC
60#define GNU_MALLOC
61#endif
62#ifndef REL_ALLOC
63#define REL_ALLOC
64#endif
65
66/* khera@cs.duke.edu says this is needed. */
67#define memmove(to, from, size) bcopy (from, to, size)
68
69#undef USE_DL_STUBS
70
71#ifndef HAVE_X11R6
72/* With X11R5 it was reported that linking -lXmu dynamically
73 did not work. With X11R6, it does work; and since normally
74 only the dynamic libraries are available, we should use them. */
75#ifdef __GNUC__
76#define LIBXMU -Xlinker -Bstatic -lXmu -Xlinker -Bdynamic
77#else
78#define LIBXMU -Bstatic -lXmu -Bdynamic
79#endif
80
81#endif /* not HAVE_X11R6 */
82
83/* arch-tag: cb54321a-ed45-4c17-a23e-1c157758da78
84 (do not change this comment) */
diff --git a/src/s/umax.h b/src/s/umax.h
deleted file mode 100644
index aa73faa4917..00000000000
--- a/src/s/umax.h
+++ /dev/null
@@ -1,170 +0,0 @@
1/* Definitions file for GNU Emacs running on UMAX 4.2
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/*
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
26 */
27
28/* #define UNIPLUS */
29/* #define USG5 */
30/* #define USG */
31/* #define BSD4_1 */
32#define BSD4_2
33/* #define BSD4_3 */
34#define BSD_SYSTEM
35#define UMAX4_2
36#define UMAX
37/* #define VMS */
38
39/* SYSTEM_TYPE should indicate the kind of system you are using.
40 It sets the Lisp variable system-type. */
41
42#define SYSTEM_TYPE "berkeley-unix"
43
44/* NOMULTIPLEJOBS should be defined if your system's shell
45 does not have "job control" (the ability to stop a program,
46 run some other program, then continue the first one). */
47
48/* #define NOMULTIPLEJOBS */
49
50/* Emacs can read input using SIGIO and buffering characters itself,
51 or using CBREAK mode and making C-g cause SIGINT.
52 The choice is controlled by the variable interrupt_input.
53 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
54
55 SIGIO can be used only on systems that implement it (4.2 and 4.3).
56 CBREAK mode has two disadvantages
57 1) At least in 4.2, it is impossible to handle the Meta key properly.
58 I hear that in system V this problem does not exist.
59 2) Control-G causes output to be discarded.
60 I do not know whether this can be fixed in system V.
61
62 Another method of doing input is planned but not implemented.
63 It would have Emacs fork off a separate process
64 to read the input and send it to the true Emacs process
65 through a pipe.
66*/
67
68#define INTERRUPT_INPUT
69
70/* Letter to use in finding device name of first pty,
71 if system supports pty's. 'a' means it is /dev/ptya0 */
72
73#define FIRST_PTY_LETTER 'p'
74
75/*
76 * Define HAVE_PTYS if the system supports pty devices.
77 */
78
79#define HAVE_PTYS
80
81/* Define this macro if system defines a type `union wait'. */
82
83#define HAVE_UNION_WAIT
84
85/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
86
87#define HAVE_SOCKETS
88
89/*
90 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
91 * The 4.2 opendir, etc., library functions.
92 */
93
94/* #define NONSYSTEM_DIR_LIBRARY */
95
96/* Define this symbol if your system has the functions bcopy, etc. */
97
98#define BSTRING
99
100/* subprocesses should be defined if you want to
101 have code for asynchronous subprocesses
102 (as used in M-x compile and M-x shell).
103 This is generally OS dependent, and not supported
104 under most USG systems. */
105
106#define subprocesses
107
108/* If your system uses COFF (Common Object File Format) then define the
109 preprocessor symbol "COFF". */
110
111#define COFF
112
113/* define MAIL_USE_FLOCK if the mailer uses flock
114 to interlock access to /usr/spool/mail/$USER.
115 The alternative is that a lock file named
116 /usr/spool/mail/$USER.lock. */
117
118#define MAIL_USE_FLOCK
119
120/* Define CLASH_DETECTION if you want lock files to be written
121 so that Emacs can tell instantly when you try to modify
122 a file that someone else has modified in his Emacs. */
123
124#define CLASH_DETECTION
125
126/* The file containing the kernel's symbol table is called /vmunix. */
127
128#define KERNEL_FILE "/vmunix"
129
130/* The symbol in the kernel where the load average is found
131 is named _avenrun. */
132
133#define LDAV_SYMBOL "_avenrun"
134
135/* Here, on a separate page, add any special hacks needed
136 to make Emacs work on this system. For example,
137 you might define certain system call names that don't
138 exist on your system, or that do different things on
139 your system and must be used only through an encapsulation
140 (Which you should place, by convention, in sysdep.c). */
141
142/* Specify alignment requirement for start of text and data sections
143 in the executable file. */
144
145#define SECTION_ALIGNMENT pagemask
146
147
148#define SEGMENT_MASK (64 * 1024 - 1)
149
150
151/* crt0.c needs this for compilation because it uses asm. */
152
153#define C_SWITCH_ASM -q nodirect_code
154
155/* Encore machines with APC processor boards align sections on 4M
156 boundaries, so it is not easy to remap the start of the text segment
157 in the unexec() routine. For them you need the following two lines.
158 For DPC processors you can enable these or not, as you wish, but
159 you will get better performance without them. */
160
161/* #define NO_REMAP
162 #define TEXT_START 0
163*/
164
165/* Process groups work in the traditional BSD manner. */
166
167#define BSD_PGRPS
168
169/* arch-tag: 2860edda-ce9e-4cfa-943d-3a06c7045854
170 (do not change this comment) */
diff --git a/src/s/unipl5-2.h b/src/s/unipl5-2.h
deleted file mode 100644
index 5730fa65284..00000000000
--- a/src/s/unipl5-2.h
+++ /dev/null
@@ -1,160 +0,0 @@
1/* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.2
2 Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22
23/*
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
26 */
27
28#define USG /* System III, System V, etc */
29
30#define USG5
31
32#define UNIPLUS
33
34/* SYSTEM_TYPE should indicate the kind of system you are using.
35 It sets the Lisp variable system-type. */
36
37#define SYSTEM_TYPE "unisoft-unix"
38
39/* nomultiplejobs should be defined if your system's shell
40 does not have "job control" (the ability to stop a program,
41 run some other program, then continue the first one). */
42
43/* #define NOMULTIPLEJOBS */
44
45/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
46
47/* #define INTERRUPT_INPUT */
48
49/* Letter to use in finding device name of first pty,
50 if system supports pty's. 'p' means it is /dev/ptyp0 */
51
52#define FIRST_PTY_LETTER 'p'
53
54/*
55 * Define HAVE_TERMIO if the system provides sysV-style ioctls
56 * for terminal control.
57 */
58
59#define HAVE_TERMIO
60
61/*
62 * Define HAVE_PTYS if the system supports pty devices.
63 */
64
65#define HAVE_PTYS
66
67/* Define this macro if system defines a type `union wait'. */
68
69#define HAVE_UNION_WAIT
70
71/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
72
73/* #define HAVE_SOCKETS */
74
75/*
76 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
77 * The 4.2 opendir, etc., library functions.
78 */
79
80#define NONSYSTEM_DIR_LIBRARY
81
82/* Define this symbol if your system has the functions bcopy, etc. */
83
84/* #define BSTRING */
85
86/* subprocesses should be defined if you want to
87 have code for asynchronous subprocesses
88 (as used in M-x compile and M-x shell).
89 This is generally OS dependent, and not supported
90 under most USG systems. It is supported under UniPlus
91 System V Release 2. */
92
93#define subprocesses
94
95/* If your system uses COFF (Common Object File Format) then define the
96 preprocessor symbol "COFF". */
97
98#define COFF
99
100/* define MAIL_USE_FLOCK if the mailer uses flock
101 to interlock access to /usr/spool/mail/$USER.
102 The alternative is that a lock file named
103 /usr/spool/mail/$USER.lock. */
104
105/* #define MAIL_USE_FLOCK */
106
107/* Define CLASH_DETECTION if you want lock files to be written
108 so that Emacs can tell instantly when you try to modify
109 a file that someone else has modified in his Emacs. */
110
111/* #define CLASH_DETECTION */
112
113/* Uniplus 5.2 supports long names in C */
114
115/* #define SHORTNAMES */
116
117/* The file containing the kernel's symbol table is called /unix. */
118
119#define KERNEL_FILE "/unix"
120
121/* The symbol in the kernel where the load average is found
122 is named avenrun. */
123
124#define LDAV_SYMBOL "avenrun"
125
126/* Special hacks needed to make Emacs run on this system. */
127
128/*
129 * Make the sigsetmask function go away. Don't know what the
130 * ramifications of this are, but doesn't seem possible to
131 * emulate it properly anyway at this point.
132 */
133
134#define sigsetmask(mask) /* Null expansion */
135
136/* setjmp and longjmp can safely replace _setjmp and _longjmp,
137 but they will run slower. */
138
139#define _setjmp setjmp
140#define _longjmp longjmp
141
142/* On USG systems these have different names */
143
144#define index strchr
145#define rindex strrchr
146
147/* Compiler bug bites when default ADDR_CORRECT is used. */
148
149#define ADDR_CORRECT(x) (x)
150
151/* Special library needed for linking for Uniplus */
152
153#define LIBS_SYSTEM -lnet
154
155/* A system-specific loader switch is needed. */
156
157#define LD_SWITCH_SYSTEM -N -L/lib/libg /usr/lib/unshared.ld
158
159/* arch-tag: d3f952a9-fef5-45d5-9c1e-c1c32bfef86c
160 (do not change this comment) */
diff --git a/src/s/xenix.h b/src/s/xenix.h
deleted file mode 100644
index c5b3cf225e0..00000000000
--- a/src/s/xenix.h
+++ /dev/null
@@ -1,212 +0,0 @@
1/* Definitions file for GNU Emacs running SCO Xenix 386 Release 2.2
2 Copyright (C) 1988, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/*
23 * Define symbols to identify the version of Unix this is.
24 * Define all the symbols that apply correctly.
25 */
26
27/* #define UNIPLUS */
28#define XENIX
29#define USG5
30#define USG
31/* #define HPUX */
32/* #define UMAX */
33/* #define BSD4_1 */
34/* #define BSD4_2 */
35/* #define BSD4_3 */
36/* #define BSD_SYSTEM */
37/* #define VMS */
38
39/* SYSTEM_TYPE should indicate the kind of system you are using.
40 It sets the Lisp variable system-type. */
41
42#define SYSTEM_TYPE "xenix"
43
44/* NOMULTIPLEJOBS should be defined if your system's shell
45 does not have "job control" (the ability to stop a program,
46 run some other program, then continue the first one). */
47
48#define NOMULTIPLEJOBS
49
50/* Emacs can read input using SIGIO and buffering characters itself,
51 or using CBREAK mode and making C-g cause SIGINT.
52 The choice is controlled by the variable interrupt_input.
53 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
54
55 SIGIO can be used only on systems that implement it (4.2 and 4.3).
56 CBREAK mode has two disadvantages:
57 1) At least in 4.2, it is impossible to handle the Meta key properly.
58 I hear that in system V this problem does not exist.
59 2) Control-G causes output to be discarded.
60 I do not know whether this can be fixed in system V.
61
62 Another method of doing input is planned but not implemented.
63 It would have Emacs fork off a separate process
64 to read the input and send it to the true Emacs process
65 through a pipe.
66*/
67
68/* #define INTERRUPT_INPUT */
69
70/* Letter to use in finding device name of first pty,
71 if system supports pty's. 'p' means it is /dev/ptyp0 */
72
73/* #define FIRST_PTY_LETTER 'p' */
74
75/*
76 * Define HAVE_TERMIO if the system provides sysV-style ioctls
77 * for terminal control.
78 */
79
80#define HAVE_TERMIO
81
82/*
83 * Define HAVE_PTYS if the system supports pty devices.
84 */
85
86/* #define HAVE_PTYS */
87
88/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
89
90/* #define HAVE_SOCKETS */
91
92/*
93 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
94 * The 4.2 opendir, etc., library functions.
95 */
96
97#define NONSYSTEM_DIR_LIBRARY
98
99/* Define this symbol if your system has the functions bcopy, etc. */
100
101/* #define BSTRING */
102
103/* subprocesses should be defined if you want to
104 have code for asynchronous subprocesses
105 (as used in M-x compile and M-x shell).
106 This is supposed to work now on system V release 2. */
107
108#define subprocesses
109
110/* If your system uses COFF (Common Object File Format) then define the
111 preprocessor symbol "COFF". */
112
113/* #define COFF */
114
115/* Xenix requires completely different unexec code
116 which lives in a separate file. Specify the file name. */
117
118#define UNEXEC unexenix.o
119
120/* define MAIL_USE_FLOCK if the mailer uses flock
121 to interlock access to /usr/spool/mail/$USER.
122 The alternative is that a lock file named
123 /usr/spool/mail/$USER.lock. */
124
125#define MAIL_USE_FLOCK
126
127/* Define CLASH_DETECTION if you want lock files to be written
128 so that Emacs can tell instantly when you try to modify
129 a file that someone else has modified in his Emacs. */
130
131/* The way this is implemented requires long filenames... */
132/* #define CLASH_DETECTION */
133
134/* Define SHORTNAMES if the C compiler can distinguish only
135 short names. It means that the stuff in ../shortnames
136 must be run to convert the long names to short ones. */
137
138/* #define SHORTNAMES */
139
140/* Compensate for one incompatibility between Xenix and V.0. */
141#define n_zeroes n_name[0]
142
143/* The file containing the kernel's symbol table is called /xenix. */
144
145#define KERNEL_FILE "/xenix"
146
147/* The symbol in the kernel where the load average is found
148 is named avenrun. */
149
150#define LDAV_SYMBOL "_avenrun"
151
152/* Special hacks needed to make Emacs run on this system. */
153
154/*
155 * Make the sigsetmask function go away. Don't know what the
156 * ramifications of this are, but doesn't seem possible to
157 * emulate it properly anyway at this point.
158 */
159
160#define sigsetmask(mask) /* Null expansion */
161
162/* setjmp and longjmp can safely replace _setjmp and _longjmp,
163 but they will run slower. */
164
165#define _setjmp setjmp
166#define _longjmp longjmp
167
168/* On USG systems these have different names */
169
170#define index strchr
171#define rindex strrchr
172
173/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
174
175#define ADDR_CORRECT(x) (x)
176
177/* Prevent -lg from being used for debugging. Not implemented? */
178
179#define LIBS_DEBUG
180
181/* Switches for linking temacs. */
182
183#define LD_SWITCH_SYSTEM -i
184
185/* Xenix implements sysV style IPC. */
186
187#define HAVE_SYSVIPC
188
189/* Use terminfo instead of termcap. */
190
191/* Tell Emacs to use Terminfo. */
192
193#define TERMINFO
194
195/* Tell Xenix curses to BE Terminfo. */
196#define M_TERMINFO
197
198/* Control program name for etc/fakemail to run. */
199
200#ifdef SMAIL
201#define MAIL_PROGRAM_NAME "/usr/bin/smail -q0"
202#else
203#define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail"
204#endif
205
206/* Some variants have TIOCGETC, but the structures to go with it
207 are not declared. */
208
209#define BROKEN_TIOCGETC
210
211/* arch-tag: 71d3985d-4e53-4572-8276-5dce26bbd076
212 (do not change this comment) */
diff --git a/src/sysdep.c b/src/sysdep.c
index d1f378a3f87..d421c55f2c2 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -33,12 +33,6 @@ Boston, MA 02110-1301, USA. */
33/* Including stdlib.h isn't necessarily enough to get srandom 33/* Including stdlib.h isn't necessarily enough to get srandom
34 declared, e.g. without __USE_XOPEN_EXTENDED with glibc 2. */ 34 declared, e.g. without __USE_XOPEN_EXTENDED with glibc 2. */
35#ifdef HAVE_RANDOM 35#ifdef HAVE_RANDOM
36#if 0 /* It turns out that defining _OSF_SOURCE in osf5-0.h gets
37 random prototyped as returning `int'. It looks to me as
38 though the best way to DTRT is to prefer the rand48 functions
39 (per libc.info). -- fx */
40extern long int random P_ ((void));
41#endif
42#if 0 /* Don't prototype srandom; it takes an unsigned argument on 36#if 0 /* Don't prototype srandom; it takes an unsigned argument on
43 some systems, and an unsigned long on others, like FreeBSD 37 some systems, and an unsigned long on others, like FreeBSD
44 4.1. */ 38 4.1. */
diff --git a/src/unexapollo.c b/src/unexapollo.c
deleted file mode 100644
index 4facf823e19..00000000000
--- a/src/unexapollo.c
+++ /dev/null
@@ -1,301 +0,0 @@
1/* unexapollo.c -- COFF File UNEXEC for GNU Emacs on Apollo SR10.x
2 Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */
21
22/* Written by Leonard N. Zubkoff. */
23
24#ifdef HAVE_CONFIG_H
25#include <config.h>
26#endif
27
28#include <fcntl.h>
29
30
31#include <a.out.h>
32#include <sys/file.h>
33#include <apollo/base.h>
34#include <apollo/ios.h>
35#include <apollo/type_uids.h>
36#include <apollo/dst.h>
37
38
39#define DST_RECORD_HDR_SIZE 2
40#define LONG_ALIGN(X) (((X)+3)&(~3))
41
42
43void
44unexec (target_file_name, source_file_name)
45 char *target_file_name, *source_file_name;
46{
47 struct filehdr file_header;
48 struct aouthdr domain_header;
49 struct scnhdr *section, *sections, *sections_limit;
50 struct scnhdr *first_data_section, *last_data_section;
51 struct scnhdr *rwdi_section, *blocks_section;
52 struct reloc reloc_entry;
53 unsigned long data_size, old_data_section_size, source_file_offset_past_rwdi;
54 unsigned char buffer[4096];
55 long delta_before_rwdi, delta_after_rwdi, byte_count;
56 long first_changed_vaddr, old_rwdi_vaddr, i;
57 ios_$id_t target_file, source_file;
58 status_$t status;
59 /* Open the Source File. */
60 if ((source_file = open (source_file_name, O_RDONLY)) < 0)
61 error ("cannot open source file for input");
62 /* Read the File Header. */
63 if (read (source_file, &file_header, sizeof (file_header)) != sizeof (file_header))
64 error ("cannot read file header");
65
66 /* Read the Domain Header. */
67 if (read (source_file, &domain_header, sizeof (domain_header))
68 != sizeof (domain_header))
69 error ("cannot read domain header");
70 /* Read the Section Headers. */
71 sections =
72 (struct scnhdr *) malloc (file_header.f_nscns*sizeof (struct scnhdr));
73 if (sections == (struct scnhdr *) 0)
74 error ("cannot allocate section header storage");
75 sections_limit = sections + file_header.f_nscns;
76 if (read (source_file, sections, file_header.f_nscns*sizeof (struct scnhdr))
77 != file_header.f_nscns*sizeof (struct scnhdr))
78 error ("cannot read section headers");
79 /* Compute the new Size of the Data Section. */
80 data_size = sbrk (0) - domain_header.data_start;
81 delta_before_rwdi = delta_after_rwdi = data_size - domain_header.dsize;
82 old_rwdi_vaddr = 0;
83 /* Find and Deallocate the .rwdi Section Information. */
84 for (rwdi_section = sections; rwdi_section != sections_limit; rwdi_section++)
85 if (strcmp (rwdi_section->s_name, ".rwdi") == 0)
86 {
87 /* If there are relocation entries, we cannot "unrelocate" them. */
88 if (rwdi_section->s_nreloc > 0)
89 error (".rwdi section needs relocation - cannot dump Emacs");
90 delta_after_rwdi = delta_before_rwdi - rwdi_section->s_size;
91 old_rwdi_vaddr = rwdi_section->s_vaddr;
92 rwdi_section->s_paddr = 0;
93 rwdi_section->s_vaddr = 0;
94 rwdi_section->s_scnptr = 0;
95 rwdi_section->s_size = 0;
96 source_file_offset_past_rwdi = (rwdi_section+1)->s_scnptr;
97 break;
98 }
99 /* Skip over the Text Section Headers. */
100 for (section = sections; (section->s_flags & STYP_TEXT) != 0; section++) ;
101 /*
102 Find the First and Last Data Sections and Fixup
103 Section Header Relocation Pointers.
104 */
105 first_data_section = last_data_section = (struct scnhdr *) 0;
106 for (; section != sections_limit; section++)
107 {
108 if ((section->s_flags & STYP_DATA) != 0)
109 {
110 if (first_data_section == (struct scnhdr *) 0)
111 first_data_section = section;
112 last_data_section = section;
113 }
114 if (section->s_relptr != 0)
115 section->s_relptr += delta_after_rwdi;
116 }
117 /* Increment the Size of the Last Data Section. */
118 old_data_section_size = last_data_section->s_size;
119 last_data_section->s_size += delta_before_rwdi;
120
121 /* Update the File Header and Domain Header. */
122 file_header.f_symptr += delta_after_rwdi;
123 domain_header.dsize = data_size;
124 domain_header.bsize = 0;
125 /* Skip over subsequent Bss Section Headers. */
126 for (section = last_data_section+1;
127 (section->s_flags & STYP_BSS) != 0; section++) ;
128 /* Update the remaining Section Headers. */
129 blocks_section = (struct scnhdr *) 0;
130 first_changed_vaddr = 0;
131 for (; section != sections_limit; section++)
132 {
133 long delta = (section < rwdi_section ? delta_before_rwdi : delta_after_rwdi);
134 if (section->s_paddr != 0)
135 section->s_paddr += delta;
136 if (section->s_vaddr != 0)
137 {
138 if (first_changed_vaddr == 0)
139 first_changed_vaddr = section->s_vaddr;
140 section->s_vaddr += delta;
141 }
142 if (section->s_scnptr != 0)
143 section->s_scnptr += delta;
144 if (strcmp (section->s_name, ".blocks") == 0)
145 blocks_section = section;
146 else if (strcmp (section->s_name, ".sri") == 0 &&
147 domain_header.o_sri != 0)
148 domain_header.o_sri += delta;
149 else if (strcmp (section->s_name, ".inlib") == 0 &&
150 domain_header.o_inlib != 0)
151 domain_header.o_inlib += delta;
152 }
153 /* Open the Target File. */
154 ios_$create (target_file_name, strlen (target_file_name), coff_$uid,
155 ios_$recreate_mode, ios_$write_opt, &target_file, &status);
156 if (status.all != status_$ok)
157 error ("cannot open target file for output");
158 /* Write the File Header. */
159 if (write (target_file, &file_header, sizeof (file_header)) != sizeof (file_header))
160 error ("cannot write file header");
161 /* Write the Domain Header. */
162 if (write (target_file, &domain_header, sizeof (domain_header))
163 != sizeof (domain_header))
164 error ("cannot write domain header");
165 /* Write the Section Headers. */
166 if (write (target_file, sections, file_header.f_nscns*sizeof (struct scnhdr))
167 != file_header.f_nscns*sizeof (struct scnhdr))
168 error ("cannot write section headers");
169 /* Copy the Allocated Sections. */
170 for (section = sections; section != first_data_section; section++)
171 if (section->s_scnptr != 0)
172 CopyData (target_file, source_file, LONG_ALIGN(section->s_size));
173 /* Write the Expanded Data Segment. */
174 if (write (target_file, first_data_section->s_vaddr, data_size) != data_size)
175 error ("cannot write new data section");
176
177 /* Skip over the Last Data Section and Copy until the .rwdi Section. */
178 if (lseek (source_file, last_data_section->s_scnptr
179 +old_data_section_size, L_SET) == -1)
180 error ("cannot seek past data section");
181 for (section = last_data_section+1; section != rwdi_section; section++)
182 if (section->s_scnptr != 0)
183 CopyData (target_file, source_file, LONG_ALIGN(section->s_size));
184 /* Skip over the .rwdi Section and Copy Remainder of Source File. */
185 if (lseek (source_file, source_file_offset_past_rwdi, L_SET) == -1)
186 error ("cannot seek past .rwdi section");
187 while ((byte_count = read (source_file, buffer, sizeof (buffer))) > 0)
188 if (write (target_file, buffer, byte_count) != byte_count)
189 error ("cannot write data");
190 /* Unrelocate .data references to Global Symbols. */
191 for (section = first_data_section; section <= last_data_section; section++)
192 for (i = 0; i < section->s_nreloc; i++)
193 {
194 if (lseek (source_file, section->s_relptr
195 +i*sizeof (struct reloc)-delta_after_rwdi, L_SET) == -1)
196 error ("cannot seek to relocation info");
197 if (read (source_file, &reloc_entry, sizeof (reloc_entry))
198 != sizeof (reloc_entry))
199 error ("cannot read reloc entry");
200 if (lseek (source_file, reloc_entry.r_vaddr-section->s_vaddr
201 +section->s_scnptr, L_SET) == -1)
202 error ("cannot seek to data element");
203 if (lseek (target_file, reloc_entry.r_vaddr-section->s_vaddr
204 +section->s_scnptr, L_SET) == -1)
205 error ("cannot seek to data element");
206 if (read (source_file, buffer, 4) != 4)
207 error ("cannot read data element");
208 if (write (target_file, buffer, 4) != 4)
209 error ("cannot write data element");
210 }
211
212 /* Correct virtual addresses in .blocks section. */
213 if (blocks_section != (struct scnhdr *) 0)
214 {
215 dst_rec_t dst_record;
216 dst_rec_comp_unit_t *comp_unit;
217 unsigned short number_of_sections;
218 unsigned long section_base;
219 unsigned long section_offset = 0;
220 /* Find section tables and update section base addresses. */
221 while (section_offset < blocks_section->s_size)
222 {
223 if (lseek (target_file,
224 blocks_section->s_scnptr+section_offset, L_SET) == -1)
225 error ("cannot seek to comp unit record");
226 /* Handle pad records before the comp unit record. */
227 if (read (target_file, &dst_record, DST_RECORD_HDR_SIZE)
228 != DST_RECORD_HDR_SIZE)
229 error ("cannot read dst record tag");
230 if (dst_record.rec_type == dst_typ_pad)
231 section_offset += DST_RECORD_HDR_SIZE;
232 else if (dst_record.rec_type == dst_typ_comp_unit)
233 {
234 comp_unit = &dst_record.rec_data.comp_unit_;
235 if (read (target_file, comp_unit, sizeof (*comp_unit))
236 != sizeof (*comp_unit))
237 error ("cannot read comp unit record");
238 if (lseek (target_file, blocks_section->s_scnptr
239 +section_offset
240#if dst_version_major == 1 && dst_version_minor < 4
241 +comp_unit->section_table
242#else
243 +comp_unit->section_table.rel_offset
244#endif
245 +DST_RECORD_HDR_SIZE,
246 L_SET) == -1)
247 error ("cannot seek to section table");
248 if (read (target_file, &number_of_sections, sizeof (number_of_sections))
249 != sizeof (number_of_sections))
250 error ("cannot read section table size");
251 for (i = 0; i < number_of_sections; i++)
252 {
253 if (read (target_file, &section_base, sizeof (section_base))
254 != sizeof (section_base))
255 error ("cannot read section base value");
256 if (section_base < first_changed_vaddr)
257 continue;
258 else if (section_base < old_rwdi_vaddr)
259 section_base += delta_before_rwdi;
260 else section_base += delta_after_rwdi;
261 if (lseek (target_file, -sizeof (section_base), L_INCR) == -1)
262 error ("cannot seek to section base value");
263 if (write (target_file, &section_base, sizeof (section_base))
264 != sizeof (section_base))
265 error ("cannot write section base");
266 }
267 section_offset += comp_unit->data_size;
268 }
269 else error ("unexpected dst record type");
270 }
271 }
272
273 if (close (source_file) == -1)
274 error("cannot close source file");
275 if (close (target_file) == -1)
276 error ("cannot close target file");
277}
278
279
280static
281CopyData (target_file, source_file, total_byte_count)
282 int target_file, source_file;
283 long total_byte_count;
284{
285 unsigned char buffer[4096];
286 long byte_count;
287 while (total_byte_count > 0)
288 {
289 if (total_byte_count > sizeof (buffer))
290 byte_count = sizeof (buffer);
291 else byte_count = total_byte_count;
292 if (read (source_file, buffer, byte_count) != byte_count)
293 error ("cannot read data");
294 if (write (target_file, buffer, byte_count) != byte_count)
295 error ("cannot write data");
296 total_byte_count -= byte_count;
297 }
298}
299
300/* arch-tag: 783ebbdf-7d26-4df8-9469-17a1747dce96
301 (do not change this comment) */
diff --git a/src/unexconvex.c b/src/unexconvex.c
deleted file mode 100644
index 5682047d4fe..00000000000
--- a/src/unexconvex.c
+++ /dev/null
@@ -1,605 +0,0 @@
1/* Modified version of unexec for convex machines.
2 Note that the GNU project considers support for the peculiarities
3 of the Convex operating system a peripheral activity which should
4 not be allowed to divert effort from development of the GNU system.
5 Changes in this code will be installed when Convex system
6 maintainers send them in, but aside from that we don't plan to
7 think about it, or about whether other Emacs maintenance might
8 break it.
9
10 Copyright (C) 1985, 1986, 1988, 2001, 2002, 2003, 2004,
11 2005, 2006, 2007 Free Software Foundation, Inc.
12
13This file is part of GNU Emacs.
14
15GNU Emacs is free software; you can redistribute it and/or modify
16it under the terms of the GNU General Public License as published by
17the Free Software Foundation; either version 3, or (at your option)
18any later version.
19
20GNU Emacs is distributed in the hope that it will be useful,
21but WITHOUT ANY WARRANTY; without even the implied warranty of
22MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23GNU General Public License for more details.
24
25You should have received a copy of the GNU General Public License
26along with GNU Emacs; see the file COPYING. If not, write to
27the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
28Boston, MA 02110-1301, USA. */
29
30
31/* modified for C-1 arch by jthomp@convex 871103 */
32/* Corrected to support convex SOFF object file formats and thread specific
33 * regions. streepy@convex 890302
34*/
35
36/*
37 * unexec.c - Convert a running program into an a.out file.
38 *
39 * Author: Spencer W. Thomas
40 * Computer Science Dept.
41 * University of Utah
42 * Date: Tue Mar 2 1982
43 * Modified heavily since then.
44 *
45 * Synopsis:
46 * unexec (new_name, a_name, data_start, bss_start, entry_address)
47 * char *new_name, *a_name;
48 * unsigned data_start, bss_start, entry_address;
49 *
50 * Takes a snapshot of the program and makes an a.out format file in the
51 * file named by the string argument new_name.
52 * If a_name is non-NULL, the symbol table will be taken from the given file.
53 * On some machines, an existing a_name file is required.
54 *
55 * The boundaries within the a.out file may be adjusted with the data_start
56 * and bss_start arguments. Either or both may be given as 0 for defaults.
57 *
58 * Data_start gives the boundary between the text segment and the data
59 * segment of the program. The text segment can contain shared, read-only
60 * program code and literal data, while the data segment is always unshared
61 * and unprotected. Data_start gives the lowest unprotected address.
62 * The value you specify may be rounded down to a suitable boundary
63 * as required by the machine you are using.
64 *
65 * Specifying zero for data_start means the boundary between text and data
66 * should not be the same as when the program was loaded.
67 * If NO_REMAP is defined, the argument data_start is ignored and the
68 * segment boundaries are never changed.
69 *
70 * Bss_start indicates how much of the data segment is to be saved in the
71 * a.out file and restored when the program is executed. It gives the lowest
72 * unsaved address, and is rounded up to a page boundary. The default when 0
73 * is given assumes that the entire data segment is to be stored, including
74 * the previous data and bss as well as any additional storage allocated with
75 * break (2).
76 *
77 * The new file is set up to start at entry_address.
78 *
79 * If you make improvements I'd like to get them too.
80 * harpo!utah-cs!thomas, thomas@Utah-20
81 *
82 */
83
84/* There are several compilation parameters affecting unexec:
85
86* COFF
87
88Define this if your system uses COFF for executables.
89Otherwise we assume you use Berkeley format.
90
91* NO_REMAP
92
93Define this if you do not want to try to save Emacs's pure data areas
94as part of the text segment.
95
96Saving them as text is good because it allows users to share more.
97
98However, on machines that locate the text area far from the data area,
99the boundary cannot feasibly be moved. Such machines require
100NO_REMAP.
101
102Also, remapping can cause trouble with the built-in startup routine
103/lib/crt0.o, which defines `environ' as an initialized variable.
104Dumping `environ' as pure does not work! So, to use remapping,
105you must write a startup routine for your machine in Emacs's crt0.c.
106If NO_REMAP is defined, Emacs uses the system's crt0.o.
107
108* SECTION_ALIGNMENT
109
110Some machines that use COFF executables require that each section
111start on a certain boundary *in the COFF file*. Such machines should
112define SECTION_ALIGNMENT to a mask of the low-order bits that must be
113zero on such a boundary. This mask is used to control padding between
114segments in the COFF file.
115
116If SECTION_ALIGNMENT is not defined, the segments are written
117consecutively with no attempt at alignment. This is right for
118unmodified system V.
119
120* SEGMENT_MASK
121
122Some machines require that the beginnings and ends of segments
123*in core* be on certain boundaries. For most machines, a page
124boundary is sufficient. That is the default. When a larger
125boundary is needed, define SEGMENT_MASK to a mask of
126the bits that must be zero on such a boundary.
127
128* A_TEXT_OFFSET(HDR)
129
130Some machines count the a.out header as part of the size of the text
131segment (a_text); they may actually load the header into core as the
132first data in the text segment. Some have additional padding between
133the header and the real text of the program that is counted in a_text.
134
135For these machines, define A_TEXT_OFFSET(HDR) to examine the header
136structure HDR and return the number of bytes to add to `a_text'
137before writing it (above and beyond the number of bytes of actual
138program text). HDR's standard fields are already correct, except that
139this adjustment to the `a_text' field has not yet been made;
140thus, the amount of offset can depend on the data in the file.
141
142* A_TEXT_SEEK(HDR)
143
144If defined, this macro specifies the number of bytes to seek into the
145a.out file before starting to write the text segment.a
146
147* EXEC_MAGIC
148
149For machines using COFF, this macro, if defined, is a value stored
150into the magic number field of the output file.
151
152* ADJUST_EXEC_HEADER
153
154This macro can be used to generate statements to adjust or
155initialize nonstandard fields in the file header
156
157* ADDR_CORRECT(ADDR)
158
159Macro to correct an int which is the bit pattern of a pointer to a byte
160into an int which is the number of a byte.
161
162This macro has a default definition which is usually right.
163This default definition is a no-op on most machines (where a
164pointer looks like an int) but not on all machines.
165
166*/
167
168#include <config.h>
169#define PERROR(file) report_error (file, new)
170
171#include <a.out.h>
172/* Define getpagesize () if the system does not.
173 Note that this may depend on symbols defined in a.out.h
174 */
175#include "getpagesize.h"
176
177#include <sys/types.h>
178#include <stdio.h>
179#include <sys/stat.h>
180#include <errno.h>
181
182extern char *start_of_text (); /* Start of text */
183extern char *start_of_data (); /* Start of initialized data */
184
185#include <machine/filehdr.h>
186#include <machine/opthdr.h>
187#include <machine/scnhdr.h>
188#include <machine/pte.h>
189
190static long block_copy_start; /* Old executable start point */
191static struct filehdr f_hdr; /* File header */
192static struct opthdr f_ohdr; /* Optional file header (a.out) */
193long bias; /* Bias to add for growth */
194#define SYMS_START block_copy_start
195
196static long text_scnptr;
197static long data_scnptr;
198
199static int pagemask;
200static int pagesz;
201
202static
203report_error (file, fd)
204 char *file;
205 int fd;
206{
207 if (fd)
208 close (fd);
209 error ("Failure operating on %s", file);
210}
211
212#define ERROR0(msg) report_error_1 (new, msg, 0, 0); return -1
213#define ERROR1(msg,x) report_error_1 (new, msg, x, 0); return -1
214#define ERROR2(msg,x,y) report_error_1 (new, msg, x, y); return -1
215
216static
217report_error_1 (fd, msg, a1, a2)
218int fd;
219char *msg;
220int a1, a2;
221{
222 close (fd);
223 error (msg, a1, a2);
224}
225
226/* ****************************************************************
227 * unexec
228 *
229 * driving logic.
230 */
231unexec (new_name, a_name, data_start, bss_start, entry_address)
232char *new_name, *a_name;
233unsigned data_start, bss_start, entry_address;
234{
235 int new, a_out = -1;
236
237 if (a_name && (a_out = open (a_name, 0)) < 0) {
238 PERROR (a_name);
239 }
240 if ((new = creat (new_name, 0666)) < 0) {
241 PERROR (new_name);
242 }
243
244 if (make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) < 0
245 || copy_text_and_data (new) < 0
246 || copy_sym (new, a_out, a_name, new_name) < 0 ) {
247 close (new);
248 return -1;
249 }
250
251 close (new);
252 if (a_out >= 0)
253 close (a_out);
254 mark_x (new_name);
255 return 0;
256}
257
258/* ****************************************************************
259 * make_hdr
260 *
261 * Make the header in the new a.out from the header in core.
262 * Modify the text and data sizes.
263 */
264
265 struct scnhdr *stbl; /* Table of all scnhdr's */
266 struct scnhdr *f_thdr; /* Text section header */
267 struct scnhdr *f_dhdr; /* Data section header */
268 struct scnhdr *f_tdhdr; /* Thread Data section header */
269 struct scnhdr *f_bhdr; /* Bss section header */
270 struct scnhdr *f_tbhdr; /* Thread Bss section header */
271
272static int
273make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
274 int new, a_out;
275 unsigned data_start, bss_start, entry_address;
276 char *a_name;
277 char *new_name;
278{
279 register int scns;
280 unsigned int bss_end;
281 unsigned int eo_data; /* End of initialized data in new exec file */
282 int scntype; /* Section type */
283 int i; /* Var for sorting by vaddr */
284 struct scnhdr scntemp; /* For swapping entries in sort */
285 extern char *start_of_data();
286
287 pagemask = (pagesz = getpagesize()) - 1;
288
289 /* Adjust text/data boundary. */
290 if (!data_start)
291 data_start = (unsigned) start_of_data ();
292
293 data_start = data_start & ~pagemask; /* (Down) to page boundary. */
294
295 bss_end = (sbrk(0) + pagemask) & ~pagemask;
296
297 /* Adjust data/bss boundary. */
298 if (bss_start != 0) {
299 bss_start = (bss_start + pagemask) & ~pagemask;/* (Up) to page bdry. */
300 if (bss_start > bss_end) {
301 ERROR1 ("unexec: Specified bss_start (%x) is past end of program",
302 bss_start);
303 }
304 } else
305 bss_start = bss_end;
306
307 if (data_start > bss_start) { /* Can't have negative data size. */
308 ERROR2 ("unexec: data_start (%x) can't be greater than bss_start (%x)",
309 data_start, bss_start);
310 }
311
312 /* Salvage as much info from the existing file as possible */
313 if (a_out < 0) {
314 ERROR0 ("can't build a COFF file from scratch yet");
315 /*NOTREACHED*/
316 }
317
318 if (read (a_out, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) {
319 PERROR (a_name);
320 }
321 block_copy_start += sizeof (f_hdr);
322 if (f_hdr.h_opthdr > 0) {
323 if (read (a_out, &f_ohdr, sizeof (f_ohdr)) != sizeof (f_ohdr)) {
324 PERROR (a_name);
325 }
326 block_copy_start += sizeof (f_ohdr);
327 }
328
329 /* Allocate room for scn headers */
330 stbl = (struct scnhdr *)malloc( sizeof(struct scnhdr) * f_hdr.h_nscns );
331 if( stbl == NULL ) {
332 ERROR0( "unexec: malloc of stbl failed" );
333 }
334
335 f_tdhdr = f_tbhdr = NULL;
336
337 /* Loop through section headers, copying them in */
338 for (scns = 0; scns < f_hdr.h_nscns; scns++) {
339
340 if( read( a_out, &stbl[scns], sizeof(*stbl)) != sizeof(*stbl)) {
341 PERROR (a_name);
342 }
343
344 scntype = stbl[scns].s_flags & S_TYPMASK; /* What type of section */
345
346 if( stbl[scns].s_scnptr > 0L) {
347 if( block_copy_start < stbl[scns].s_scnptr + stbl[scns].s_size )
348 block_copy_start = stbl[scns].s_scnptr + stbl[scns].s_size;
349 }
350
351 if( scntype == S_TEXT) {
352 f_thdr = &stbl[scns];
353 } else if( scntype == S_DATA) {
354 f_dhdr = &stbl[scns];
355#ifdef S_TDATA
356 } else if( scntype == S_TDATA ) {
357 f_tdhdr = &stbl[scns];
358 } else if( scntype == S_TBSS ) {
359 f_tbhdr = &stbl[scns];
360#endif /* S_TDATA (thread stuff) */
361
362 } else if( scntype == S_BSS) {
363 f_bhdr = &stbl[scns];
364 }
365
366 }
367
368 /* We will now convert TEXT and DATA into TEXT, BSS into DATA, and leave
369 * all thread stuff alone.
370 */
371
372 /* Now we alter the contents of all the f_*hdr variables
373 to correspond to what we want to dump. */
374
375 f_thdr->s_vaddr = (long) start_of_text ();
376 f_thdr->s_size = data_start - f_thdr->s_vaddr;
377 f_thdr->s_scnptr = pagesz;
378 f_thdr->s_relptr = 0;
379 f_thdr->s_nrel = 0;
380
381 eo_data = f_thdr->s_scnptr + f_thdr->s_size;
382
383 if( f_tdhdr ) { /* Process thread data */
384
385 f_tdhdr->s_vaddr = data_start;
386 f_tdhdr->s_size += f_dhdr->s_size - (data_start - f_dhdr->s_vaddr);
387 f_tdhdr->s_scnptr = eo_data;
388 f_tdhdr->s_relptr = 0;
389 f_tdhdr->s_nrel = 0;
390
391 eo_data += f_tdhdr->s_size;
392
393 /* And now for DATA */
394
395 f_dhdr->s_vaddr = f_bhdr->s_vaddr; /* Take BSS start address */
396 f_dhdr->s_size = bss_end - f_bhdr->s_vaddr;
397 f_dhdr->s_scnptr = eo_data;
398 f_dhdr->s_relptr = 0;
399 f_dhdr->s_nrel = 0;
400
401 eo_data += f_dhdr->s_size;
402
403 } else {
404
405 f_dhdr->s_vaddr = data_start;
406 f_dhdr->s_size = bss_start - data_start;
407 f_dhdr->s_scnptr = eo_data;
408 f_dhdr->s_relptr = 0;
409 f_dhdr->s_nrel = 0;
410
411 eo_data += f_dhdr->s_size;
412
413 }
414
415 f_bhdr->s_vaddr = bss_start;
416 f_bhdr->s_size = bss_end - bss_start + pagesz /* fudge */;
417 f_bhdr->s_scnptr = 0;
418 f_bhdr->s_relptr = 0;
419 f_bhdr->s_nrel = 0;
420
421 text_scnptr = f_thdr->s_scnptr;
422 data_scnptr = f_dhdr->s_scnptr;
423 bias = eo_data - block_copy_start;
424
425 if (f_ohdr.o_symptr > 0L) {
426 f_ohdr.o_symptr += bias;
427 }
428
429 if (f_hdr.h_strptr > 0) {
430 f_hdr.h_strptr += bias;
431 }
432
433 if (write (new, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) {
434 PERROR (new_name);
435 }
436
437 if (write (new, &f_ohdr, sizeof (f_ohdr)) != sizeof (f_ohdr)) {
438 PERROR (new_name);
439 }
440
441 for( scns = 0; scns < f_hdr.h_nscns; scns++ ) {
442
443 /* This is a cheesy little loop to write out the section headers
444 * in order of increasing virtual address. Dull but effective.
445 */
446
447 for( i = scns+1; i < f_hdr.h_nscns; i++ ) {
448 if( stbl[i].s_vaddr < stbl[scns].s_vaddr ) { /* Swap */
449 scntemp = stbl[i];
450 stbl[i] = stbl[scns];
451 stbl[scns] = scntemp;
452 }
453 }
454
455 }
456
457 for( scns = 0; scns < f_hdr.h_nscns; scns++ ) {
458
459 if( write( new, &stbl[scns], sizeof(*stbl)) != sizeof(*stbl)) {
460 PERROR (new_name);
461 }
462
463 }
464
465 return (0);
466
467}
468
469/* ****************************************************************
470 * copy_text_and_data
471 *
472 * Copy the text and data segments from memory to the new a.out
473 */
474static int
475copy_text_and_data (new)
476int new;
477{
478 register int scns;
479
480 for( scns = 0; scns < f_hdr.h_nscns; scns++ )
481 write_segment( new, &stbl[scns] );
482
483 return 0;
484}
485
486write_segment( new, sptr )
487int new;
488struct scnhdr *sptr;
489{
490 register char *ptr, *end;
491 register int nwrite, ret;
492 char buf[80];
493 extern int errno;
494 char zeros[128];
495
496 if( sptr->s_scnptr == 0 )
497 return; /* Nothing to do */
498
499 if( lseek( new, (long) sptr->s_scnptr, 0 ) == -1 )
500 PERROR( "unexecing" );
501
502 bzero (zeros, sizeof zeros);
503
504 ptr = (char *) sptr->s_vaddr;
505 end = ptr + sptr->s_size;
506
507 while( ptr < end ) {
508
509 /* distance to next multiple of 128. */
510 nwrite = (((int) ptr + 128) & -128) - (int) ptr;
511 /* But not beyond specified end. */
512 if (nwrite > end - ptr) nwrite = end - ptr;
513 ret = write (new, ptr, nwrite);
514 /* If write gets a page fault, it means we reached
515 a gap between the old text segment and the old data segment.
516 This gap has probably been remapped into part of the text segment.
517 So write zeros for it. */
518 if (ret == -1 && errno == EFAULT)
519 write (new, zeros, nwrite);
520 else if (nwrite != ret) {
521 sprintf (buf,
522 "unexec write failure: addr 0x%x, fileno %d, size 0x%x, wrote 0x%x, errno %d",
523 ptr, new, nwrite, ret, errno);
524 PERROR (buf);
525 }
526 ptr += nwrite;
527 }
528}
529
530/* ****************************************************************
531 * copy_sym
532 *
533 * Copy the relocation information and symbol table from the a.out to the new
534 */
535static int
536copy_sym (new, a_out, a_name, new_name)
537 int new, a_out;
538 char *a_name, *new_name;
539{
540 char page[1024];
541 int n;
542
543 if (a_out < 0)
544 return 0;
545
546 if (SYMS_START == 0L)
547 return 0;
548
549 lseek (a_out, SYMS_START, 0); /* Position a.out to symtab. */
550 lseek( new, (long)f_ohdr.o_symptr, 0 );
551
552 while ((n = read (a_out, page, sizeof page)) > 0) {
553 if (write (new, page, n) != n) {
554 PERROR (new_name);
555 }
556 }
557 if (n < 0) {
558 PERROR (a_name);
559 }
560 return 0;
561}
562
563/* ****************************************************************
564 * mark_x
565 *
566 * After successfully building the new a.out, mark it executable
567 */
568static
569mark_x (name)
570char *name;
571{
572 struct stat sbuf;
573 int um;
574 int new = 0; /* for PERROR */
575
576 um = umask (777);
577 umask (um);
578 if (stat (name, &sbuf) == -1) {
579 PERROR (name);
580 }
581 sbuf.st_mode |= 0111 & ~um;
582 if (chmod (name, sbuf.st_mode) == -1)
583 PERROR (name);
584}
585
586/* Find the first pty letter. This is usually 'p', as in ptyp0, but
587 is sometimes configured down to 'm', 'n', or 'o' for some reason. */
588
589first_pty_letter ()
590{
591 struct stat buf;
592 char pty_name[16];
593 char c;
594
595 for (c = 'o'; c >= 'a'; c--)
596 {
597 sprintf (pty_name, "/dev/pty%c0", c);
598 if (stat (pty_name, &buf) < 0)
599 return c + 1;
600 }
601 return 'a';
602}
603
604/* arch-tag: 8199e06d-69b5-4f79-84d8-00f6ea929af9
605 (do not change this comment) */
diff --git a/src/unexenix.c b/src/unexenix.c
deleted file mode 100644
index 343eb6dfbdc..00000000000
--- a/src/unexenix.c
+++ /dev/null
@@ -1,264 +0,0 @@
1/* Unexec for Xenix.
2 Note that the GNU project considers support for Xenix operation
3 a peripheral activity which should not be allowed to divert effort
4 from development of the GNU system. Changes in this code will be
5 installed when Xenix users send them in, but aside from that
6 we don't plan to think about it, or about whether other Emacs
7 maintenance might break it.
8
9 Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004,
10 2005, 2006, 2007 Free Software Foundation, Inc.
11
12This file is part of GNU Emacs.
13
14GNU Emacs is free software; you can redistribute it and/or modify
15it under the terms of the GNU General Public License as published by
16the Free Software Foundation; either version 3, or (at your option)
17any later version.
18
19GNU Emacs is distributed in the hope that it will be useful,
20but WITHOUT ANY WARRANTY; without even the implied warranty of
21MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22GNU General Public License for more details.
23
24You should have received a copy of the GNU General Public License
25along with GNU Emacs; see the file COPYING. If not, write to
26the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
27Boston, MA 02110-1301, USA. */
28
29
30
31/*
32 On 80386 Xenix, segmentation screws prevent us from modifying the text
33 segment at all. We basically just plug a new value for "data segment
34 size" into the countless headers and copy the other records straight
35 through. The data segment is ORG'ed at the xs_rbase value of the data
36 segment's xseg record (always @ 0x1880000, thanks to the "sophisticated
37 memory management hardware" of the chip) and extends to sbrk(0), exactly.
38 This code is afraid to malloc (should it be?), and alloca has to be the
39 wimpy, malloc-based version; consequently, data is usually copied in
40 smallish chunks.
41
42 gb@entity.com
43*/
44
45#include <config.h>
46#include <sys/types.h>
47#include <fcntl.h>
48#include <sys/file.h>
49#include <sys/stat.h>
50#include <stdio.h>
51#include <varargs.h>
52#include <a.out.h>
53
54static void fatal_unexec ();
55
56#define READ(_fd, _buffer, _size, _error_message, _error_arg) \
57 errno = EEOF; \
58 if (read(_fd, _buffer, _size) != _size) \
59 fatal_unexec(_error_message, _error_arg);
60
61#define WRITE(_fd, _buffer, _size, _error_message, _error_arg) \
62 if (write(_fd, _buffer, _size) != _size) \
63 fatal_unexec(_error_message, _error_arg);
64
65#define SEEK(_fd, _position, _error_message, _error_arg) \
66 errno = EEOF; \
67 if (lseek(_fd, _position, L_SET) != _position) \
68 fatal_unexec(_error_message, _error_arg);
69
70extern int errno;
71extern char *strerror ();
72#define EEOF -1
73
74#ifndef L_SET
75#define L_SET 0
76#endif
77
78/* Should check the magic number of the old executable;
79 not yet written. */
80check_exec (x)
81 struct xexec *x;
82{
83}
84
85
86unexec (new_name, a_name, data_start, bss_start, entry_address)
87 char *new_name, *a_name;
88 unsigned data_start, bss_start, entry_address;
89{
90 char *sbrk (), *datalim = sbrk (0), *data_org;
91 long segpos, textseen, textpos, textlen, datapos, datadiff, datalen;
92
93 struct xexec u_xexec, /* a.out header */
94 *u_xexecp = &u_xexec;
95 struct xext u_xext, /* extended header */
96 *u_xextp = &u_xext;
97 struct xseg u_xseg, /* segment table entry */
98 *u_xsegp = &u_xseg;
99 int i, nsegs, isdata = 0, infd, outfd;
100
101 infd = open (a_name, O_RDONLY, 0);
102 if (infd < 0) fatal_unexec ("opening %s", a_name);
103
104 outfd = creat (new_name, 0666);
105 if (outfd < 0) fatal_unexec ("creating %s", new_name);
106
107 READ (infd, u_xexecp, sizeof (struct xexec),
108 "error reading %s", a_name);
109 check_exec (u_xexecp);
110 READ (infd, u_xextp, sizeof (struct xext),
111 "error reading %s", a_name);
112 segpos = u_xextp->xe_segpos;
113 nsegs = u_xextp->xe_segsize / sizeof (struct xseg);
114 SEEK (infd, segpos, "seek error on %s", a_name);
115 for (i = 0; i < nsegs; i ++)
116 {
117 READ (infd, u_xsegp, sizeof (struct xseg),
118 "error reading %s", a_name);
119 switch (u_xsegp->xs_type)
120 {
121 case XS_TTEXT:
122 {
123 if (i == 0)
124 {
125 textpos = u_xsegp->xs_filpos;
126 textlen = u_xsegp->xs_psize;
127 break;
128 }
129 fatal_unexec ("invalid text segment in %s", a_name);
130 }
131 case XS_TDATA:
132 {
133 if (i == 1)
134 {
135 datapos = u_xsegp->xs_filpos;
136 datalen = datalim - (data_org = (char *)(u_xsegp->xs_rbase));
137 datadiff = datalen - u_xsegp->xs_psize;
138 break;
139 }
140 fatal_unexec ("invalid data segment in %s", a_name);
141 }
142 default:
143 {
144 if (i > 1) break;
145 fatal_unexec ("invalid segment record in %s", a_name);
146 }
147 }
148 }
149 u_xexecp->x_data = datalen;
150 u_xexecp->x_bss = 0;
151 WRITE (outfd, u_xexecp, sizeof (struct xexec),
152 "error writing %s", new_name);
153 WRITE (outfd, u_xextp, sizeof (struct xext),
154 "error writing %s", new_name);
155 SEEK (infd, segpos, "seek error on %s", a_name);
156 SEEK (outfd, segpos, "seek error on %s", new_name);
157
158 /* Copy the text segment record verbatim. */
159
160 copyrec (infd, outfd, sizeof (struct xseg), a_name, new_name);
161
162 /* Read, modify, write the data segment record. */
163
164 READ (infd, u_xsegp, sizeof (struct xseg),
165 "error reading %s", a_name);
166 u_xsegp->xs_psize = u_xsegp->xs_vsize = datalen;
167 u_xsegp->xs_attr &= (~XS_AITER & ~XS_ABSS);
168 WRITE (outfd, u_xsegp, sizeof (struct xseg),
169 "error writing %s", new_name);
170
171 /* Now copy any additional segment records, adjusting their
172 file position field */
173
174 for (i = 2; i < nsegs; i++)
175 {
176 READ (infd, u_xsegp, sizeof (struct xseg),
177 "error reading %s", a_name);
178 u_xsegp->xs_filpos += datadiff;
179 WRITE (outfd, u_xsegp, sizeof (struct xseg),
180 "error writing %s", new_name);
181 }
182
183 SEEK (infd, textpos, "seek error on %s", a_name);
184 SEEK (outfd, textpos, "seek error on %s", new_name);
185 copyrec (infd, outfd, textlen, a_name, new_name);
186
187 SEEK (outfd, datapos, "seek error on %s", new_name);
188 WRITE (outfd, data_org, datalen,
189 "write error on %s", new_name);
190
191 for (i = 2, segpos += (2 * sizeof (struct xseg));
192 i < nsegs;
193 i++, segpos += sizeof (struct xseg))
194 {
195 SEEK (infd, segpos, "seek error on %s", a_name);
196 READ (infd, u_xsegp, sizeof (struct xseg),
197 "read error on %s", a_name);
198 SEEK (infd, u_xsegp->xs_filpos, "seek error on %s", a_name);
199 /* We should be at eof in the output file here, but we must seek
200 because the xs_filpos and xs_psize fields in symbol table
201 segments are inconsistent. */
202 SEEK (outfd, u_xsegp->xs_filpos + datadiff, "seek error on %s", new_name);
203 copyrec (infd, outfd, u_xsegp->xs_psize, a_name, new_name);
204 }
205 close (infd);
206 close (outfd);
207 mark_x (new_name);
208 return 0;
209}
210
211copyrec (infd, outfd, len, in_name, out_name)
212 int infd, outfd, len;
213 char *in_name, *out_name;
214{
215 char buf[BUFSIZ];
216 int chunk;
217
218 while (len)
219 {
220 chunk = BUFSIZ;
221 if (chunk > len)
222 chunk = len;
223 READ (infd, buf, chunk, "error reading %s", in_name);
224 WRITE (outfd, buf, chunk, "error writing %s", out_name);
225 len -= chunk;
226 }
227}
228
229/*
230 * mark_x
231 *
232 * After successfully building the new a.out, mark it executable
233 */
234static
235mark_x (name)
236 char *name;
237{
238 struct stat sbuf;
239 int um = umask (777);
240 umask (um);
241 if (stat (name, &sbuf) < 0)
242 fatal_unexec ("getting protection on %s", name);
243 sbuf.st_mode |= 0111 & ~um;
244 if (chmod (name, sbuf.st_mode) < 0)
245 fatal_unexec ("setting protection on %s", name);
246}
247
248static void
249fatal_unexec (s, va_alist)
250 va_dcl
251{
252 va_list ap;
253 if (errno == EEOF)
254 fputs ("unexec: unexpected end of file, ", stderr);
255 else
256 fprintf (stderr, "unexec: %s, ", strerror (errno));
257 va_start (ap);
258 _doprnt (s, ap, stderr);
259 fputs (".\n", stderr);
260 exit (1);
261}
262
263/* arch-tag: ce26be27-370a-438d-83b4-766059749a02
264 (do not change this comment) */
diff --git a/src/unexsni.c b/src/unexsni.c
deleted file mode 100644
index bbf9287e1f2..00000000000
--- a/src/unexsni.c
+++ /dev/null
@@ -1,925 +0,0 @@
1/* Unexec for Siemens machines running Sinix (modified SVR4).
2 Copyright (C) 1985, 1986, 1987, 1988, 1990, 1992, 1993, 1994, 1995, 2001,
3 2002, 2003, 2004, 2005, 2006, 2007
4 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA.
22
23In other words, you are welcome to use, share and improve this program.
24You are forbidden to forbid anyone else to use, share and improve
25what you give them. Help stamp out software-hoarding! */
26
27/*
28 * unexec.c - Convert a running program into an a.out file.
29 *
30 * Author: Spencer W. Thomas
31 * Computer Science Dept.
32 * University of Utah
33 * Date: Tue Mar 2 1982
34 * Modified heavily since then.
35 *
36 * Synopsis:
37 * unexec (new_name, a_name, data_start, bss_start, entry_address)
38 * char *new_name, *a_name;
39 * unsigned data_start, bss_start, entry_address;
40 *
41 * Takes a snapshot of the program and makes an a.out format file in the
42 * file named by the string argument new_name.
43 * If a_name is non-NULL, the symbol table will be taken from the given file.
44 * On some machines, an existing a_name file is required.
45 *
46 * The boundaries within the a.out file may be adjusted with the data_start
47 * and bss_start arguments. Either or both may be given as 0 for defaults.
48 *
49 * Data_start gives the boundary between the text segment and the data
50 * segment of the program. The text segment can contain shared, read-only
51 * program code and literal data, while the data segment is always unshared
52 * and unprotected. Data_start gives the lowest unprotected address.
53 * The value you specify may be rounded down to a suitable boundary
54 * as required by the machine you are using.
55 *
56 * Specifying zero for data_start means the boundary between text and data
57 * should not be the same as when the program was loaded.
58 * If NO_REMAP is defined, the argument data_start is ignored and the
59 * segment boundaries are never changed.
60 *
61 * Bss_start indicates how much of the data segment is to be saved in the
62 * a.out file and restored when the program is executed. It gives the lowest
63 * unsaved address, and is rounded up to a page boundary. The default when 0
64 * is given assumes that the entire data segment is to be stored, including
65 * the previous data and bss as well as any additional storage allocated with
66 * break (2).
67 *
68 * The new file is set up to start at entry_address.
69 *
70 * If you make improvements I'd like to get them too.
71 * harpo!utah-cs!thomas, thomas@Utah-20
72 *
73 */
74
75/* Even more heavily modified by james@bigtex.cactus.org of Dell Computer Co.
76 * ELF support added.
77 *
78 * Basic theory: the data space of the running process needs to be
79 * dumped to the output file. Normally we would just enlarge the size
80 * of .data, scooting everything down. But we can't do that in ELF,
81 * because there is often something between the .data space and the
82 * .bss space.
83 *
84 * In the temacs dump below, notice that the Global Offset Table
85 * (.got) and the Dynamic link data (.dynamic) come between .data1 and
86 * .bss. It does not work to overlap .data with these fields.
87 *
88 * The solution is to create a new .data segment. This segment is
89 * filled with data from the current process. Since the contents of
90 * various sections refer to sections by index, the new .data segment
91 * is made the last in the table to avoid changing any existing index.
92 */
93
94/* Modified by wtien@urbana.mcd.mot.com of Motorola Inc.
95 *
96 * The above mechanism does not work if the unexeced ELF file is being
97 * re-layout by other applications (such as `strip'). All the applications
98 * that re-layout the internal of ELF will layout all sections in ascending
99 * order of their file offsets. After the re-layout, the data2 section will
100 * still be the LAST section in the section header vector, but its file offset
101 * is now being pushed far away down, and causes part of it not to be mapped
102 * in (ie. not covered by the load segment entry in PHDR vector), therefore
103 * causes the new binary to fail.
104 *
105 * The solution is to modify the unexec algorithm to insert the new data2
106 * section header right before the new bss section header, so their file
107 * offsets will be in the ascending order. Since some of the section's (all
108 * sections AFTER the bss section) indexes are now changed, we also need to
109 * modify some fields to make them point to the right sections. This is done
110 * by macro PATCH_INDEX. All the fields that need to be patched are:
111 *
112 * 1. ELF header e_shstrndx field.
113 * 2. section header sh_link and sh_info field.
114 * 3. symbol table entry st_shndx field.
115 */
116
117/*
118 * New modifications for Siemens Nixdorf's MIPS-based machines.
119 * Marco.Walther@mch.sni.de
120 * marco@inreach.com
121 *
122 * The problem: Before the bss segment we have a so called sbss segment
123 * (small bss) and maybe an sdata segment. These segments
124 * must also be handled correct.
125 *
126 * /home1/marco/emacs/emacs-19.22/src
127 * dump -hv temacs
128 *
129 * temacs:
130 *
131 * **** SECTION HEADER TABLE ****
132 * [No] Type Flags Addr Offset Size Name
133 * Link Info Adralgn Entsize
134 *
135 * [1] PBIT -A-- 0x4000f4 0xf4 0x13 .interp
136 * 0 0 0x1 0
137 *
138 * [2] REGI -A-- 0x400108 0x108 0x18 .reginfo
139 * 0 0 0x4 0x18
140 *
141 * [3] DYNM -A-- 0x400120 0x120 0xb8 .dynamic
142 * 6 0 0x4 0x8
143 *
144 * [4] HASH -A-- 0x4001d8 0x1d8 0x8a0 .hash
145 * 5 0 0x4 0x4
146 *
147 * [5] DYNS -A-- 0x400a78 0xa78 0x11f0 .dynsym
148 * 6 2 0x4 0x10
149 *
150 * [6] STRT -A-- 0x401c68 0x1c68 0xbf9 .dynstr
151 * 0 0 0x1 0
152 *
153 * [7] REL -A-- 0x402864 0x2864 0x18 .rel.dyn
154 * 5 14 0x4 0x8
155 *
156 * [8] PBIT -AI- 0x402880 0x2880 0x60 .init
157 * 0 0 0x10 0x1
158 *
159 * [9] PBIT -AI- 0x4028e0 0x28e0 0x1234 .plt
160 * 0 0 0x4 0x4
161 *
162 * [10] PBIT -AI- 0x403b20 0x3b20 0xee400 .text
163 * 0 0 0x20 0x1
164 *
165 * [11] PBIT -AI- 0x4f1f20 0xf1f20 0x60 .fini
166 * 0 0 0x10 0x1
167 *
168 * [12] PBIT -A-- 0x4f1f80 0xf1f80 0xd90 .rdata
169 * 0 0 0x10 0x1
170 *
171 * [13] PBIT -A-- 0x4f2d10 0xf2d10 0x17e0 .rodata
172 * 0 0 0x10 0x1
173 *
174 * [14] PBIT WA-- 0x5344f0 0xf44f0 0x4b3e4 .data <<<<<
175 * 0 0 0x10 0x1
176 *
177 * [15] PBIT WA-G 0x57f8d4 0x13f8d4 0x2a84 .got
178 * 0 0 0x4 0x4
179 *
180 * [16] PBIT WA-G 0x582360 0x142360 0x10 .sdata <<<<<
181 * 0 0 0x10 0x1
182 *
183 * [17] NOBI WA-G 0x582370 0x142370 0xb84 .sbss <<<<<
184 * 0 0 0x4 0
185 *
186 * [18] NOBI WA-- 0x582f00 0x142370 0x27ec0 .bss <<<<<
187 * 0 0 0x10 0x1
188 *
189 * [19] SYMT ---- 0 0x142370 0x10e40 .symtab
190 * 20 1108 0x4 0x10
191 *
192 * [20] STRT ---- 0 0x1531b0 0xed9e .strtab
193 * 0 0 0x1 0
194 *
195 * [21] STRT ---- 0 0x161f4e 0xb5 .shstrtab
196 * 0 0 0x1 0
197 *
198 * [22] PBIT ---- 0 0x162003 0x28e2a .comment
199 * 0 0 0x1 0x1
200 *
201 * [23] PBIT ---- 0 0x18ae2d 0x592 .debug
202 * 0 0 0x1 0
203 *
204 * [24] PBIT ---- 0 0x18b3bf 0x80 .line
205 * 0 0 0x1 0
206 *
207 * [25] MDBG ---- 0 0x18b440 0x60 .mdebug
208 * 0 0 0x4 0
209 *
210 *
211 * dump -hv emacs
212 *
213 * emacs:
214 *
215 * **** SECTION HEADER TABLE ****
216 * [No] Type Flags Addr Offset Size Name
217 * Link Info Adralgn Entsize
218 *
219 * [1] PBIT -A-- 0x4000f4 0xf4 0x13 .interp
220 * 0 0 0x1 0
221 *
222 * [2] REGI -A-- 0x400108 0x108 0x18 .reginfo
223 * 0 0 0x4 0x18
224 *
225 * [3] DYNM -A-- 0x400120 0x120 0xb8 .dynamic
226 * 6 0 0x4 0x8
227 *
228 * [4] HASH -A-- 0x4001d8 0x1d8 0x8a0 .hash
229 * 5 0 0x4 0x4
230 *
231 * [5] DYNS -A-- 0x400a78 0xa78 0x11f0 .dynsym
232 * 6 2 0x4 0x10
233 *
234 * [6] STRT -A-- 0x401c68 0x1c68 0xbf9 .dynstr
235 * 0 0 0x1 0
236 *
237 * [7] REL -A-- 0x402864 0x2864 0x18 .rel.dyn
238 * 5 14 0x4 0x8
239 *
240 * [8] PBIT -AI- 0x402880 0x2880 0x60 .init
241 * 0 0 0x10 0x1
242 *
243 * [9] PBIT -AI- 0x4028e0 0x28e0 0x1234 .plt
244 * 0 0 0x4 0x4
245 *
246 * [10] PBIT -AI- 0x403b20 0x3b20 0xee400 .text
247 * 0 0 0x20 0x1
248 *
249 * [11] PBIT -AI- 0x4f1f20 0xf1f20 0x60 .fini
250 * 0 0 0x10 0x1
251 *
252 * [12] PBIT -A-- 0x4f1f80 0xf1f80 0xd90 .rdata
253 * 0 0 0x10 0x1
254 *
255 * [13] PBIT -A-- 0x4f2d10 0xf2d10 0x17e0 .rodata
256 * 0 0 0x10 0x1
257 *
258 * [14] PBIT WA-- 0x5344f0 0xf44f0 0x4b3e4 .data <<<<<
259 * 0 0 0x10 0x1
260 *
261 * [15] PBIT WA-G 0x57f8d4 0x13f8d4 0x2a84 .got
262 * 0 0 0x4 0x4
263 *
264 * [16] PBIT WA-G 0x582360 0x142360 0xb94 .sdata <<<<<
265 * 0 0 0x10 0x1
266 *
267 * [17] PBIT WA-- 0x582f00 0x142f00 0x94100 .data <<<<<
268 * 0 0 0x10 0x1
269 *
270 * [18] NOBI WA-G 0x617000 0x1d7000 0 .sbss <<<<<
271 * 0 0 0x4 0
272 *
273 * [19] NOBI WA-- 0x617000 0x1d7000 0 .bss <<<<<
274 * 0 0 0x4 0x1
275 *
276 * [20] SYMT ---- 0 0x1d7000 0x10e40 .symtab
277 * 21 1109 0x4 0x10
278 *
279 * [21] STRT ---- 0 0x1e7e40 0xed9e .strtab
280 * 0 0 0x1 0
281 *
282 * [22] STRT ---- 0 0x1f6bde 0xb5 .shstrtab
283 * 0 0 0x1 0
284 *
285 * [23] PBIT ---- 0 0x1f6c93 0x28e2a .comment
286 * 0 0 0x1 0x1
287 *
288 * [24] PBIT ---- 0 0x21fabd 0x592 .debug
289 * 0 0 0x1 0
290 *
291 * [25] PBIT ---- 0 0x22004f 0x80 .line
292 * 0 0 0x1 0
293 *
294 * [26] MDBG ---- 0 0x2200d0 0x60 .mdebug
295 * 0 0 0x4 0
296 *
297 */
298
299#include <sys/types.h>
300#include <stdio.h>
301#include <sys/stat.h>
302#include <memory.h>
303#include <string.h>
304#include <errno.h>
305#include <unistd.h>
306#include <fcntl.h>
307#include <elf.h>
308#include <sys/mman.h>
309#include <assert.h>
310
311/* #define DEBUG */
312
313#ifndef emacs
314#define fatal(a, b, c) fprintf(stderr, a, b, c), exit(1)
315#else
316extern void fatal(char *, ...);
317#endif
318
319/* Get the address of a particular section or program header entry,
320 * accounting for the size of the entries.
321 */
322
323#define OLD_SECTION_H(n) \
324 (*(Elf32_Shdr *) ((byte *) old_section_h + old_file_h->e_shentsize * (n)))
325#define NEW_SECTION_H(n) \
326 (*(Elf32_Shdr *) ((byte *) new_section_h + new_file_h->e_shentsize * (n)))
327#define OLD_PROGRAM_H(n) \
328 (*(Elf32_Phdr *) ((byte *) old_program_h + old_file_h->e_phentsize * (n)))
329#define NEW_PROGRAM_H(n) \
330 (*(Elf32_Phdr *) ((byte *) new_program_h + new_file_h->e_phentsize * (n)))
331
332#define PATCH_INDEX(n) \
333 do { \
334 if ((n) >= old_sbss_index) \
335 (n) += 1 + (old_sdata_index ? 0 : 1); } while (0)
336
337typedef unsigned char byte;
338
339/* Round X up to a multiple of Y. */
340
341int
342round_up (x, y)
343 int x, y;
344{
345 int rem = x % y;
346 if (rem == 0)
347 return x;
348 return x - rem + y;
349}
350
351/* ****************************************************************
352 * unexec
353 *
354 * driving logic.
355 *
356 * In ELF, this works by replacing the old .bss section with a new
357 * .data section, and inserting an empty .bss immediately afterwards.
358 *
359 */
360void
361unexec (new_name, old_name, data_start, bss_start, entry_address)
362 char *new_name, *old_name;
363 unsigned data_start, bss_start, entry_address;
364{
365 extern unsigned int bss_end;
366 int new_file, old_file, new_file_size;
367
368 /* Pointers to the base of the image of the two files. */
369 caddr_t old_base, new_base;
370
371 /* Pointers to the file, program and section headers for the old and new
372 * files.
373 */
374 Elf32_Ehdr *old_file_h, *new_file_h;
375 Elf32_Phdr *old_program_h, *new_program_h;
376 Elf32_Shdr *old_section_h, *new_section_h;
377
378 /* Point to the section name table in the old file */
379 char *old_section_names;
380
381 Elf32_Addr old_bss_addr, new_bss_addr;
382 Elf32_Addr old_sbss_addr;
383 Elf32_Word old_bss_size, new_data2_size;
384 Elf32_Word old_sbss_size, new_data3_size;
385 Elf32_Off new_data2_offset;
386 Elf32_Off new_data3_offset;
387 Elf32_Addr new_data2_addr;
388 Elf32_Addr new_data3_addr;
389
390
391 Elf32_Addr old_rel_dyn_addr;
392 Elf32_Word old_rel_dyn_size;
393 int old_rel_dyn_index;
394
395 Elf32_Word old_sdata_size, new_sdata_size;
396 int old_sdata_index = 0;
397
398 int n, nn, old_data_index, new_data2_align;
399 int old_bss_index;
400 int old_sbss_index;
401 int old_bss_padding;
402 struct stat stat_buf;
403
404 /* Open the old file & map it into the address space. */
405
406 old_file = open (old_name, O_RDONLY);
407
408 if (old_file < 0)
409 fatal ("Can't open %s for reading: errno %d\n", old_name, errno);
410
411 if (fstat (old_file, &stat_buf) == -1)
412 fatal ("Can't fstat(%s): errno %d\n", old_name, errno);
413
414 old_base = mmap (0, stat_buf.st_size, PROT_READ, MAP_SHARED, old_file, 0);
415
416 if (old_base == (caddr_t) -1)
417 fatal ("Can't mmap(%s): errno %d\n", old_name, errno);
418
419#ifdef DEBUG
420 fprintf (stderr, "mmap(%s, %x) -> %x\n", old_name, stat_buf.st_size,
421 old_base);
422#endif
423
424 /* Get pointers to headers & section names */
425
426 old_file_h = (Elf32_Ehdr *) old_base;
427 old_program_h = (Elf32_Phdr *) ((byte *) old_base + old_file_h->e_phoff);
428 old_section_h = (Elf32_Shdr *) ((byte *) old_base + old_file_h->e_shoff);
429 old_section_names = (char *) old_base
430 + OLD_SECTION_H(old_file_h->e_shstrndx).sh_offset;
431
432 /* Find the old .sbss section.
433 */
434
435 for (old_sbss_index = 1; old_sbss_index < old_file_h->e_shnum;
436 old_sbss_index++)
437 {
438#ifdef DEBUG
439 fprintf (stderr, "Looking for .sbss - found %s\n",
440 old_section_names + OLD_SECTION_H(old_sbss_index).sh_name);
441#endif
442 if (!strcmp (old_section_names + OLD_SECTION_H(old_sbss_index).sh_name,
443 ".sbss"))
444 break;
445 }
446 if (old_sbss_index == old_file_h->e_shnum)
447 fatal ("Can't find .sbss in %s.\n", old_name, 0);
448
449 if (!strcmp(old_section_names + OLD_SECTION_H(old_sbss_index - 1).sh_name,
450 ".sdata"))
451 {
452 old_sdata_index = old_sbss_index - 1;
453 }
454
455
456 /* Find the old .bss section.
457 */
458
459 for (old_bss_index = 1; old_bss_index < old_file_h->e_shnum; old_bss_index++)
460 {
461#ifdef DEBUG
462 fprintf (stderr, "Looking for .bss - found %s\n",
463 old_section_names + OLD_SECTION_H(old_bss_index).sh_name);
464#endif
465 if (!strcmp (old_section_names + OLD_SECTION_H(old_bss_index).sh_name,
466 ".bss"))
467 break;
468 }
469 if (old_bss_index == old_file_h->e_shnum)
470 fatal ("Can't find .bss in %s.\n", old_name, 0);
471
472 if (old_sbss_index != (old_bss_index - 1))
473 fatal (".sbss should come immediately before .bss in %s.\n", old_name, 0);
474
475 /* Find the old .rel.dyn section.
476 */
477
478 for (old_rel_dyn_index = 1; old_rel_dyn_index < old_file_h->e_shnum;
479 old_rel_dyn_index++)
480 {
481#ifdef DEBUG
482 fprintf (stderr, "Looking for .rel.dyn - found %s\n",
483 old_section_names + OLD_SECTION_H(old_rel_dyn_index).sh_name);
484#endif
485 if (!strcmp (old_section_names + OLD_SECTION_H(old_rel_dyn_index).sh_name,
486 ".rel.dyn"))
487 break;
488 }
489 if (old_rel_dyn_index == old_file_h->e_shnum)
490 fatal ("Can't find .rel_dyn in %s.\n", old_name, 0);
491
492 old_rel_dyn_addr = OLD_SECTION_H(old_rel_dyn_index).sh_addr;
493 old_rel_dyn_size = OLD_SECTION_H(old_rel_dyn_index).sh_size;
494
495 /* Figure out parameters of the new data3 and data2 sections.
496 * Change the sbss and bss sections.
497 */
498
499 old_bss_addr = OLD_SECTION_H(old_bss_index).sh_addr;
500 old_bss_size = OLD_SECTION_H(old_bss_index).sh_size;
501
502 old_sbss_addr = OLD_SECTION_H(old_sbss_index).sh_addr;
503 old_sbss_size = OLD_SECTION_H(old_sbss_index).sh_size;
504
505 if (old_sdata_index)
506 {
507 old_sdata_size = OLD_SECTION_H(old_sdata_index).sh_size;
508 }
509
510#if defined(emacs) || !defined(DEBUG)
511 bss_end = (unsigned int) sbrk (0);
512 new_bss_addr = (Elf32_Addr) bss_end;
513#else
514 new_bss_addr = old_bss_addr + old_bss_size + 0x1234;
515#endif
516 if (old_sdata_index)
517 {
518 new_sdata_size = OLD_SECTION_H(old_sbss_index).sh_offset -
519 OLD_SECTION_H(old_sdata_index).sh_offset + old_sbss_size;
520 }
521
522 new_data3_addr = old_sbss_addr;
523 new_data3_size = old_sbss_size;
524 new_data3_offset = OLD_SECTION_H(old_sbss_index).sh_offset;
525
526 new_data2_addr = old_bss_addr;
527 new_data2_size = new_bss_addr - old_bss_addr;
528 new_data2_align = (new_data3_offset + old_sbss_size) %
529 OLD_SECTION_H(old_bss_index).sh_addralign;
530 new_data2_align = new_data2_align ?
531 OLD_SECTION_H(old_bss_index).sh_addralign - new_data2_align :
532 0;
533 new_data2_offset = new_data3_offset + old_sbss_size + new_data2_align;
534
535 old_bss_padding = OLD_SECTION_H(old_bss_index).sh_offset -
536 OLD_SECTION_H(old_sbss_index).sh_offset;
537#ifdef DEBUG
538 fprintf (stderr, "old_bss_index %d\n", old_bss_index);
539 fprintf (stderr, "old_bss_addr %x\n", old_bss_addr);
540 fprintf (stderr, "old_bss_size %x\n", old_bss_size);
541 fprintf (stderr, "new_bss_addr %x\n", new_bss_addr);
542 fprintf (stderr, "new_data2_addr %x\n", new_data2_addr);
543 fprintf (stderr, "new_data2_size %x\n", new_data2_size);
544 fprintf (stderr, "new_data2_offset %x\n", new_data2_offset);
545 fprintf (stderr, "old_sbss_index %d\n", old_sbss_index);
546 fprintf (stderr, "old_sbss_addr %x\n", old_sbss_addr);
547 fprintf (stderr, "old_sbss_size %x\n", old_sbss_size);
548 fprintf (stderr, "old_rel_dyn_addr %x\n", old_rel_dyn_addr);
549 fprintf (stderr, "old_rel_dyn_size %x\n", old_rel_dyn_size);
550 if (old_sdata_index)
551 {
552 fprintf (stderr, "old_sdata_size %x\n", old_sdata_size);
553 fprintf (stderr, "new_sdata_size %x\n", new_sdata_size);
554 }
555 else
556 {
557 fprintf (stderr, "new_data3_addr %x\n", new_data3_addr);
558 fprintf (stderr, "new_data3_size %x\n", new_data3_size);
559 fprintf (stderr, "new_data3_offset %x\n", new_data3_offset);
560 }
561#endif
562
563 if ((unsigned) new_bss_addr < (unsigned) old_bss_addr + old_bss_size)
564 fatal (".bss shrank when undumping???\n", 0, 0);
565
566 /* Set the output file to the right size and mmap(2) it. Set
567 * pointers to various interesting objects. stat_buf still has
568 * old_file data.
569 */
570
571 new_file = open (new_name, O_RDWR | O_CREAT, 0666);
572 if (new_file < 0)
573 fatal ("Can't creat(%s): errno %d\n", new_name, errno);
574
575 new_file_size = stat_buf.st_size +
576 ((1 + (old_sdata_index ? 0 : 1)) * old_file_h->e_shentsize) +
577 new_data2_size + new_data3_size + new_data2_align;
578
579 if (ftruncate (new_file, new_file_size))
580 fatal ("Can't ftruncate(%s): errno %d\n", new_name, errno);
581
582 new_base = mmap (0, new_file_size, PROT_READ | PROT_WRITE, MAP_SHARED,
583 new_file, 0);
584
585 if (new_base == (caddr_t) -1)
586 fatal ("Can't mmap(%s): errno %d\n", new_name, errno);
587
588 new_file_h = (Elf32_Ehdr *) new_base;
589 new_program_h = (Elf32_Phdr *) ((byte *) new_base + old_file_h->e_phoff);
590 new_section_h = (Elf32_Shdr *) ((byte *) new_base +
591 old_file_h->e_shoff +
592 new_data2_size +
593 new_data2_align +
594 new_data3_size);
595
596 /* Make our new file, program and section headers as copies of the
597 * originals.
598 */
599
600 memcpy (new_file_h, old_file_h, old_file_h->e_ehsize);
601 memcpy (new_program_h, old_program_h,
602 old_file_h->e_phnum * old_file_h->e_phentsize);
603
604 /* Modify the e_shstrndx if necessary. */
605 PATCH_INDEX (new_file_h->e_shstrndx);
606
607 /* Fix up file header. We'll add one section. Section header is
608 * further away now.
609 */
610
611 new_file_h->e_shoff += new_data2_size + new_data2_align + new_data3_size;
612 new_file_h->e_shnum += 1 + (old_sdata_index ? 0 : 1);
613
614#ifdef DEBUG
615 fprintf (stderr, "Old section offset %x\n", old_file_h->e_shoff);
616 fprintf (stderr, "Old section count %d\n", old_file_h->e_shnum);
617 fprintf (stderr, "New section offset %x\n", new_file_h->e_shoff);
618 fprintf (stderr, "New section count %d\n", new_file_h->e_shnum);
619#endif
620
621 /* Fix up a new program header. Extend the writable data segment so
622 * that the bss area is covered too. Find that segment by looking
623 * for a segment that ends just before the .bss area. Make sure
624 * that no segments are above the new .data2. Put a loop at the end
625 * to adjust the offset and address of any segment that is above
626 * data2, just in case we decide to allow this later.
627 */
628
629 for (n = new_file_h->e_phnum - 1; n >= 0; n--)
630 {
631 /* Compute maximum of all requirements for alignment of section. */
632 int alignment = (NEW_PROGRAM_H (n)).p_align;
633 if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment)
634 alignment = OLD_SECTION_H (old_bss_index).sh_addralign;
635
636 if ((OLD_SECTION_H (old_sbss_index)).sh_addralign > alignment)
637 alignment = OLD_SECTION_H (old_sbss_index).sh_addralign;
638
639 /* Supposedly this condition is okay for the SGI. */
640#if 0
641 if (NEW_PROGRAM_H(n).p_vaddr + NEW_PROGRAM_H(n).p_filesz > old_bss_addr)
642 fatal ("Program segment above .bss in %s\n", old_name, 0);
643#endif
644
645 if (NEW_PROGRAM_H(n).p_type == PT_LOAD
646 && (round_up ((NEW_PROGRAM_H (n)).p_vaddr
647 + (NEW_PROGRAM_H (n)).p_filesz,
648 alignment)
649 == round_up (old_bss_addr, alignment)))
650 break;
651 }
652 if (n < 0)
653 fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0);
654
655 NEW_PROGRAM_H(n).p_filesz += new_data2_size + new_data2_align +
656 new_data3_size;
657 NEW_PROGRAM_H(n).p_memsz = NEW_PROGRAM_H(n).p_filesz;
658
659#if 1 /* Maybe allow section after data2 - does this ever happen? */
660 for (n = new_file_h->e_phnum - 1; n >= 0; n--)
661 {
662 if (NEW_PROGRAM_H(n).p_vaddr
663 && NEW_PROGRAM_H(n).p_vaddr >= new_data3_addr)
664 NEW_PROGRAM_H(n).p_vaddr += new_data2_size - old_bss_size +
665 new_data3_size - old_sbss_size;
666
667 if (NEW_PROGRAM_H(n).p_offset >= new_data3_offset)
668 NEW_PROGRAM_H(n).p_offset += new_data2_size + new_data2_align +
669 new_data3_size;
670 }
671#endif
672
673 /* Fix up section headers based on new .data2 section. Any section
674 * whose offset or virtual address is after the new .data2 section
675 * gets its value adjusted. .bss size becomes zero and new address
676 * is set. data2 section header gets added by copying the existing
677 * .data header and modifying the offset, address and size.
678 */
679 for (old_data_index = 1; old_data_index < old_file_h->e_shnum;
680 old_data_index++)
681 if (!strcmp (old_section_names + OLD_SECTION_H(old_data_index).sh_name,
682 ".data"))
683 break;
684 if (old_data_index == old_file_h->e_shnum)
685 fatal ("Can't find .data in %s.\n", old_name, 0);
686
687 /* Walk through all section headers, insert the new data2 section right
688 before the new bss section. */
689 for (n = 1, nn = 1; n < old_file_h->e_shnum; n++, nn++)
690 {
691 caddr_t src;
692
693 if (n == old_sbss_index)
694
695 /* If it is sbss section, insert the new data3 section before it. */
696 {
697 /* Steal the data section header for this data3 section. */
698 if (!old_sdata_index)
699 {
700 memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(old_data_index),
701 new_file_h->e_shentsize);
702
703 NEW_SECTION_H(nn).sh_addr = new_data3_addr;
704 NEW_SECTION_H(nn).sh_offset = new_data3_offset;
705 NEW_SECTION_H(nn).sh_size = new_data3_size;
706 NEW_SECTION_H(nn).sh_flags = OLD_SECTION_H(n).sh_flags;
707 /* Use the sbss section's alignment. This will assure that the
708 new data3 section always be placed in the same spot as the old
709 sbss section by any other application. */
710 NEW_SECTION_H(nn).sh_addralign = OLD_SECTION_H(n).sh_addralign;
711
712 /* Now copy over what we have in the memory now. */
713 memcpy (NEW_SECTION_H(nn).sh_offset + new_base,
714 (caddr_t) OLD_SECTION_H(n).sh_addr,
715 new_data3_size);
716 /* the new .data2 section should also come before the
717 * new .sbss section */
718 nn += 2;
719 }
720 else
721 {
722 /* We always have a .sdata section: append the contents of the
723 * old .sbss section.
724 */
725 memcpy (new_data3_offset + new_base,
726 (caddr_t) OLD_SECTION_H(n).sh_addr,
727 new_data3_size);
728 nn ++;
729 }
730 }
731 else if (n == old_bss_index)
732
733 /* If it is bss section, insert the new data2 section before it. */
734 {
735 Elf32_Word tmp_align;
736 Elf32_Addr tmp_addr;
737
738 tmp_align = OLD_SECTION_H(n).sh_addralign;
739 tmp_addr = OLD_SECTION_H(n).sh_addr;
740
741 nn -= 2;
742 /* Steal the data section header for this data2 section. */
743 memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(old_data_index),
744 new_file_h->e_shentsize);
745
746 NEW_SECTION_H(nn).sh_addr = new_data2_addr;
747 NEW_SECTION_H(nn).sh_offset = new_data2_offset;
748 NEW_SECTION_H(nn).sh_size = new_data2_size;
749 /* Use the bss section's alignment. This will assure that the
750 new data2 section always be placed in the same spot as the old
751 bss section by any other application. */
752 NEW_SECTION_H(nn).sh_addralign = tmp_align;
753
754 /* Now copy over what we have in the memory now. */
755 memcpy (NEW_SECTION_H(nn).sh_offset + new_base,
756 (caddr_t) tmp_addr, new_data2_size);
757 nn += 2;
758 }
759
760 memcpy (&NEW_SECTION_H(nn), &OLD_SECTION_H(n),
761 old_file_h->e_shentsize);
762
763 if (old_sdata_index && n == old_sdata_index)
764 /* The old .sdata section has now a new size */
765 NEW_SECTION_H(nn).sh_size = new_sdata_size;
766
767 /* The new bss section's size is zero, and its file offset and virtual
768 address should be off by NEW_DATA2_SIZE. */
769 if (n == old_sbss_index)
770 {
771 /* NN should be `old_sbss_index + 2' at this point. */
772 NEW_SECTION_H(nn).sh_offset += new_data2_size + new_data2_align +
773 new_data3_size;
774 NEW_SECTION_H(nn).sh_addr += new_data2_size + new_data2_align +
775 new_data3_size;
776 /* Let the new bss section address alignment be the same as the
777 section address alignment followed the old bss section, so
778 this section will be placed in exactly the same place. */
779 NEW_SECTION_H(nn).sh_addralign =
780 OLD_SECTION_H(nn + (old_sdata_index ? 1 : 0)).sh_addralign;
781 NEW_SECTION_H(nn).sh_size = 0;
782 }
783 else if (n == old_bss_index)
784 {
785 /* NN should be `old_bss_index + 2' at this point. */
786 NEW_SECTION_H(nn).sh_offset += new_data2_size + new_data2_align +
787 new_data3_size - old_bss_padding;
788 NEW_SECTION_H(nn).sh_addr += new_data2_size;
789 /* Let the new bss section address alignment be the same as the
790 section address alignment followed the old bss section, so
791 this section will be placed in exactly the same place. */
792 NEW_SECTION_H(nn).sh_addralign =
793 OLD_SECTION_H((nn - (old_sdata_index ? 0 : 1))).sh_addralign;
794 NEW_SECTION_H(nn).sh_size = 0;
795 }
796 /* Any section that was original placed AFTER the bss section should now
797 be off by NEW_DATA2_SIZE. */
798 else if (NEW_SECTION_H(nn).sh_offset >= new_data3_offset)
799 NEW_SECTION_H(nn).sh_offset += new_data2_size +
800 new_data2_align +
801 new_data3_size -
802 old_bss_padding;
803
804 /* If any section hdr refers to the section after the new .data
805 section, make it refer to next one because we have inserted
806 a new section in between. */
807
808 PATCH_INDEX(NEW_SECTION_H(nn).sh_link);
809 PATCH_INDEX(NEW_SECTION_H(nn).sh_info);
810
811 /* Now, start to copy the content of sections. */
812 if (NEW_SECTION_H(nn).sh_type == SHT_NULL
813 || NEW_SECTION_H(nn).sh_type == SHT_NOBITS)
814 continue;
815
816 /* Write out the sections. .data, .data1 and .sdata get copied from
817 * the current process instead of the old file.
818 */
819 if (!strcmp (old_section_names + OLD_SECTION_H(n).sh_name, ".data") ||
820 !strcmp (old_section_names + OLD_SECTION_H(n).sh_name, ".data1") ||
821 (old_sdata_index && (n == old_sdata_index)))
822 src = (caddr_t) OLD_SECTION_H(n).sh_addr;
823 else
824 src = old_base + OLD_SECTION_H(n).sh_offset;
825
826 memcpy (NEW_SECTION_H(nn).sh_offset + new_base, src,
827 ((n == old_sdata_index) ?
828 old_sdata_size :
829 NEW_SECTION_H(nn).sh_size));
830
831 /* If it is the symbol table, its st_shndx field needs to be patched. */
832 if (NEW_SECTION_H(nn).sh_type == SHT_SYMTAB
833 || NEW_SECTION_H(nn).sh_type == SHT_DYNSYM)
834 {
835 Elf32_Shdr *spt = &NEW_SECTION_H(nn);
836 unsigned int num = spt->sh_size / spt->sh_entsize;
837 Elf32_Sym * sym = (Elf32_Sym *) (NEW_SECTION_H(nn).sh_offset +
838 new_base);
839 for (; num--; sym++)
840 {
841 if ((sym->st_shndx == SHN_UNDEF)
842 || (sym->st_shndx == SHN_ABS)
843 || (sym->st_shndx == SHN_COMMON))
844 continue;
845
846 PATCH_INDEX(sym->st_shndx);
847 }
848 }
849 }
850 {
851 Elf32_Rel *rel_p;
852 unsigned int old_data_addr_start;
853 unsigned int old_data_addr_end;
854 unsigned int old_data_offset;
855 unsigned int new_data_offset;
856 int i;
857
858 rel_p = (Elf32_Rel *)OLD_SECTION_H(old_rel_dyn_index).sh_addr;
859 old_data_addr_start = OLD_SECTION_H(old_data_index).sh_addr;
860 old_data_addr_end = old_data_addr_start +
861 OLD_SECTION_H(old_data_index).sh_size;
862 old_data_offset = (int)OLD_SECTION_H(old_data_index).sh_offset +
863 (unsigned int)old_base;
864 new_data_offset = (int)NEW_SECTION_H(old_data_index).sh_offset +
865 (unsigned int)new_base;
866
867#ifdef DEBUG
868 fprintf(stderr, "old_data.sh_addr= 0x%08x ... 0x%08x\n", old_data_addr_start,
869 old_data_addr_end);
870#endif /* DEBUG */
871
872 for (i = 0; i < old_rel_dyn_size/sizeof(Elf32_Rel); i++)
873 {
874#ifdef DEBUG
875 fprintf(stderr, ".rel.dyn offset= 0x%08x type= %d sym= %d\n",
876 rel_p->r_offset, ELF32_R_TYPE(rel_p->r_info), ELF32_R_SYM(rel_p->r_info));
877#endif /* DEBUG */
878
879 if (rel_p->r_offset)
880 {
881 unsigned int offset;
882
883 assert(old_data_addr_start <= rel_p->r_offset &&
884 rel_p->r_offset <= old_data_addr_end);
885
886 offset = rel_p->r_offset - old_data_addr_start;
887
888#ifdef DEBUG
889 fprintf(stderr, "r_offset= 0x%08x *r_offset= 0x%08x\n",
890 rel_p->r_offset, *((int *)(rel_p->r_offset)));
891 fprintf(stderr, "old = 0x%08x *old =0x%08x\n",
892 (old_data_offset + offset - (unsigned int)old_base),
893 *((int *)(old_data_offset + offset)));
894 fprintf(stderr, "new = 0x%08x *new =0x%08x\n",
895 (new_data_offset + offset - (unsigned int)new_base),
896 *((int *)(new_data_offset + offset)));
897#endif /* DEBUG */
898
899 *((int *)(new_data_offset + offset)) = *((int *)(old_data_offset + offset));
900 }
901
902 rel_p++;
903 }
904 }
905
906 /* Close the files and make the new file executable */
907
908 if (close (old_file))
909 fatal ("Can't close(%s): errno %d\n", old_name, errno);
910
911 if (close (new_file))
912 fatal ("Can't close(%s): errno %d\n", new_name, errno);
913
914 if (stat (new_name, &stat_buf) == -1)
915 fatal ("Can't stat(%s): errno %d\n", new_name, errno);
916
917 n = umask (777);
918 umask (n);
919 stat_buf.st_mode |= 0111 & ~n;
920 if (chmod (new_name, stat_buf.st_mode) == -1)
921 fatal ("Can't chmod(%s): errno %d\n", new_name, errno);
922}
923
924/* arch-tag: c784ead3-7a27-442b-83fe-7af8d08654d3
925 (do not change this comment) */
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)
1269 break; 1269 break;
1270#endif 1270#endif
1271 1271
1272#ifdef PROCESSOR_INTEL_860
1273 case PROCESSOR_INTEL_860:
1274 arch = "i860";
1275 break;
1276#endif
1277
1278#ifdef PROCESSOR_MIPS_R2000 1272#ifdef PROCESSOR_MIPS_R2000
1279 case PROCESSOR_MIPS_R2000: 1273 case PROCESSOR_MIPS_R2000:
1280 case PROCESSOR_MIPS_R3000: 1274 case PROCESSOR_MIPS_R3000: