aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-06-05 11:04:46 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-06-05 11:04:46 +0000
commitbef1cbf4da54aeb213e2542ccfdfebb22fb15820 (patch)
tree54d95a3e16e56c0a285bc8737ba8fc9f74e2159b
parent0e0577c93fcdd8922ca83763400f74ca10e46019 (diff)
downloadglibc-bef1cbf4da54aeb213e2542ccfdfebb22fb15820.tar
glibc-bef1cbf4da54aeb213e2542ccfdfebb22fb15820.tar.gz
glibc-bef1cbf4da54aeb213e2542ccfdfebb22fb15820.tar.bz2
glibc-bef1cbf4da54aeb213e2542ccfdfebb22fb15820.zip
Add MAP_FIXED_NOREPLACE from Linux 4.17 to bits/mman.h.
Linux 4.17 adds MAP_FIXED_NOREPLACE (value 0x100000 on most architectures, 0x200000 on alpha). This patch adds that macro to glibc's bits/mman.h headers. Tested for x86_64. * sysdeps/unix/sysv/linux/aarch64/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): New macro. * sysdeps/unix/sysv/linux/alpha/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/arm/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/m68k/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/microblaze/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/mips/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/nios2/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/riscv/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/s390/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/sh/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise. * sysdeps/unix/sysv/linux/x86/bits/mman.h [__USE_MISC] (MAP_FIXED_NOREPLACE): Likewise.
-rw-r--r--ChangeLog31
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/arm/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/sh/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/mman.h2
16 files changed, 61 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index bc23518aa6..ce40d41c8b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,36 @@
2018-06-05 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/unix/sysv/linux/aarch64/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): New macro.
+ * sysdeps/unix/sysv/linux/alpha/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/arm/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/ia64/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/m68k/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/microblaze/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/mips/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/nios2/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/riscv/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/sh/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+ * sysdeps/unix/sysv/linux/x86/bits/mman.h [__USE_MISC]
+ (MAP_FIXED_NOREPLACE): Likewise.
+
* sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
version to 4.17.
diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/mman.h b/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
index 9ad8a601f9..577566044d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
@@ -38,6 +38,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/sysdeps/unix/sysv/linux/alpha/bits/mman.h
index 935804b84c..3abfd8449f 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/mman.h
@@ -36,6 +36,8 @@
# define MAP_NONBLOCK 0x40000 /* Do not block on IO. */
# define MAP_STACK 0x80000 /* Allocation is for a stack. */
# define MAP_HUGETLB 0x100000 /* Create huge page mapping. */
+# define MAP_FIXED_NOREPLACE 0x200000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Flags for `mlockall'. */
diff --git a/sysdeps/unix/sysv/linux/arm/bits/mman.h b/sysdeps/unix/sysv/linux/arm/bits/mman.h
index be71c82e16..63813dcee7 100644
--- a/sysdeps/unix/sysv/linux/arm/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/arm/bits/mman.h
@@ -36,6 +36,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/mman.h b/sysdeps/unix/sysv/linux/hppa/bits/mman.h
index 380be7b789..1d2a175239 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/mman.h
@@ -62,6 +62,8 @@
# define MAP_NONBLOCK 0x20000 /* Do not block on IO */
# define MAP_STACK 0x40000 /* Create for process/thread stacks */
# define MAP_HUGETLB 0x80000 /* Create a huge page mapping */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Flags to "msync" */
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/mman.h b/sysdeps/unix/sysv/linux/ia64/bits/mman.h
index 0f00a1a342..51071fda56 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/mman.h
@@ -37,6 +37,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */
diff --git a/sysdeps/unix/sysv/linux/m68k/bits/mman.h b/sysdeps/unix/sysv/linux/m68k/bits/mman.h
index 80cc2a677d..8d355feda9 100644
--- a/sysdeps/unix/sysv/linux/m68k/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/m68k/bits/mman.h
@@ -36,6 +36,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */
diff --git a/sysdeps/unix/sysv/linux/microblaze/bits/mman.h b/sysdeps/unix/sysv/linux/microblaze/bits/mman.h
index 8ca77b6b8f..fe1b376720 100644
--- a/sysdeps/unix/sysv/linux/microblaze/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/microblaze/bits/mman.h
@@ -38,6 +38,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/mman.h b/sysdeps/unix/sysv/linux/mips/bits/mman.h
index ed8287fb00..102bc6dd03 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/mman.h
@@ -34,6 +34,8 @@
# define MAP_NONBLOCK 0x20000 /* do not block on IO */
# define MAP_STACK 0x40000 /* Allocation is for a stack. */
# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
#define __MAP_ANONYMOUS 0x0800
diff --git a/sysdeps/unix/sysv/linux/nios2/bits/mman.h b/sysdeps/unix/sysv/linux/nios2/bits/mman.h
index 987e47951c..50f92b4a86 100644
--- a/sysdeps/unix/sysv/linux/nios2/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/nios2/bits/mman.h
@@ -38,6 +38,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
index b8a01fad72..e652467c8c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
@@ -36,6 +36,8 @@
# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
# define MAP_STACK 0x20000 /* Allocation is for a stack. */
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Flags for `mlockall'. */
diff --git a/sysdeps/unix/sysv/linux/riscv/bits/mman.h b/sysdeps/unix/sysv/linux/riscv/bits/mman.h
index 84257723b4..c01fb00728 100644
--- a/sysdeps/unix/sysv/linux/riscv/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/riscv/bits/mman.h
@@ -32,6 +32,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */
diff --git a/sysdeps/unix/sysv/linux/s390/bits/mman.h b/sysdeps/unix/sysv/linux/s390/bits/mman.h
index cdd7a63530..f103c1a65b 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/mman.h
@@ -37,6 +37,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */
diff --git a/sysdeps/unix/sysv/linux/sh/bits/mman.h b/sysdeps/unix/sysv/linux/sh/bits/mman.h
index e22be10682..9015957e65 100644
--- a/sysdeps/unix/sysv/linux/sh/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/sh/bits/mman.h
@@ -36,6 +36,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/mman.h b/sysdeps/unix/sysv/linux/sparc/bits/mman.h
index f0a4797d8b..3a3ffb9946 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/mman.h
@@ -36,6 +36,8 @@
# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
# define MAP_STACK 0x20000 /* Allocation is for a stack. */
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Flags for `mlockall'. */
diff --git a/sysdeps/unix/sysv/linux/x86/bits/mman.h b/sysdeps/unix/sysv/linux/x86/bits/mman.h
index ebfc0c7bd1..d897b8a2b2 100644
--- a/sysdeps/unix/sysv/linux/x86/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/x86/bits/mman.h
@@ -41,6 +41,8 @@
# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
# define MAP_SYNC 0x80000 /* Perform synchronous page
faults for the mapping. */
+# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
+ underlying mapping. */
#endif
/* Include generic Linux declarations. */