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;
+}
+