add readn to avoid need for plan9port libc
diff --git a/src/cmd/mk/archive.c b/src/cmd/mk/archive.c
index 8edfddd..fcfee03 100644
--- a/src/cmd/mk/archive.c
+++ b/src/cmd/mk/archive.c
@@ -23,6 +23,25 @@
 static char *split(char*, char**);
 
 long
+readn(int f, void *av, long n)
+{
+	char *a;
+	long m, t;
+
+	a = av;
+	t = 0;
+	while(t < n){
+		m = read(f, a+t, n-t);
+		if(m <= 0){
+			if(t == 0)
+				return m;
+			break;
+		}
+		t += m;
+	}
+	return t;
+}
+long
 atimeof(int force, char *name)
 {
 	Symtab *sym;
diff --git a/src/cmd/mk/sys.h b/src/cmd/mk/sys.h
index f520b06..03a9d05 100644
--- a/src/cmd/mk/sys.h
+++ b/src/cmd/mk/sys.h
@@ -2,3 +2,4 @@
 #include <libc.h>
 #include <bio.h>
 #include <regexp.h>
+