This file and its aarch64 equivalent differs only to musl copies by
extra MAP_UNINITIALIZED macro. In order to drop this header
we create extra __mman.h headers and use them in libc/mman.cc.
Signed-off-by: Waldemar Kozaczuk <
jwkoz...@gmail.com>
---
include/api/aarch64/bits/__mman.h | 13 +++++++
include/api/aarch64/bits/mman.h | 1 -
include/api/x64/bits/__mman.h | 13 +++++++
include/api/x64/bits/mman.h | 64 +------------------------------
libc/mman.cc | 1 +
5 files changed, 28 insertions(+), 64 deletions(-)
create mode 100644 include/api/aarch64/bits/__mman.h
create mode 100644 include/api/x64/bits/__mman.h
mode change 100644 => 120000 include/api/x64/bits/mman.h
diff --git a/include/api/aarch64/bits/__mman.h b/include/api/aarch64/bits/__mman.h
new file mode 100644
index 00000000..53743e3d
--- /dev/null
+++ b/include/api/aarch64/bits/__mman.h
@@ -0,0 +1,13 @@
+/*
+ * Copyright (C) 2020 Waldemar Kozaczuk
+ *
+ * This work is open source software, licensed under the terms of the
+ * BSD license as described in the LICENSE file in the top-level directory.
+ */
+
+#ifndef OSV__BITS_MMAN_H_
+#define OSV__BITS_MMAN_H_
+
+#define MAP_UNINITIALIZED 0x4000000
+
+#endif /* OSV__BITS_MMAN_H_ */
diff --git a/include/api/aarch64/bits/mman.h b/include/api/aarch64/bits/mman.h
index dc07c611..dcab47a4 100644
--- a/include/api/aarch64/bits/mman.h
+++ b/include/api/aarch64/bits/mman.h
@@ -25,7 +25,6 @@
#define MAP_NONBLOCK 0x10000
#define MAP_STACK 0x20000
#define MAP_HUGETLB 0x40000
-#define MAP_UNINITIALIZED 0x4000000
#define POSIX_MADV_NORMAL 0
#define POSIX_MADV_RANDOM 1
diff --git a/include/api/x64/bits/__mman.h b/include/api/x64/bits/__mman.h
new file mode 100644
index 00000000..53743e3d
--- /dev/null
+++ b/include/api/x64/bits/__mman.h
@@ -0,0 +1,13 @@
+/*
+ * Copyright (C) 2020 Waldemar Kozaczuk
+ *
+ * This work is open source software, licensed under the terms of the
+ * BSD license as described in the LICENSE file in the top-level directory.
+ */
+
+#ifndef OSV__BITS_MMAN_H_
+#define OSV__BITS_MMAN_H_
+
+#define MAP_UNINITIALIZED 0x4000000
+
+#endif /* OSV__BITS_MMAN_H_ */
diff --git a/include/api/x64/bits/mman.h b/include/api/x64/bits/mman.h
deleted file mode 100644
index dc07c611..00000000
--- a/include/api/x64/bits/mman.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#define MAP_FAILED ((void *) -1)
-
-#define PROT_NONE 0
-#define PROT_READ 1
-#define PROT_WRITE 2
-#define PROT_EXEC 4
-#define PROT_GROWSDOWN 0x01000000
-#define PROT_GROWSUP 0x02000000
-
-#define MAP_SHARED 0x01
-#define MAP_PRIVATE 0x02
-#define MAP_FIXED 0x10
-
-#define MAP_TYPE 0x0f
-#define MAP_FILE 0x00
-#define MAP_ANON 0x20
-#define MAP_ANONYMOUS MAP_ANON
-#define MAP_32BIT 0x40
-#define MAP_NORESERVE 0x4000
-#define MAP_GROWSDOWN 0x0100
-#define MAP_DENYWRITE 0x0800
-#define MAP_EXECUTABLE 0x1000
-#define MAP_LOCKED 0x2000
-#define MAP_POPULATE 0x8000
-#define MAP_NONBLOCK 0x10000
-#define MAP_STACK 0x20000
-#define MAP_HUGETLB 0x40000
-#define MAP_UNINITIALIZED 0x4000000
-
-#define POSIX_MADV_NORMAL 0
-#define POSIX_MADV_RANDOM 1
-#define POSIX_MADV_SEQUENTIAL 2
-#define POSIX_MADV_WILLNEED 3
-#define POSIX_MADV_DONTNEED 0
-
-#define MS_ASYNC 1
-#define MS_INVALIDATE 2
-#define MS_SYNC 4
-
-#define MCL_CURRENT 1
-#define MCL_FUTURE 2
-
-#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#define MADV_NORMAL 0
-#define MADV_RANDOM 1
-#define MADV_SEQUENTIAL 2
-#define MADV_WILLNEED 3
-#define MADV_DONTNEED 4
-#define MADV_REMOVE 9
-#define MADV_DONTFORK 10
-#define MADV_DOFORK 11
-#define MADV_MERGEABLE 12
-#define MADV_UNMERGEABLE 13
-#define MADV_HUGEPAGE 14
-#define MADV_NOHUGEPAGE 15
-#define MADV_DONTDUMP 16
-#define MADV_DODUMP 17
-#define MADV_HWPOISON 100
-#define MADV_SOFT_OFFLINE 101
-
-#define MREMAP_MAYMOVE 1
-#define MREMAP_FIXED 2
-#endif
diff --git a/include/api/x64/bits/mman.h b/include/api/x64/bits/mman.h
new file mode 120000
index 00000000..80a5261f
--- /dev/null
+++ b/include/api/x64/bits/mman.h
@@ -0,0 +1 @@
+../../../../musl/arch/x86_64/bits/mman.h
\ No newline at end of file
diff --git a/libc/mman.cc b/libc/mman.cc
index d0803ac4..f0b8bc11 100644
--- a/libc/mman.cc
+++ b/libc/mman.cc
@@ -15,6 +15,7 @@
#include "osv/mount.h"
#include "libc/libc.hh"
#include <safe-ptr.hh>
+#include <bits/__mman.h>
TRACEPOINT(trace_memory_mmap, "addr=%p, length=%d, prot=%d, flags=%d, fd=%d, offset=%d", void *, size_t, int, int, int, off_t);
TRACEPOINT(trace_memory_mmap_err, "%d", int);
--
2.26.2