Merged in a bunch of patches that I got as reaction to the 3.99 release.
See the ChangeLog for details
diff --git a/mem.c b/mem.c
index 7307616..7a39412 100644
--- a/mem.c
+++ b/mem.c
@@ -31,11 +31,10 @@
 
 #include "defs.h"
 
-#ifdef LINUXSPARC
+#ifdef LINUX
 #include <linux/mman.h>
-#else
-#include <sys/mman.h>
 #endif
+#include <sys/mman.h>
 
 #if defined(LINUX) && defined(__i386__)
 #include <asm/ldt.h>
@@ -170,6 +169,26 @@
 	return 0;
 }
 
+#ifdef LINUX
+
+static struct xlat mremap_flags[] = {
+	{ MREMAP_MAYMOVE, "MREMAP_MAYMOVE" },
+};
+
+int
+sys_mremap(tcp)
+struct tcb *tcp;
+{
+	if (entering(tcp)) {
+		tprintf("%#lx, %lu, %lu, ", tcp->u_arg[0], tcp->u_arg[1],
+			tcp->u_arg[2]);
+		printflags(mremap_flags, tcp->u_arg[3]);
+	}
+	return RVAL_HEX;
+}
+
+#endif /* LINUX */
+
 #ifdef MS_ASYNC
 
 static struct xlat mctl_sync[] = {