make things work on SunOS
diff --git a/src/cmd/9term/SunOS.c b/src/cmd/9term/SunOS.c
index efc2a97..12f64b8 100644
--- a/src/cmd/9term/SunOS.c
+++ b/src/cmd/9term/SunOS.c
@@ -60,14 +60,14 @@
 static struct termios ttmode;
 
 int
-israw(int fd)
+isecho(int fd)
 {
 	if(tcgetattr(fd, &ttmode) < 0)
 		fprint(2, "tcgetattr: %r\n");
 	if(debug) fprint(2, "israw %c%c\n",
 		ttmode.c_lflag&ICANON ? 'c' : '-',
 		ttmode.c_lflag&ECHO ? 'e' : '-');
-	return !(ttmode.c_lflag&(ICANON|ECHO));
+	return (ttmode.c_lflag&(ICANON|ECHO));
 }
 
 int
diff --git a/src/cmd/acid/expr.c b/src/cmd/acid/expr.c
index 18b68f4..9cfac9e 100644
--- a/src/cmd/acid/expr.c
+++ b/src/cmd/acid/expr.c
@@ -39,7 +39,7 @@
 	fsize['s'] = 4;
 	fsize['u'] = 2;
 	fsize['x'] = 2;
-};
+}
 
 int
 fmtsize(Value *v)
@@ -1021,7 +1021,7 @@
 	expop[OFMT] = ofmt;
 	expop[OEVAL] = oeval;
 	expop[OWHAT] = owhat;
-};
+}
 
 void
 initexpr(void)
diff --git a/src/cmd/acid/lex.c b/src/cmd/acid/lex.c
index db11eb1..bbfb47b 100644
--- a/src/cmd/acid/lex.c
+++ b/src/cmd/acid/lex.c
@@ -52,7 +52,7 @@
 	cmap['v']=	'\v'+1;
 	cmap['\\']=	'\\'+1;
 	cmap['"']=	'"'+1;
-};
+}
 
 void
 kinit(void)
diff --git a/src/cmd/acid/print.c b/src/cmd/acid/print.c
index 9602103..0c66e02 100644
--- a/src/cmd/acid/print.c
+++ b/src/cmd/acid/print.c
@@ -30,7 +30,7 @@
 	binop[OCAND]=	"&&";
 	binop[OCOR]=	"||";
 	binop[OASGN]=	" = ";
-};
+}
 
 static char *tabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
 char *typenames[] = {
diff --git a/src/cmd/bzip2/mkfile b/src/cmd/bzip2/mkfile
index e544d4d..d846b93 100644
--- a/src/cmd/bzip2/mkfile
+++ b/src/cmd/bzip2/mkfile
@@ -16,7 +16,7 @@
 SHORTLIB=bio 9
 <$PLAN9/src/mkmany
 
-CFLAGS=$CFLAGS -p -DPLAN9 -Ilib
+CFLAGS=$CFLAGS -DPLAN9 -Ilib
 
 test:V: $O.bzip2 $O.bunzip2
 	./$O.bzip2 -1  < sample1.ref > sample1.rb2
diff --git a/src/cmd/db/print.c b/src/cmd/db/print.c
index d136a78..134cbc8 100644
--- a/src/cmd/db/print.c
+++ b/src/cmd/db/print.c
@@ -6,6 +6,8 @@
 #include "defs.h"
 #include "fns.h"
 
+#define ptrace dbptrace
+
 extern	int	infile;
 extern	int	outfile;
 extern	int	maxpos;
diff --git a/src/cmd/ed.c b/src/cmd/ed.c
index 1c1639b..d947d89 100644
--- a/src/cmd/ed.c
+++ b/src/cmd/ed.c
@@ -697,6 +697,8 @@
 			noted(NDFLT);
 		rescue();
 	}
+	if(strstr(s, "child"))
+		noted(NCONT);
 	fprint(2, "ed: note: %s\n", s);
 	abort();
 }
@@ -928,7 +930,8 @@
 	*p = 0;
 	pid = fork();
 	if(pid == 0) {
-		execl("/bin/rc", "rc", "-c", buf, 0);
+		execlp("rc", "rc", "-c", buf, 0);
+		sysfatal("exec failed: %r");
 		exits("execl failed");
 	}
 	waiting = 1;
diff --git a/src/cmd/gzip/gzip.h b/src/cmd/gzip/gzip.h
index 5b9863b..1713a26 100644
--- a/src/cmd/gzip/gzip.h
+++ b/src/cmd/gzip/gzip.h
@@ -34,7 +34,8 @@
 	GZOSACORN	= 13,			/* Acorn RISCOS */
 	GZOSUNK		= 255,
 
-	GZCRCPOLY	= 0xedb88320UL,
+#define GZCRCPOLY 0xedb88320
+/* 	GZCRCPOLY	= 0xedb88320UL, */
 
 	GZOSINFERNO	= GZOSUNIX,
 };
diff --git a/src/cmd/gzip/zip.h b/src/cmd/gzip/zip.h
index 9b703de..d005469 100644
--- a/src/cmd/gzip/zip.h
+++ b/src/cmd/gzip/zip.h
@@ -16,7 +16,8 @@
 	ZTrailInfo	= 1 << 3,	/* uncsize, csize, and crc are in trailer */
 	ZCompPatch	= 1 << 5,	/* compression patched data */
 
-	ZCrcPoly	= 0xedb88320,
+/*	ZCrcPoly	= 0xedb88320, */
+#define	ZCrcPoly	0xedb88320
 
 	/*
 	 * compression method
diff --git a/src/cmd/plot/libplot/mplot.h b/src/cmd/plot/libplot/mplot.h
index ee924dd..151b9c3 100644
--- a/src/cmd/plot/libplot/mplot.h
+++ b/src/cmd/plot/libplot/mplot.h
@@ -18,7 +18,9 @@
 	double grade;
 	int pgap;
 	double pslant;
-	int pmode, foregr, backgr;
+	int pmode;
+	ulong foregr;
+	ulong backgr;
 } *e0, *e1, *esave;
 #define RADIAN 57.3	/* radians per degree */
 struct seg {