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