Fix warnings

diff --git a/klibc/memrchr.c b/klibc/memrchr.c
index c612fa6..10d9c29 100644
--- a/klibc/memrchr.c
+++ b/klibc/memrchr.c
@@ -7,7 +7,8 @@
 
 void *memrchr(const void *s, int c, size_t n)
 {
-  const unsigned char *sp = s + n - 1;
+  const unsigned char *sp =
+    (const unsigned char *)s + n - 1;
 
   while ( n-- ) {
     if ( *sp == (unsigned char)c )
diff --git a/nfsmount/mount.c b/nfsmount/mount.c
index 7f7f25b..8ff72bc 100644
--- a/nfsmount/mount.c
+++ b/nfsmount/mount.c
@@ -166,7 +166,7 @@
 		goto bail;
 
 	if (rpc.reply_len < MNT_REPLY_MINSIZE) {
-		fprintf(stderr, "incomplete reply: %d < %d\n",
+		fprintf(stderr, "incomplete reply: %zu < %zu\n",
 			rpc.reply_len, MNT_REPLY_MINSIZE);
 		goto bail;
 	}
diff --git a/nfsmount/sunrpc.c b/nfsmount/sunrpc.c
index 4b65920..3307a0f 100644
--- a/nfsmount/sunrpc.c
+++ b/nfsmount/sunrpc.c
@@ -25,7 +25,7 @@
 		goto bail;
 	}
 	else if (ret < sizeof(struct rpc_reply) - off) {
-		fprintf(stderr, "short read: %d < %d\n", ret,
+		fprintf(stderr, "short read: %d < %zu\n", ret,
 			sizeof(struct rpc_reply) - off);
 		goto bail;
 	}
@@ -71,7 +71,8 @@
 		goto bail;
 	}
 	else if (ret < rpc->call_len) {
-		fprintf(stderr, "short write: %d < %d\n", ret, rpc->call_len);
+		fprintf(stderr, "short write: %d < %zu\n",
+			ret, rpc->call_len);
 		goto bail;
 	}
 
@@ -111,7 +112,7 @@
 			goto bail;
 		}
 		else if (ret < rpc->call_len) {
-			fprintf(stderr, "short write: %d < %d\n", ret,
+			fprintf(stderr, "short write: %d < %zu\n", ret,
 				rpc->call_len);
 			goto bail;
 		}