hartzell@boulder.colorado.edu (George Hartzell) (12/05/89)
This is the second file of patches needed to get ELK running on a MIPS. Look for the companion postings README.MIPS, sources.shar, and patches1.shar. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # ROOT_PATCHES # SRC_PATCHES # This archive created: Mon Dec 4 11:12:14 1989 export PATH; PATH=/bin:$PATH echo shar: extracting "'ROOT_PATCHES'" '(3526 characters)' if test -f 'ROOT_PATCHES' then echo shar: will not over-write existing file "'ROOT_PATCHES'" else sed 's/^ X//' << \SHAR_EOF > 'ROOT_PATCHES' X*** /tmp/,RCSt1025393 Mon Dec 4 08:46:39 1989 X--- Makefile Mon Dec 4 08:43:47 1989 X*************** X*** 1,22 **** X TARGETS= src lib lib/util lib/xlib lib/xt lib/xaw lib/xhp X X! SCHEME_DIR= \\\"/f/net/scm/scm\\\" X! GENERIC= \"char*\" X! MACHTYPE= 68k # vax 68k 386 X X INC= -I../src -I../../src X DIR= -DDEF_LOAD_DIR=$(SCHEME_DIR) X GEN= -DGENERIC=$(GENERIC) X X #CFLAGS= $(INC) $(DIR) $(GEN) -O -f -ga -X23 # IS68k 4.3 BSD; FPP X #CFLAGS= $(INC) $(DIR) $(GEN) -O -ga -X23 # IS68k 4.3 BSD X! CFLAGS= $(INC) $(DIR) $(GEN) -O -f -20 # IS68k 4.2 BSD; FPP X #CFLAGS= $(INC) $(DIR) $(GEN) -O -20 # IS68k 4.2 BSD X #CFLAGS= $(INC) $(DIR) $(GEN) -O # SunOS 4.0 X #CFLAGS= $(INC) $(DIR) $(GEN) -Dindex=strchr # System V X #CFLAGS= $(INC) $(DIR) $(GEN) -O -finline-functions # GNU cc IS68k X X! LDFLAGS= -x # 4.n BSD X #LDFLAGS= -Bstatic # SunOS 4.0 X #LDFLAGS= -x -lld # System V X X--- 1,30 ---- X TARGETS= src lib lib/util lib/xlib lib/xt lib/xaw lib/xhp X X! #SCHEME_DIR= \\\"/f/net/scm/scm\\\" X! #GENERIC= \"char*\" X! #MACHTYPE= 68k # vax 68k 386 X! SCHEME_DIR= \\\"/beagle/scratch/hartzell/src/elk/scm\\\" X! GENERIC= \"void*\" X! MACHTYPE= mips # vax 68k 386 mips X X INC= -I../src -I../../src X DIR= -DDEF_LOAD_DIR=$(SCHEME_DIR) X GEN= -DGENERIC=$(GENERIC) X X+ CC=/usr/bin/cc2.10 -systype bsd43 # 2.10beta in bsd mode X+ C_SRC_FLAGS= $(INC) $(DIR) $(GEN) -O # MIPS 2.1compilers bsd X+ C_LIB_FLAGS= $(INC) $(DIR) $(GEN) -O -G 0 # MIPS 2.1compilers bsd X #CFLAGS= $(INC) $(DIR) $(GEN) -O -f -ga -X23 # IS68k 4.3 BSD; FPP X #CFLAGS= $(INC) $(DIR) $(GEN) -O -ga -X23 # IS68k 4.3 BSD X! #CFLAGS= $(INC) $(DIR) $(GEN) -O -f -20 # IS68k 4.2 BSD; FPP X #CFLAGS= $(INC) $(DIR) $(GEN) -O -20 # IS68k 4.2 BSD X #CFLAGS= $(INC) $(DIR) $(GEN) -O # SunOS 4.0 X #CFLAGS= $(INC) $(DIR) $(GEN) -Dindex=strchr # System V X #CFLAGS= $(INC) $(DIR) $(GEN) -O -finline-functions # GNU cc IS68k X X! LD_SRC_FLAGS= -D 800000 # MIPS X! LD_LIB_FLAGS= -D 800000 -G 0 # MIPS X! #LDFLAGS= -x # 4.n BSD X #LDFLAGS= -Bstatic # SunOS 4.0 X #LDFLAGS= -x -lld # System V X X*************** X*** 25,35 **** X all: X @for i in $(TARGETS) ;\ X do \ X! ( cd $$i ;\ X! echo Making $$i ;\ X! make "MACHTYPE=$(MACHTYPE)" "CC=$(CC)" "CFLAGS=$(CFLAGS)"\ X! "LDFLAGS=$(LDFLAGS)" ) ;\ X done X X lint: X @for i in $(TARGETS) ;\ X--- 33,64 ---- X all: X @for i in $(TARGETS) ;\ X do \ X! case $$i in \ X! "src") \ X! ( cd $$i ; \ X! echo Making $$i ; \ X! make "MACHTYPE=$(MACHTYPE)" "CC=$(CC)" \ X! "CFLAGS=$(C_SRC_FLAGS)" "LDFLAGS=$(LD_SRC_FLAGS)" ) ; \ X! ;; \ X! *) \ X! ( cd $$i ; \ X! echo Making $$i ; \ X! make "MACHTYPE=$(MACHTYPE)" "CC=$(CC)" \ X! "CFLAGS=$(C_LIB_FLAGS)" "LDFLAGS=$(LD_LIB_FLAGS)" ) ; \ X! ;; \ X! esac \ X! X done X+ X+ #all: X+ # @for i in $(TARGETS) ;\ X+ # do \ X+ # ( cd $$i ;\ X+ # echo Making $$i ;\ X+ # make "MACHTYPE=$(MACHTYPE)" "CC=$(CC)" "CFLAGS=$(CFLAGS)"\ X+ # "LDFLAGS=$(LDFLAGS)" ) ;\ X+ # done X+ # X X lint: X @for i in $(TARGETS) ;\ SHAR_EOF if test 3526 -ne "`wc -c < 'ROOT_PATCHES'`" then echo shar: error transmitting "'ROOT_PATCHES'" '(should have been 3526 characters)' fi fi # end of overwriting check echo shar: extracting "'SRC_PATCHES'" '(9273 characters)' if test -f 'SRC_PATCHES' then echo shar: will not over-write existing file "'SRC_PATCHES'" else sed 's/^ X//' << \SHAR_EOF > 'SRC_PATCHES' X*** /tmp/,RCSt1019048 Sun Dec 3 12:51:51 1989 X--- Makefile Sun Dec 3 11:57:15 1989 X*************** X*** 9,15 **** X char.c\ X cont.c\ X debug.c\ X! dump.c\ X env.c\ X error.c\ X features.c\ X--- 9,15 ---- X char.c\ X cont.c\ X debug.c\ X! dumpmips.c\ X env.c\ X error.c\ X features.c\ X*************** X*** 17,23 **** X heap.c\ X io.c\ X list.c\ X! load.c\ X main.c\ X math.c\ X prim.c\ X--- 17,23 ---- X heap.c\ X io.c\ X list.c\ X! loadmips.c\ X main.c\ X math.c\ X prim.c\ X*************** X*** 26,32 **** X promise.c\ X read.c\ X special.c\ X! stab.c\ X string.c\ X symbol.c\ X type.c\ X--- 26,32 ---- X promise.c\ X read.c\ X special.c\ X! stabmips.c\ X string.c\ X symbol.c\ X type.c\ X*************** X*** 39,45 **** X char.o\ X cont.o\ X debug.o\ X! dump.o\ X env.o\ X error.o\ X features.o\ X--- 39,45 ---- X char.o\ X cont.o\ X debug.o\ X! dumpmips.o\ X env.o\ X error.o\ X features.o\ X*************** X*** 47,53 **** X heap.o\ X io.o\ X list.o\ X! load.o\ X main.o\ X math.o\ X prim.o\ X--- 47,53 ---- X heap.o\ X io.o\ X list.o\ X! loadmips.o\ X main.o\ X math.o\ X prim.o\ X*************** X*** 56,62 **** X promise.o\ X read.o\ X special.o\ X! stab.o\ X stack.o\ X string.o\ X symbol.o\ X--- 56,62 ---- X promise.o\ X read.o\ X special.o\ X! stabmips.o\ X stack.o\ X string.o\ X symbol.o\ X*************** X*** 84,90 **** X char.o: $(H) X cont.o: $(H) X debug.o: $(H) X! dump.o: $(H) X env.o: $(H) X error.o: $(H) X features.o: $(H) X--- 84,90 ---- X char.o: $(H) X cont.o: $(H) X debug.o: $(H) X! dumpmips.o: $(H) X env.o: $(H) X error.o: $(H) X features.o: $(H) X*************** X*** 92,98 **** X heap.o: $(H) X io.o: $(H) X list.o: $(H) X! load.o: $(H) X main.o: $(H) X math.o: $(H) X prim.o: $(H) X--- 92,98 ---- X heap.o: $(H) X io.o: $(H) X list.o: $(H) X! loadmips.o: $(H) X main.o: $(H) X math.o: $(H) X prim.o: $(H) X*************** X*** 101,107 **** X promise.o: $(H) X read.o: $(H) X special.o: $(H) X! stab.o: $(H) X string.o: $(H) X symbol.o: $(H) X type.o: $(H) X--- 101,107 ---- X promise.o: $(H) X read.o: $(H) X special.o: $(H) X! stabmips.o: $(H) X string.o: $(H) X symbol.o: $(H) X type.o: $(H) X*** /tmp/,RCSt1019051 Sun Dec 3 12:51:52 1989 X--- bignum.c Sun Dec 3 12:36:09 1989 X*************** X*** 158,164 **** X--- 158,171 ---- X } X X size = BIGNUM(x)->usize * 5 + 3; X+ #ifndef MIPS_ALLOCA X buf = alloca (size + 1); X+ #else X+ { X+ int mips_alloca_size = size + 1; X+ buf = alloca (size); X+ } X+ #endif X p = buf + size; X *p = 0; X X*************** X*** 648,655 **** X if (Bignum_Div_In_Place (dend, scale)) X Panic ("Bignum_Div scale"); X zero: X if (Truep (dend->minusp = BIGNUM(x)->minusp) != Truep (BIGNUM(y)->minusp)) X! BIGNUM(quot)->minusp = True; X Bignum_Normalize_In_Place (BIGNUM(quot)); X Bignum_Normalize_In_Place (dend); X GC_Link (quot); X--- 655,668 ---- X if (Bignum_Div_In_Place (dend, scale)) X Panic ("Bignum_Div scale"); X zero: X+ /* this tickles a cc2.10beta compiler bug. gh */ X+ #ifndef mips X if (Truep (dend->minusp = BIGNUM(x)->minusp) != Truep (BIGNUM(y)->minusp)) X! #else X! dend->minusp = BIGNUM(x)->minusp; X! if (Truep (dend->minusp) != Truep (BIGNUM(y)->minusp)) X! BIGNUM(quot)->minusp = True; X! #endif X Bignum_Normalize_In_Place (BIGNUM(quot)); X Bignum_Normalize_In_Place (dend); X GC_Link (quot); X*** /tmp/,RCSt1019054 Sun Dec 3 12:51:52 1989 X--- extern.h Sun Dec 3 12:33:49 1989 X*************** X*** 5,11 **** X--- 5,15 ---- X */ X X extern errno; X+ #ifndef MIPS_ALLOCA X extern char *sbrk(), *alloca(), *malloc(), *getenv(), *mktemp(); X+ #else X+ extern char *sbrk(), *malloc(), *getenv(), *mktemp(); X+ #endif X X /* auto.c: X */ X*** /tmp/,RCSt1019057 Sun Dec 3 12:51:52 1989 X--- io.c Sun Dec 3 12:32:43 1989 X*************** X*** 166,172 **** X--- 166,179 ---- X X fn = Get_File_Name (s); X n = STRING(fn)->size; X+ #ifndef MIPS_ALLOCA X r = alloca (n+1); X+ #else X+ { X+ int mips_alloca_size = n+1; X+ r = alloca (mips_alloca_size); X+ } X+ #endif X bcopy (STRING(fn)->data, r, n); X r[n] = '\0'; X switch (op) { X*************** X*** 174,180 **** X--- 181,194 ---- X char *p, *dir; X if ((p = Internal_Tilde_Expand (r, &dir)) == 0) X return s; X+ #ifndef MIPS_ALLOCA X r = alloca (strlen (dir) + 1 + strlen (p)); X+ #else X+ { X+ int mips_alloca_size = strlen(dir) + 1 + strlen(p); X+ r = alloca (mips_alloca_size); X+ } X+ #endif X sprintf (r, "%s/%s", dir, p+1); X return Make_String (r, strlen (r)); X } X*************** X*** 200,206 **** X--- 214,227 ---- X struct stat st; X X if ((p = Internal_Tilde_Expand (name, &dir))) { X+ #ifndef MIPS_ALLOCA X name = alloca (strlen (dir) + 1 + strlen (p)); X+ #else X+ { X+ int mips_alloca_size = strlen (dir) + 1 + strlen (p); X+ name = alloca (mips_alloca_size); X+ } X+ #endif X sprintf (name, "%s/%s", dir, p+1); X } X if (!err && stat (name, &st) == -1 && errno == ENOENT) X*************** X*** 234,240 **** X--- 255,268 ---- X if ((plen = STRING(pref)->size) > MAXPATHLEN || plen == 0) X continue; X if (len + plen + 2 > blen) X+ #ifndef MIPS_ALLOCA X buf = alloca (blen = len + plen + 2); X+ #else X+ { X+ blen = len + plen + 2; X+ buf = alloca (blen); X+ } X+ #endif X bcopy (STRING(pref)->data, buf, plen); X if (buf[plen-1] != '/') X buf[plen++] = '/'; X*************** X*** 250,256 **** X--- 278,291 ---- X if (gotpath) X Primitive_Error ("file ~s not found", name); X if (len + 1 > blen) X+ #ifndef MIPS_ALLOCA X buf = alloca (len + 1); X+ #else X+ { X+ int mips_alloca_size = len + 1; X+ buf = alloca (mips_alloca_size); X+ } X+ #endif X bcopy (fn, buf, len); X buf[len] = '\0'; X return Open_File (buf, flags, 1); X*** /tmp/,RCSt1019060 Sun Dec 3 12:51:52 1989 X--- main.c Sun Dec 3 12:43:24 1989 X*************** X*** 40,49 **** X--- 40,65 ---- X char foo; X X if (dumped) { X+ #ifndef MIPS_ALLOCA X (void)alloca (INITIAL_STK_OFFSET - (original_stkbase - &foo)); X+ #else X+ { X+ int mips_alloca_size; X+ char *trash; X+ mips_alloca_size = INITIAL_STK_OFFSET - (original_stkbase - &foo); X+ trash = alloca (mips_alloca_size); X+ } X+ #endif X } else { X original_stkbase = &foo; X+ #ifndef MIPS_ALLOCA X (void)alloca (INITIAL_STK_OFFSET); X+ #else X+ { X+ char *trash = alloca (INITIAL_STK_OFFSET); X+ } X+ #endif X+ X } X Main (ac, av); X /*NOTREACHED*/ X*** /tmp/,RCSt1019063 Sun Dec 3 12:51:53 1989 X--- proc.c Sun Dec 3 12:25:22 1989 X*************** X*** 232,238 **** X--- 232,245 ---- X if (argc <= 8) X argv = abuf; X else X+ #ifndef MIPS_ALLOCA X argv = (Object *)alloca (argc * sizeof (Object)); X+ #else X+ { X+ int mips_alloca_size = argc * sizeof (Object); X+ argv = (Object *)alloca (mips_alloca_size); X+ } X+ #endif X GC_Link2 (argl, fun); X gcv.gclen = 1; gcv.gcobj = argv; gcv.next = &gc2; GC_List = &gcv; X for (i = 0; i < argc; i++, argl = Cdr (argl)) { X*************** X*** 317,323 **** X--- 324,337 ---- X if (argc <= 4) X argv = abuf; X else X+ #ifndef MIPS_ALLOCA X argv = (Object *)alloca (argc * sizeof (Object)); X+ #else X+ { X+ int mips_alloca_size = argc * sizeof (Object); X+ argv = (Object *)alloca (mips_alloca_size); X+ } X+ #endif X } X TC_Disable; X gcv.gclen = 1; gcv.gcobj = argv; gcv.next = &gc5; GC_List = &gcv; X*************** X*** 441,447 **** X--- 455,468 ---- X GC_Node2; GCNODE gcv; X X Check_Procedure (argv[0]); X+ #ifndef MIPS_ALLOCA X args = (Object *)alloca ((argc-1) * sizeof (Object)); X+ #else X+ { X+ int mips_alloca_size = (argc - 1) * sizeof (Object); X+ args = (Object *)alloca (mips_alloca_size); X+ } X+ #endif X list = tail = Null; X GC_Link2 (list, tail); X gcv.gclen = argc; gcv.gcobj = args; gcv.next = &gc2; GC_List = &gcv; X*** /tmp/,RCSt1019066 Sun Dec 3 12:51:53 1989 X--- string.c Sun Dec 3 12:22:59 1989 X*************** X*** 69,75 **** X--- 69,82 ---- X Check_Type (s, T_String); X p = STRING(s); X if (stksize () + p->size > maxstack) goto err; X+ #ifndef MIPS_ALLOCA X b = alloca (p->size+1); X+ #else X+ { X+ int mips_alloca_size = p->size + 1; X+ b = alloca (mips_alloca_size); X+ } X+ #endif X bcopy (p->data, b, p->size); X b[p->size] = '\0'; X ret = Read_Number_Maybe (b); X*** /tmp/,RCSt1020632 Sun Dec 3 14:10:53 1989 X--- config.h Dec 3 14:10:53 1989 X*************** X*** 3,16 **** X /* Machine/compiler dependencies X */ X X! #ifdef mips X # define VFORK X # define TIME_H <sys/time.h> X! # define VPRINTF X # ifdef MIPSEB X # define BIG_ENDIAN X # endif X! # define TERMIO X #endif X X #ifdef is68k X--- 3,21 ---- X /* Machine/compiler dependencies X */ X X! #ifdef mips /* MIPS RISCos4.01, 2.10compilers, bsd environ */ X # define VFORK X # define TIME_H <sys/time.h> X! # define CAN_DUMP X! # define TEXT_START 0x400000 X! # define DATA_START 0x800000 X! # define CAN_LOAD_OBJ X! # define XFLAG_BROKEN X # ifdef MIPSEB X # define BIG_ENDIAN X # endif X! # define MIPS_ALLOCA X! # include <alloca.h> X #endif X X #ifdef is68k SHAR_EOF if test 9273 -ne "`wc -c < 'SRC_PATCHES'`" then echo shar: error transmitting "'SRC_PATCHES'" '(should have been 9273 characters)' fi fi # end of overwriting check # End of shell archive exit 0 George Hartzell (303) 492-4535 MCD Biology, University of Colorado-Boulder, Boulder, CO 80309 hartzell@Boulder.Colorado.EDU ..!{ncar,nbires}!boulder!hartzell