about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog50
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/mman.h78
2 files changed, 77 insertions, 51 deletions
diff --git a/ChangeLog b/ChangeLog
index 8f9bac2565..4c865ab43f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,55 @@
 2018-10-04  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/unix/sysv/linux/hppa/bits/mman.h: Include
+	<bits/mman-linux.h>.
+	(PROT_READ): Don't define here.
+	(PROT_WRITE): Likewise.
+	(PROT_EXEC): Likewise.
+	(PROT_NONE): Likewise.
+	(PROT_GROWSDOWN): Likewise.
+	(PROT_GROWSUP): Likewise.
+	(MAP_SHARED): Likewise.
+	(MAP_PRIVATE): Likewise.
+	[__USE_MISC] (MAP_SHARED_VALIDATE): Likewise.
+	[__USE_MISC] (MAP_FILE): Likewise.
+	[__USE_MISC] (MAP_ANONYMOUS): Likewise.
+	[__USE_MISC] (MAP_ANON): Likewise.
+	[__USE_MISC] (MAP_HUGE_SHIFT): Likewise.
+	[__USE_MISC] (MAP_HUGE_MASK): Likewise.
+	(MCL_CURRENT): Likewise.
+	(MCL_FUTURE): Likewise.
+	(MCL_ONFAULT): Likewise.
+	[__USE_MISC] (MADV_NORMAL): Likewise.
+	[__USE_MISC] (MADV_RANDOM): Likewise.
+	[__USE_MISC] (MADV_SEQUENTIAL): Likewise.
+	[__USE_MISC] (MADV_WILLNEED): Likewise.
+	[__USE_MISC] (MADV_DONTNEED): Likewise.
+	[__USE_MISC] (MADV_FREE): Likewise.
+	[__USE_MISC] (MADV_REMOVE): Likewise.
+	[__USE_MISC] (MADV_DONTFORK): Likewise.
+	[__USE_MISC] (MADV_DOFORK): Likewise.
+	[__USE_MISC] (MADV_HWPOISON): Likewise.
+	[__USE_XOPEN2K] (POSIX_MADV_NORMAL): Likewise.
+	[__USE_XOPEN2K] (POSIX_MADV_RANDOM): Likewise.
+	[__USE_XOPEN2K] (POSIX_MADV_SEQUENTIAL): Likewise.
+	[__USE_XOPEN2K] (POSIX_MADV_WILLNEED): Likewise.
+	[__USE_XOPEN2K] (POSIX_MADV_DONTNEED): Likewise.
+	(__MAP_ANONYMOUS): New macro.
+	[__USE_MISC] (MAP_TYPE): Undefine and redefine after
+	<bits/mman-linux.h> inclusion.
+	(MAP_FIXED): Likewise.
+	(MS_SYNC): Likewise.
+	(MS_ASYNC): Likewise.
+	(MS_INVALIDATE): Likewise.
+	[__USE_MISC] (MADV_MERGEABLE): Likewise.
+	[__USE_MISC] (MADV_UNMERGEABLE): Likewise.
+	[__USE_MISC] (MADV_HUGEPAGE): Likewise.
+	[__USE_MISC] (MADV_NOHUGEPAGE): Likewise.
+	[__USE_MISC] (MADV_DONTDUMP): Likewise.
+	[__USE_MISC] (MADV_DODUMP): Likewise.
+	[__USE_MISC] (MADV_WIPEONFORK): Likewise.
+	[__USE_MISC] (MADV_KEEPONFORK): Likewise.
+
 	[BZ #23735]
 	* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NO_MATH_REDIRECT):
 	Define.
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/mman.h b/sysdeps/unix/sysv/linux/hppa/bits/mman.h
index fd07a65868..deecac0504 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/mman.h
@@ -22,33 +22,10 @@
 
 /* These are taken from the kernel definitions.  */
 
-#define PROT_READ	0x1		/* Page can be read */
-#define PROT_WRITE	0x2		/* Page can be written */
-#define PROT_EXEC	0x4		/* Page can be executed */
-#define PROT_NONE	0x0		/* Page can not be accessed */
-#define PROT_GROWSDOWN	0x01000000	/* Extend change to start of
-					   growsdown vma (mprotect only).  */
-#define PROT_GROWSUP	0x02000000	/* Extend change to start of
-					   growsup vma (mprotect only).  */
-
-#define MAP_SHARED	0x01		/* Share changes */
-#define MAP_PRIVATE	0x02		/* Changes are private */
-#ifdef __USE_MISC
-# define MAP_SHARED_VALIDATE	0x03	/* Share changes and validate
-					   extension flags.  */
-# define MAP_TYPE	0x2b		/* Mask for type of mapping */
-#endif
-
 /* Other flags.  */
-#define MAP_FIXED	0x04		/* Interpret addr exactly */
+#define __MAP_ANONYMOUS	0x10		/* Don't use a file */
 #ifdef __USE_MISC
-# define MAP_FILE	0x0
-# define MAP_ANONYMOUS	0x10		/* Don't use a file */
-# define MAP_ANON	MAP_ANONYMOUS
 # define MAP_VARIABLE	0
-/* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size.  */
-# define MAP_HUGE_SHIFT	26
-# define MAP_HUGE_MASK	0x3f
 #endif
 
 /* These are Linux-specific.  */
@@ -66,47 +43,46 @@
 					   underlying mapping.  */
 #endif
 
+/* Advice to "madvise"  */
+#ifdef __USE_MISC
+# define MADV_SOFT_OFFLINE 101	/* Soft offline page for testing.  */
+#endif
+
+#include <bits/mman-linux.h>
+
+#ifdef __USE_MISC
+# undef MAP_TYPE
+# define MAP_TYPE	0x2b		/* Mask for type of mapping */
+#endif
+
+#undef MAP_FIXED
+#define MAP_FIXED	0x04		/* Interpret addr exactly */
+
 /* Flags to "msync"  */
+#undef MS_SYNC
 #define MS_SYNC		1		/* Synchronous memory sync */
+#undef MS_ASYNC
 #define MS_ASYNC	2		/* Sync memory asynchronously */
+#undef MS_INVALIDATE
 #define MS_INVALIDATE	4		/* Invalidate the caches */
 
-/* Flags to "mlockall"  */
-#define MCL_CURRENT	1		/* Lock all current mappings */
-#define MCL_FUTURE	2		/* Lock all future mappings */
-#define MCL_ONFAULT	4		/* Lock all pages that are faulted in */
-
 /* Advice to "madvise"  */
 #ifdef __USE_MISC
-# define MADV_NORMAL	  0	/* No further special treatment */
-# define MADV_RANDOM	  1	/* Expect random page references */
-# define MADV_SEQUENTIAL  2	/* Expect sequential page references */
-# define MADV_WILLNEED	  3	/* Will need these pages */
-# define MADV_DONTNEED	  4	/* Dont need these pages */
-# define MADV_FREE	  8	/* Free pages only if memory pressure.  */
-# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# undef MADV_MERGEABLE
 # define MADV_MERGEABLE   65	/* KSM may merge identical pages */
+# undef MADV_UNMERGEABLE
 # define MADV_UNMERGEABLE 66	/* KSM may not merge identical pages */
+# undef MADV_HUGEPAGE
 # define MADV_HUGEPAGE	 67	/* Worth backing with hugepages */
+# undef MADV_NOHUGEPAGE
 # define MADV_NOHUGEPAGE 68	/* Not worth backing with hugepages */
+# undef MADV_DONTDUMP
 # define MADV_DONTDUMP	 69	/* Explicity exclude from the core dump,
 				   overrides the coredump filter bits */
+# undef MADV_DODUMP
 # define MADV_DODUMP	 70	/* Clear the MADV_NODUMP flag */
+# undef MADV_WIPEONFORK
 # define MADV_WIPEONFORK 71	/* Zero memory on fork, child only.  */
+# undef MADV_KEEPONFORK
 # define MADV_KEEPONFORK 72	/* Undo MADV_WIPEONFORK.  */
-# define MADV_HWPOISON	 100	/* Poison a page for testing.  */
-# define MADV_SOFT_OFFLINE 101	/* Soft offline page for testing.  */
 #endif
-
-/* The POSIX people had to invent similar names for the same things.  */
-#ifdef __USE_XOPEN2K
-# define POSIX_MADV_NORMAL	0 /* No further special treatment.  */
-# define POSIX_MADV_RANDOM	1 /* Expect random page references.  */
-# define POSIX_MADV_SEQUENTIAL	2 /* Expect sequential page references.  */
-# define POSIX_MADV_WILLNEED	3 /* Will need these pages.  */
-# define POSIX_MADV_DONTNEED	4 /* Don't need these pages.  */
-#endif
-
-#include <bits/mman-shared.h>