From 230e492a8a564ba24a8575f64d2380504ae6338e Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 29 Dec 2005 23:41:14 +0000 Subject: [PATCH] more irix-inspired fixes --- Make.irix | 24 ++++++++++++++++++++++++ Makefile | 22 +++++++++++----------- cpu.c | 8 ++++---- include/dtos.h | 4 ++++ include/lib.h | 2 +- kern/fns.h | 8 ++++---- 6 files changed, 48 insertions(+), 20 deletions(-) create mode 100644 Make.irix diff --git a/Make.irix b/Make.irix new file mode 100644 index 0000000..7a31df2 --- /dev/null +++ b/Make.irix @@ -0,0 +1,24 @@ +# Unix +PTHREAD= # for Mac +#PTHREAD=-pthread +AR=ar +AS=as +ASFLAGS=-c -mips3 +RANLIB=true +X11=/usr/X11R6 +#CC=gcc +#CFLAGS=-Wall -Wno-missing-braces -ggdb -I$(ROOT) -I$(ROOT)/include -I$(ROOT)/kern -c -I$(X11)/include -D_THREAD_SAFE $(PTHREAD) -O2 +CC=cc +CFLAGS=-g -O2 -I$(ROOT) -I$(ROOT)/include -I$(ROOT)/kern -c -I$(X11)/include -DIRIX +O=o +OS=posix +GUI=x11 +LDADD=-L$(X11)/lib -lX11 -g -lpthread +LDFLAGS=$(PTHREAD) +TARG=drawterm +MAKE=gmake + +all: default + +libmachdep.a: + (cd posix-mips && $(MAKE)) diff --git a/Makefile b/Makefile index f2f1a24..28cb693 100644 --- a/Makefile +++ b/Makefile @@ -38,34 +38,34 @@ clean: rm -f *.o */*.o */*.a *.a drawterm drawterm.exe kern/libkern.a: - (cd kern; make) + (cd kern; $(MAKE)) exportfs/libexportfs.a: - (cd exportfs; make) + (cd exportfs; $(MAKE)) libauth/libauth.a: - (cd libauth; make) + (cd libauth; $(MAKE)) libauthsrv/libauthsrv.a: - (cd libauthsrv; make) + (cd libauthsrv; $(MAKE)) libmp/libmp.a: - (cd libmp; make) + (cd libmp; $(MAKE)) libsec/libsec.a: - (cd libsec; make) + (cd libsec; $(MAKE)) libmemdraw/libmemdraw.a: - (cd libmemdraw; make) + (cd libmemdraw; $(MAKE)) libmemlayer/libmemlayer.a: - (cd libmemlayer; make) + (cd libmemlayer; $(MAKE)) libdraw/libdraw.a: - (cd libdraw; make) + (cd libdraw; $(MAKE)) libc/libc.a: - (cd libc; make) + (cd libc; $(MAKE)) gui-$(GUI)/libgui.a: - (cd gui-$(GUI); make) + (cd gui-$(GUI); $(MAKE)) diff --git a/cpu.c b/cpu.c index 668770d..5f5421f 100644 --- a/cpu.c +++ b/cpu.c @@ -28,7 +28,7 @@ static AuthInfo *p9any(int); #define system csystem static char *system; static int cflag; -int dbg; +extern int dbg; static char *srvname = "ncpu"; static char *ealgs = "rc4_256 sha1"; @@ -548,7 +548,7 @@ p9any(int fd) char tbuf[TICKETLEN+TICKETLEN+AUTHENTLEN], trbuf[TICKREQLEN]; char authkey[DESKEYLEN]; Authenticator auth; - int afd, i, v2, n; + int afd, i, v2; Ticketreq tr; Ticket t; AuthInfo *ai; @@ -556,7 +556,7 @@ p9any(int fd) if((afd = open("/mnt/factotum/ctl", ORDWR)) >= 0) return p9anyfactotum(fd, afd); - if((n = readstr(fd, buf, sizeof buf)) < 0) + if(readstr(fd, buf, sizeof buf) < 0) fatal(1, "cannot read p9any negotiation"); bbuf = buf; v2 = 0; @@ -577,7 +577,7 @@ p9any(int fd) if(write(fd, buf2, strlen(buf2)+1) != strlen(buf2)+1) fatal(1, "cannot write user/domain choice in p9any"); if(v2){ - if((n = readstr(fd, buf, sizeof buf)) != 3) + if(readstr(fd, buf, sizeof buf) != 3) fatal(1, "cannot read OK in p9any"); if(memcmp(buf, "OK\0", 3) != 0) fatal(1, "did not get OK in p9any"); diff --git a/include/dtos.h b/include/dtos.h index 8949d16..1f8ba41 100644 --- a/include/dtos.h +++ b/include/dtos.h @@ -9,3 +9,7 @@ #else # error "Define an OS" #endif + +#ifdef IRIX +typedef int socklen_t; +#endif diff --git a/include/lib.h b/include/lib.h index 35381df..31c8d26 100644 --- a/include/lib.h +++ b/include/lib.h @@ -45,8 +45,8 @@ typedef p9_u32int mpdigit; #define uvlong p9_uvlong #define nelem(x) (sizeof(x)/sizeof((x)[0])) +#define SET(x) ((x)=0) #define USED(x) if(x);else -#define SET(x) enum { diff --git a/kern/fns.h b/kern/fns.h index 89ceb80..cc4bfce 100644 --- a/kern/fns.h +++ b/kern/fns.h @@ -44,7 +44,7 @@ void cnameclose(Cname*); void confinit(void); void confinit1(int); int consactive(void); -void (*consdebug)(void); +extern void (*consdebug)(void); void copen(Chan*); Block* concatblock(Block*); Block* copyblock(Block*, int); @@ -146,7 +146,7 @@ void kickpager(void); void killbig(void); int kproc(char*, void(*)(void*), void*); void kprocchild(Proc*, void (*)(void*), void*); -void (*kproftimer)(ulong); +extern void (*kproftimer)(ulong); void ksetenv(char*, char*, int); void kstrcpy(char*, char*, int); void kstrdup(char**, char*); @@ -294,11 +294,11 @@ long rtctime(void); void runlock(RWlock*); Proc* runproc(void); void savefpregs(FPsave*); -void (*saveintrts)(void); +extern void (*saveintrts)(void); void sched(void); void scheddump(void); void schedinit(void); -void (*screenputs)(char*, int); +extern void (*screenputs)(char*, int); long seconds(void); ulong segattach(Proc*, ulong, char *, ulong, ulong); void segclock(ulong);