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 <[email protected]> --- 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 -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/osv-dev/20200829042859.573695-1-jwkozaczuk%40gmail.com.
