Subject: Emacs on NetBSD/pmax
To: None <port-pmax@NetBSD.ORG>
From: Erik Bertelsen <erik@sockdev.uni-c.dk>
List: port-pmax
Date: 08/20/1996 14:16:01
I have done my emacs experiments somewhat more carefull this time
with emacs-19.33.
By looking at the configure script, there is no difference between
running configure with pmax-dec-netbsd1.2. or with mips-dec-netbsd1.2.
In either case the machine will be set to pmax.
Now this looks like a fine choice to me: pmax (and therefore src/m/pmax.h
is used on little endian mips computers, i.e. decstations). m/pmax.h
includes m/mips.h and is therefore a specialization of m/mips.h.
The current status is that with changes to s/netbsd.h, m/mips.h, and
m/pmax.h as indicated in the patches below, emacs compiles with
no changes to other source files.
Emacs does only compile on NetBSD/pmax with the unexec facility disabled.
It runs fine with X -- I have X11R6.1 installed on my DS3100. No I have
no X server, but what the hell -- the machine is located downstairs in
a machine room and I use an X terminal with it.
In the patches below, the patches to mips.h and to netbsd.h are only
included to silence a couple of compiler warnings. The real changes
are all in pmax.h.
I have made definitions to disable the unexec mechanism, but at least
this will enable NetBSD/pmax users to install and run emacs. In the
future, unexec may (should) be added by someone.....
pmax.h really needs a major clean-up. Now it supports ultrix and MACH,
but with conditionals that make it hard to add another system.
I plan to clean up this file further before sending the patches to the
FSF. In particular I don't recommend to use my patched version of
pmax.h with Ultrix before I have verified that my changes don't hurt.
Are anyone aware of any operating system for DEC's mips based computers
other than Ultrix and NetBSD ? Pmax.h tries to cover OSF, but this OS
never got released for the DECstations, only for the Alphas (and Vaxes).
Are anyone aware of any operating system for little-endian MIPS based
computers beyond the ones mentioned above?
regards
Erik Bertelsen
*** mips.h.orig Mon Aug 19 08:44:48 1996
--- mips.h Mon Aug 19 16:10:51 1996
***************
*** 120,125 ****
--- 120,126 ----
/* This machine requires completely different unexec code
which lives in a separate file. Specify the file name. */
+ #undef UNEXEC
#define UNEXEC unexmips.o
/* Describe layout of the address space in an executing process. */
*** pmax.h.orig Mon Aug 19 08:31:39 1996
--- pmax.h Tue Aug 20 09:34:17 1996
***************
*** 7,13 ****
USUAL-OPSYS="note"
NOTE-START
! Use -opsystem=osf1 for OSF/1, and -opsystem=bsd4-3 otherwise.
NOTE-END */
#undef WORDS_BIG_ENDIAN
--- 7,14 ----
USUAL-OPSYS="note"
NOTE-START
! Use -opsystem=ultrix for Ultrix, -opsystem=netbsd for NetBSD, possibly
! opsystem=bsd4-3 for other systems.
NOTE-END */
#undef WORDS_BIG_ENDIAN
***************
*** 27,32 ****
--- 28,41 ----
#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
#endif
+ #ifdef __NetBSD__
+ #undef START_FILES
+ #undef RUN_TIME_REMAP
+ #define START_FILES pre-crt0.o /usr/lib/crt0.o
+ #define CANNOT_DUMP
+ #undef UNEXEC
+ #endif /* NetBSD */
+
/* Supposedly the following will overcome a kernel bug. */
#undef LD_SWITCH_MACHINE
#undef DATA_START
***************
*** 45,60 ****
/* Override what mips.h says about this. */
#undef LINKER
/* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
but it doesn't work right;
and it causes hanging in read_process_output. */
#define BROKEN_O_NONBLOCK
! #if defined (OSF1) || defined (MACH)
#undef C_ALLOCA
#define HAVE_ALLOCA
#endif
/* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */
#ifdef HAVE_LIBDNET
#define LIBS_MACHINE -ldnet
--- 54,74 ----
/* Override what mips.h says about this. */
#undef LINKER
+ #ifndef __NetBSD__
+ /* should this really be #ifdef ultrix ??? */
/* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
but it doesn't work right;
and it causes hanging in read_process_output. */
#define BROKEN_O_NONBLOCK
+ #endif /* __NetBSD__ */
! #ifdef MACH
#undef C_ALLOCA
#define HAVE_ALLOCA
#endif
+ #ifdef ultrix
+
/* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */
#ifdef HAVE_LIBDNET
#define LIBS_MACHINE -ldnet
***************
*** 64,70 ****
#undef KERNEL_FILE
#define KERNEL_FILE "/vmunix"
! #ifndef MACH
/* Jim Wilson writes:
[...] The X11 include files that Dec distributes with Ultrix
are bogus.
--- 78,84 ----
#undef KERNEL_FILE
#define KERNEL_FILE "/vmunix"
!
/* Jim Wilson writes:
[...] The X11 include files that Dec distributes with Ultrix
are bogus.
***************
*** 90,96 ****
going to disable non-variadic prototypes, we also need to disable
variadic prototypes. --kwzh@gnu.ai.mit.edu */
#define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0
! #endif
/* Enable a fix in process.c. */
#define SET_CHILD_PTY_PGRP
--- 104,111 ----
going to disable non-variadic prototypes, we also need to disable
variadic prototypes. --kwzh@gnu.ai.mit.edu */
#define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0
!
! #endif /* ultrix */
/* Enable a fix in process.c. */
#define SET_CHILD_PTY_PGRP
*** netbsd.h.orig Mon Aug 19 08:43:58 1996
--- netbsd.h Tue Aug 20 11:08:31 1996
***************
*** 5,10 ****
--- 5,12 ----
/* For mem-limits.h. */
#define BSD4_2
+ #undef BSD
+ #define BSD 199306
#undef KERNEL_FILE
#undef LDAV_SYMBOL
================end of patches=======================