[comp.emacs] GNU emacs 18.50 for the Sun 386i

pinkas@cadev4.intel.com (Israel Pinkas ~) (04/29/88)

Here are the changes to make to GNU Emacs 18.50 to get it to run on the new
Sun 386i (the RoadRunner).  All changes are in the src directory.

These patches are the ones that James Turner said he would send out the
other week.  I got in touch with him, and together we fine tuned things
down.

Just for kicks, I tried linking it with dynaminc loading.  It creates
xemacs, but xemacs bombs out and dumps core.  I traced it down to unexec,
which is marking it as a dynamically loaded executable, but is not writing
out the names of the libraries.  I don't have the time to fix it.

I also tried linking in SUN windows support.  everything compiled and ran
under X, but under sunview emacs kept giving me X error messages.  I must
have done something wrong, but again, I don't know very much about sunview.
If anybody else gets it working I would appreciate it.

Just use m-intel386.h and s-bsd4-2 in config.h.

One more thing.  To get the load average in loadst (for display-time), it
is necessary to make loadst owned by the group kmem and sgid.  Sun
considers it a security hole to have /dev/kmem world readable.  SunOS 4.0
does this with all executables that need access to either /dev/kmem or
/dev/mem.

Enjoy,

-Israel

*** ../src.old/m-intel386.h	Sun Apr 17 17:44:16 1988
--- m-intel386.h	Thu Apr 28 16:48:06 1988
***************
*** 63,67 ****
--- 63,72 ----
     NO_REMAP says this isn't used. */
  
+ #ifdef sun386
+ #define LD_SWITCH_MACHINE -Bstatic -dc -dp -e _start
+ #define START_FILES pre-crt0.o /lib/crt0.o
+ #else /* not sun386 */
  #define CRT0_DUMMIES bogus_fp,
+ #endif /* not sun386 */
  
  /* crt0.c should define a symbol `start' and do .globl with a dot.  */
***************
*** 72,76 ****
  so disable it for them.  */
  
! #ifdef XENIX
  /* Data type of load average, as read out of kmem.  */
  #define LOAD_AVE_TYPE long
--- 77,81 ----
  so disable it for them.  */
  
! #if defined(XENIX) || defined(sun386)
  /* Data type of load average, as read out of kmem.  */
  #define LOAD_AVE_TYPE long
*** ../src.old/s-bsd4-2.h	Sun Feb 21 02:34:05 1988
--- s-bsd4-2.h	Thu Apr 28 13:09:56 1988
***************
*** 97,101 ****
--- 97,105 ----
     preprocessor symbol "COFF". */
  
+ #ifdef sun386
+ #define COFF
+ #else /* not sun386 */
  /* #define COFF */
+ #endif /* not sun386 */
  
  /* define MAIL_USE_FLOCK if the mailer uses flock
***************
*** 123,125 ****
--- 127,133 ----
     is named _avenrun.  */
  
+ #ifdef sun386
+ #define LDAV_SYMBOL "avenrun"
+ #else /* not sun386 */
  #define LDAV_SYMBOL "_avenrun"
+ #endif /* not sun386 */
*** ../src.old/process.c	Sun Apr 17 17:43:34 1988
--- process.c	Wed Apr 27 14:00:45 1988
***************
*** 47,50 ****
--- 47,53 ----
  #include <fcntl.h>
  #endif /* USG */
+ #ifdef sun386
+ #include <fcntl.h>
+ #endif /* sun386 */
  
  #ifdef IRIS
*** ../src.old/unexec.c	Sun Apr 17 17:43:48 1988
--- unexec.c	Wed Apr 27 13:59:53 1988
***************
*** 272,278 ****
--- 272,280 ----
     and can be deleted.  Try it in version 19.  */
  #include <filehdr.h>
+ #ifndef sun386
  #include <aouthdr.h>
  #include <scnhdr.h>
  #include <syms.h>
+ #endif /* not sun386 */
  #endif /* not UMAX */
  #endif /* Not STRIDE */
--------------------------------------
Disclaimer: The above are my personal opinions, and in no way represent
the opinions of Intel Corporation.  In no way should the above be taken
to be a statement of Intel.

UUCP:	{amdcad,decwrl,hplabs,oliveb,pur-ee,qantel}!intelca!mipos3!cadev4!pinkas
ARPA:	pinkas%cadev4.intel.com@relay.cs.net
CSNET:	pinkas%cadev4.intel.com