+2017-11-24 Florian Weimer <fweimer@redhat.com>
+
+ * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
+ bits/mman-shared.h.
+ * sysdeps/unix/sysv/linux/bits/mman-linux.h: Include
+ <bits/mman-shared.h>.
+ (MFD_CLOEXEC, MFD_ALLOW_SEALING, MFD_HUGETLB, memfd_create): Move
+ to ...
+ * sysdeps/unix/sysv/linux/bits/mman-shared.h: ... this new file.
+ Add #ifndef guard for the MFD_* constants based on MFD_CLOEXEC.
+ * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Include
+ <bits/mman-shared.h>.
+
2017-11-24 Adhemerval Zanella <adhemerval.zanella@linaro.org>
[BZ #22457]
sys/timerfd.h sys/fanotify.h bits/eventfd.h bits/inotify.h \
bits/signalfd.h bits/timerfd.h bits/epoll.h \
bits/socket_type.h bits/syscall.h bits/sysctl.h \
- bits/mman-linux.h \
+ bits/mman-linux.h bits/mman-shared.h \
bits/siginfo-arch.h bits/siginfo-consts-arch.h
tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
faulted in. */
#endif
-#ifdef __USE_GNU
-/* Flags for memfd_create. */
-# define MFD_CLOEXEC 1U
-# define MFD_ALLOW_SEALING 2U
-# define MFD_HUGETLB 4U
-
-__BEGIN_DECLS
-
-/* Create a new memory file descriptor. NAME is a name for debugging.
- FLAGS is a combination of the MFD_* constants. */
-int memfd_create (const char *__name, unsigned int __flags) __THROW;
-
-__END_DECLS
-
-#endif /* __USE_GNU */
+#include <bits/mman-shared.h>
--- /dev/null
+/* Memory-mapping-related declarations/definitions, not architecture-specific.
+ Copyright (C) 2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_MMAN_H
+# error "Never use <bits/mman-shared.h> directly; include <sys/mman.h> instead."
+#endif
+
+#ifdef __USE_GNU
+/* Flags for memfd_create. */
+# ifndef MFD_CLOEXEC
+# define MFD_CLOEXEC 1U
+# define MFD_ALLOW_SEALING 2U
+# define MFD_HUGETLB 4U
+# endif
+
+__BEGIN_DECLS
+
+/* Create a new memory file descriptor. NAME is a name for debugging.
+ FLAGS is a combination of the MFD_* constants. */
+int memfd_create (const char *__name, unsigned int __flags) __THROW;
+
+__END_DECLS
+
+#endif /* __USE_GNU */