From cdac17ab363c2c782c0873fde65ce269527574ef Mon Sep 17 00:00:00 2001 From: hallgren <hallgren> Date: Tue, 5 Jul 1994 16:11:22 +0000 Subject: [PATCH] Updated for the sgi. --- lisp/coreparse.c | 7 ++++++- lisp/gc.c | 9 +++++++-- lisp/interrupt.c | 4 +++- lisp/lisp.c | 9 ++++++++- lisp/lispregs.h | 4 ++-- lisp/os.h | 6 +++++- lisp/undefineds.h | 17 +++++++++++++---- 7 files changed, 44 insertions(+), 12 deletions(-) diff --git a/lisp/coreparse.c b/lisp/coreparse.c index 3029c6b15..8d0c88796 100644 --- a/lisp/coreparse.c +++ b/lisp/coreparse.c @@ -1,8 +1,13 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/coreparse.c,v 1.3 1994/03/27 15:26:25 hallgren Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/coreparse.c,v 1.4 1994/07/05 16:06:45 hallgren Exp $ */ #include <stdio.h> #include <sys/types.h> #include <sys/file.h> +#ifdef irix +#include <fcntl.h> +#include <stdlib.h> +#endif + #include "os.h" #include "lisp.h" #include "globals.h" diff --git a/lisp/gc.c b/lisp/gc.c index 856390f55..a3c7f3a2d 100644 --- a/lisp/gc.c +++ b/lisp/gc.c @@ -1,7 +1,7 @@ /* * Stop and Copy GC based on Cheney's algorithm. * - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gc.c,v 1.7 1994/03/27 15:17:01 hallgren Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gc.c,v 1.8 1994/07/05 16:07:20 hallgren Exp $ * * Written by Christopher Hoover. */ @@ -466,8 +466,13 @@ static void scavenge_interrupt_context(struct sigcontext *context) /* Scanvenge all boxed registers in the context. */ for (i = 0; i < (sizeof(boxed_registers) / sizeof(int)); i++) { int index; + lispobj foo; index = boxed_registers[i]; + foo = SC_REG(context,index); + scavenge((lispobj *) &foo, 1); + SC_REG(context,index) = foo; + scavenge((lispobj *) &(SC_REG(context, index)), 1); } @@ -682,7 +687,7 @@ trans_code(struct code *code) prev_pointer = &nfheaderp->next; } -#ifdef hpux +#ifndef MACH os_flush_icache((os_vm_address_t) (((int *)new_code) + nheader_words), ncode_words * sizeof(int)); #endif diff --git a/lisp/interrupt.c b/lisp/interrupt.c index 28738babd..91e8e8fb9 100644 --- a/lisp/interrupt.c +++ b/lisp/interrupt.c @@ -1,13 +1,15 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.c,v 1.3 1994/03/27 15:32:03 hallgren Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.c,v 1.4 1994/07/05 16:08:03 hallgren Exp $ */ /* Interrupt handing magic. */ #include <stdio.h> #include <signal.h> +#ifdef mach #ifdef mips #include <mips/cpu.h> #endif +#endif #include "lisp.h" #include "internals.h" diff --git a/lisp/lisp.c b/lisp/lisp.c index 3f5e1dc27..0ad18c18d 100644 --- a/lisp/lisp.c +++ b/lisp/lisp.c @@ -1,7 +1,7 @@ /* * main() entry point for a stand alone lisp image. * - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lisp.c,v 1.6 1994/03/10 16:34:14 wlott Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lisp.c,v 1.7 1994/07/05 16:10:16 hallgren Exp $ * */ @@ -29,6 +29,11 @@ #include "save.h" #include "lispregs.h" +#ifdef irix +#include <string.h> +#include "interr.h" +#endif + /* SIGINT handler that invokes the monitor. */ @@ -110,7 +115,9 @@ void main(int argc, char *argv[], char *envp[]) default_core = "lisp.core"; if (core == NULL) { +#ifndef irix extern char *getenv(char *var); +#endif static char buf[MAXPATHLEN]; char *lib = getenv("CMUCLLIB"); diff --git a/lisp/lispregs.h b/lisp/lispregs.h index e7071dfc8..5a9129679 100644 --- a/lisp/lispregs.h +++ b/lisp/lispregs.h @@ -1,6 +1,6 @@ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lispregs.h,v 1.2 1994/03/27 15:20:39 hallgren Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lispregs.h,v 1.3 1994/07/05 16:10:38 hallgren Exp $ */ -#ifdef mips +#if defined(mips) || defined(irix) #include "mips-lispregs.h" #endif diff --git a/lisp/os.h b/lisp/os.h index cca772966..ac18e2af0 100644 --- a/lisp/os.h +++ b/lisp/os.h @@ -1,5 +1,5 @@ /* - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os.h,v 1.3 1994/03/27 15:22:39 hallgren Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os.h,v 1.4 1994/07/05 16:11:22 hallgren Exp $ * * Common interface for os-dependent functions. * @@ -22,6 +22,10 @@ #else #ifdef osf1 #include "osf1-os.h" +#else +#ifdef irix +#include "irix-os.h" +#endif #endif #endif #endif diff --git a/lisp/undefineds.h b/lisp/undefineds.h index 3d2c59e70..8c6c9dc52 100644 --- a/lisp/undefineds.h +++ b/lisp/undefineds.h @@ -1,5 +1,5 @@ /* Routines that must be linked into the core for lisp to work. */ -/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/undefineds.h,v 1.3 1994/03/27 15:24:12 hallgren Exp $ */ +/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/undefineds.h,v 1.4 1994/07/05 16:11:04 hallgren Exp $ */ /* Pick up all the syscalls. */ accept, @@ -71,7 +71,7 @@ open, pipe, profil, ptrace, -#if !defined(SUNOS) && !defined(parisc) && !defined(osf1) +#if !defined(SUNOS) && !defined(parisc) && !defined(osf1) && !defined(irix) quota, #endif read, @@ -96,7 +96,7 @@ sethostname, setitimer, setpgrp, setpriority, -#if !defined(SUNOS) && !defined(parisc) && !defined(osf1) +#if !defined(SUNOS) && !defined(parisc) && !defined(osf1) && !defined(irix) setquota, #endif #ifndef hpux @@ -109,7 +109,7 @@ settimeofday, shutdown, sigblock, sigpause, -#if !defined(ibmrt) && !defined(hpux) +#if !defined(ibmrt) && !defined(hpux) && !defined(irix) sigreturn, #endif sigsetmask, @@ -118,7 +118,9 @@ sigvec, socket, socketpair, stat, +#ifndef irix swapon, +#endif symlink, sync, syscall, @@ -126,6 +128,8 @@ syscall, closedir, opendir, readdir, +#endif +#if defined(hpux) || defined(irix) tcgetattr, tcsetattr, #endif @@ -138,7 +142,9 @@ unlink, #ifndef hpux utimes, #endif +#ifndef irix vfork, +#endif #ifndef osf1 vhangup, #endif @@ -187,3 +193,6 @@ gethostbyaddr, getwd, ttyname +#ifdef irix +,_getpty +#endif -- GitLab