about summary refs log tree commit diff
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.gz
glibc-bef1cbf4da54aeb213e2542ccfdfebb22fb15820.tar.xz
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.  */