about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2018-02-02 20:10:09 +0000
committerRich Felker <dalias@aerifal.cx>2018-02-22 18:48:58 -0500
commit9b57db3f958d9adc3b1c7371b5c6723aaee448b7 (patch)
tree98d5108c1ec3a7acca28d240d0a58ed9003fa084
parent9eda4dc69c33852c97c6f69176bf45ffc80b522f (diff)
downloadmusl-9b57db3f958d9adc3b1c7371b5c6723aaee448b7.tar.gz
musl-9b57db3f958d9adc3b1c7371b5c6723aaee448b7.tar.xz
musl-9b57db3f958d9adc3b1c7371b5c6723aaee448b7.zip
add MAP_SYNC and MAP_SHARED_VALIDATE from linux v4.15
for synchronous page faults, new in linux commit
1c9725974074a047f6080eecc62c50a8e840d050 and
b6fb293f2497a9841d94f6b57bd2bb2cd222da43
note that only targets that use asm-generic/mman.h have this new
flag defined, so undef it on other targets (mips*, powerpc*).
-rw-r--r--arch/mips/bits/mman.h1
-rw-r--r--arch/mips64/bits/mman.h1
-rw-r--r--arch/mipsn32/bits/mman.h1
-rw-r--r--arch/powerpc/bits/mman.h1
-rw-r--r--arch/powerpc64/bits/mman.h1
-rw-r--r--include/sys/mman.h2
6 files changed, 7 insertions, 0 deletions
diff --git a/arch/mips/bits/mman.h b/arch/mips/bits/mman.h
index c68aea88..9027bb63 100644
--- a/arch/mips/bits/mman.h
+++ b/arch/mips/bits/mman.h
@@ -18,6 +18,7 @@
 #define MAP_STACK      0x40000
 #undef MAP_HUGETLB
 #define MAP_HUGETLB    0x80000
+#undef MAP_SYNC
 
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #undef MADV_SOFT_OFFLINE
diff --git a/arch/mips64/bits/mman.h b/arch/mips64/bits/mman.h
index c68aea88..9027bb63 100644
--- a/arch/mips64/bits/mman.h
+++ b/arch/mips64/bits/mman.h
@@ -18,6 +18,7 @@
 #define MAP_STACK      0x40000
 #undef MAP_HUGETLB
 #define MAP_HUGETLB    0x80000
+#undef MAP_SYNC
 
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #undef MADV_SOFT_OFFLINE
diff --git a/arch/mipsn32/bits/mman.h b/arch/mipsn32/bits/mman.h
index c68aea88..9027bb63 100644
--- a/arch/mipsn32/bits/mman.h
+++ b/arch/mipsn32/bits/mman.h
@@ -18,6 +18,7 @@
 #define MAP_STACK      0x40000
 #undef MAP_HUGETLB
 #define MAP_HUGETLB    0x80000
+#undef MAP_SYNC
 
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #undef MADV_SOFT_OFFLINE
diff --git a/arch/powerpc/bits/mman.h b/arch/powerpc/bits/mman.h
index 95ec4358..b3a675a8 100644
--- a/arch/powerpc/bits/mman.h
+++ b/arch/powerpc/bits/mman.h
@@ -4,6 +4,7 @@
 #define MAP_NORESERVE   0x40
 #undef MAP_LOCKED
 #define MAP_LOCKED	0x80
+#undef MAP_SYNC
 
 #undef MCL_CURRENT
 #define MCL_CURRENT     0x2000
diff --git a/arch/powerpc64/bits/mman.h b/arch/powerpc64/bits/mman.h
index 95ec4358..b3a675a8 100644
--- a/arch/powerpc64/bits/mman.h
+++ b/arch/powerpc64/bits/mman.h
@@ -4,6 +4,7 @@
 #define MAP_NORESERVE   0x40
 #undef MAP_LOCKED
 #define MAP_LOCKED	0x80
+#undef MAP_SYNC
 
 #undef MCL_CURRENT
 #define MCL_CURRENT     0x2000
diff --git a/include/sys/mman.h b/include/sys/mman.h
index d13d4ca3..302ad134 100644
--- a/include/sys/mman.h
+++ b/include/sys/mman.h
@@ -20,6 +20,7 @@ extern "C" {
 
 #define MAP_SHARED     0x01
 #define MAP_PRIVATE    0x02
+#define MAP_SHARED_VALIDATE 0x03
 #define MAP_TYPE       0x0f
 #define MAP_FIXED      0x10
 #define MAP_ANON       0x20
@@ -33,6 +34,7 @@ extern "C" {
 #define MAP_NONBLOCK   0x10000
 #define MAP_STACK      0x20000
 #define MAP_HUGETLB    0x40000
+#define MAP_SYNC       0x80000
 #define MAP_FILE       0
 
 #define MAP_HUGE_SHIFT 26