These three files should have been added in r9537.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9544 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/tests/sys_mman.h b/tests/sys_mman.h
new file mode 100644
index 0000000..7ac64d5
--- /dev/null
+++ b/tests/sys_mman.h
@@ -0,0 +1,31 @@
+// Replacement for sys/mman.h which factors out platform differences.
+
+#include <sys/mman.h>
+
+#if defined(VGO_darwin)
+#  define MAP_ANONYMOUS MAP_ANON
+#endif
+
+
+#include <assert.h>
+#include <unistd.h>
+
+// Map a page, then unmap it, then return that address.  That
+// guarantees to give an address which will fault when accessed,
+// without making any assumptions about the layout of the address
+// space.
+
+__attribute__((unused))
+static void* get_unmapped_page(void)
+{
+   void* ptr;
+   int r;
+   long pagesz = sysconf(_SC_PAGE_SIZE);
+   assert(pagesz == 4096 || pagesz == 65536);
+   ptr = mmap(0, pagesz, PROT_READ, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+   assert(ptr != (void*)-1);
+   r = munmap(ptr, pagesz);
+   assert(r == 0);
+   return ptr;
+}
+