aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-15 18:40:29 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-15 18:40:29 +0000
commitfa680dc61455acdf8779d82c6f4bba5b48935c08 (patch)
tree6fc7fa9e8c275e605ee6734a3f9f01c4a66ba8a4
parent1ba1d8a44d244110c1f8d768f098ac44351acb76 (diff)
downloadglibc-fa680dc61455acdf8779d82c6f4bba5b48935c08.tar
glibc-fa680dc61455acdf8779d82c6f4bba5b48935c08.tar.gz
glibc-fa680dc61455acdf8779d82c6f4bba5b48935c08.tar.bz2
glibc-fa680dc61455acdf8779d82c6f4bba5b48935c08.zip
Add MADV_WIPEONFORK, MADV_KEEPONFORK from Linux 4.14.
This patch adds the new MADV_WIPEONFORK and MADV_KEEPONFORK from Linux 4.14 to bits/mman-linux.h (and bits/mman.h in the hppa case). Note there are further hppa MADV_* changes in 4.14; I plan a separate glibc patch for those. Tested for x86_64. * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_MISC] (MADV_WIPEONFORK): New macro. [__USE_MISC] (MADV_KEEPONFORK): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_MISC] (MADV_WIPEONFORK): Likewise. [__USE_MISC] (MADV_KEEPONFORK): Likewise.
-rw-r--r--ChangeLog9
-rw-r--r--sysdeps/unix/sysv/linux/bits/mman-linux.h2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/mman.h2
3 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 88f3ac8478..6ebdeedc24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2017-11-15 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/bits/mman-linux.h
+ [__USE_MISC] (MADV_WIPEONFORK): New macro.
+ [__USE_MISC] (MADV_KEEPONFORK): Likewise.
+ * sysdeps/unix/sysv/linux/hppa/bits/mman.h
+ [__USE_MISC] (MADV_WIPEONFORK): Likewise.
+ [__USE_MISC] (MADV_KEEPONFORK): Likewise.
+
2017-11-15 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* signal/sigrelse.c (sigrelse): Optimize implementation.
diff --git a/sysdeps/unix/sysv/linux/bits/mman-linux.h b/sysdeps/unix/sysv/linux/bits/mman-linux.h
index b091181960..78c07c890a 100644
--- a/sysdeps/unix/sysv/linux/bits/mman-linux.h
+++ b/sysdeps/unix/sysv/linux/bits/mman-linux.h
@@ -89,6 +89,8 @@
# define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
overrides the coredump filter bits. */
# define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag. */
+# define MADV_WIPEONFORK 18 /* Zero memory on fork, child only. */
+# define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/mman.h b/sysdeps/unix/sysv/linux/hppa/bits/mman.h
index acf7002beb..4ad9153d92 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/mman.h
@@ -99,6 +99,8 @@
# define MADV_DONTDUMP 69 /* Explicity exclude from the core dump,
overrides the coredump filter bits */
# define MADV_DODUMP 70 /* Clear the MADV_NODUMP flag */
+# define MADV_WIPEONFORK 71 /* Zero memory on fork, child only. */
+# define MADV_KEEPONFORK 72 /* Undo MADV_WIPEONFORK. */
#endif
/* The POSIX people had to invent similar names for the same things. */