194aa3
commit 71bdf29ac1de04efcce96bc5ce50af3263851ac7
194aa3
Author: Joseph Myers <joseph@codesourcery.com>
194aa3
Date:   Mon Sep 30 15:49:25 2019 +0000
194aa3
194aa3
    Update bits/mman.h constants and tst-mman-consts.py for Linux 5.3.
194aa3
    
194aa3
    The Linux 5.3 uapi headers have some rearrangement relating to MAP_*
194aa3
    constants, which includes the effect of adding definitions of MAP_SYNC
194aa3
    on powerpc and sparc.  This patch updates the corresponding glibc
194aa3
    bits/mman.h headers accordingly, and updates the Linux kernel version
194aa3
    number in tst-mman-consts.py to reflect that these constants are now
194aa3
    current with that kernel version.
194aa3
    
194aa3
    Tested with build-many-glibcs.py.
194aa3
    
194aa3
            * sysdeps/unix/sysv/linux/powerpc/bits/mman.h [__USE_MISC]
194aa3
            (MAP_SYNC): New macro.
194aa3
            * sysdeps/unix/sysv/linux/sparc/bits/mman.h [__USE_MISC]
194aa3
            (MAP_SYNC): Likewise.
194aa3
            * sysdeps/unix/sysv/linux/tst-mman-consts.py (main): Update Linux
194aa3
            kernel version number to 5.3.
194aa3
194aa3
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
194aa3
index e652467c8c091381..0e7fa647793ed585 100644
194aa3
--- a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
194aa3
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
194aa3
@@ -36,6 +36,8 @@
194aa3
 # define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
194aa3
 # define MAP_STACK	0x20000		/* Allocation is for a stack.  */
194aa3
 # define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
194aa3
+# define MAP_SYNC	0x80000		/* Perform synchronous page
194aa3
+					   faults for the mapping.  */
194aa3
 # define MAP_FIXED_NOREPLACE 0x100000	/* MAP_FIXED but do not unmap
194aa3
 					   underlying mapping.  */
194aa3
 #endif
194aa3
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/mman.h b/sysdeps/unix/sysv/linux/sparc/bits/mman.h
194aa3
index 3a3ffb994631e2b6..03f6f732bb5efbe2 100644
194aa3
--- a/sysdeps/unix/sysv/linux/sparc/bits/mman.h
194aa3
+++ b/sysdeps/unix/sysv/linux/sparc/bits/mman.h
194aa3
@@ -36,6 +36,8 @@
194aa3
 # define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
194aa3
 # define MAP_STACK	0x20000		/* Allocation is for a stack.  */
194aa3
 # define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
194aa3
+# define MAP_SYNC	0x80000		/* Perform synchronous page
194aa3
+					   faults for the mapping.  */
194aa3
 # define MAP_FIXED_NOREPLACE 0x100000	/* MAP_FIXED but do not unmap
194aa3
 					   underlying mapping.  */
194aa3
 #endif
194aa3
diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py
194aa3
index 9e326b1f31799a72..42914e4e0ba84712 100644
194aa3
--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py
194aa3
+++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py
194aa3
@@ -41,7 +41,7 @@ def main():
194aa3
                         help='C compiler (including options) to use')
194aa3
     args = parser.parse_args()
194aa3
     linux_version_headers = linux_kernel_version(args.cc)
194aa3
-    linux_version_glibc = (5, 2)
194aa3
+    linux_version_glibc = (5, 3)
194aa3
     sys.exit(glibcextract.compare_macro_consts(
194aa3
         '#define _GNU_SOURCE 1\n'
194aa3
         '#include <sys/mman.h>\n',