]> granicus.if.org Git - strace/commitdiff
xlat: add fallback definitions to mmap_flags
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 5 Aug 2018 18:57:25 +0000 (18:57 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 5 Aug 2018 18:57:25 +0000 (18:57 +0000)
* xlat/mmap_flags.in: Regenerate using maint/gen_xlat_defs.sh script
to provide fallback definitions.  Implement a workaround for MAP_RENAME.

Co-Authored-by: Eugene Syromyatnikov <evgsyr@gmail.com>
xlat/mmap_flags.in

index 150717abce1e1677ac032913a27f48b123a7fd0f..53f28faa28411fee0ef119447671be9ce0732923 100644 (file)
-MAP_SHARED     1
-MAP_PRIVATE    2
-MAP_SHARED_VALIDATE    3
-MAP_FIXED
-MAP_ANONYMOUS
+/* Generated by maint/gen_xlat_defs.sh -f '#x' -p '_?MAP_' -c 'asm-generic/mman*.h' -a 'asm/mman.h' */
+
+MAP_SHARED     0x1
+
+MAP_PRIVATE    0x2
+
+MAP_SHARED_VALIDATE    0x3
+
+#if defined __hppa__
+MAP_FIXED      0x4
+#elif defined __alpha__
+MAP_FIXED      0x100
+#else
+MAP_FIXED      0x10
+#endif
+
+#if defined __alpha__ || defined __hppa__
+MAP_ANONYMOUS  0x10
+#elif defined __mips__ || defined __xtensa__
+MAP_ANONYMOUS  0x800
+#else
+MAP_ANONYMOUS  0x20
+#endif
+
+#if defined __x86_64__ || defined __i386__
+MAP_32BIT      0x40
+#else
 MAP_32BIT
+#endif
+
+#if defined MAP_RENAME && MAP_RENAME == MAP_ANONYMOUS  /* MAP_RENAME is unusual */
+# ifndef STRACE_WORKAROUND_FOR_MAP_RENAME
+# define STRACE_WORKAROUND_FOR_MAP_RENAME
+/* glibc erroneously defines MAP_RENAME to MAP_ANONYMOUS on some architectures.  */
+/* This is just wrong and has to be fixed.  */
+# undef MAP_RENAME
+# endif
+#endif /* MAP_RENAME */
+
+#if defined __mips__ || defined __xtensa__
+MAP_RENAME     0x20
+#else
 MAP_RENAME
-MAP_NORESERVE
-MAP_POPULATE
-MAP_NONBLOCK
-_MAP_NEW /* sparc */
-MAP_GROWSDOWN
-MAP_GROWSUP /* ia64 */
-MAP_DENYWRITE
-MAP_EXECUTABLE
-MAP_INHERIT /* sparc */
-_MAP_INHERIT /* alpha */
-MAP_FILE
-MAP_LOCKED
-_MAP_HASSEMAPHORE /* alpha */
-MAP_STACK
-MAP_HUGETLB
-MAP_SYNC
-#if defined MAP_UNINITIALIZED && MAP_UNINITIALIZED > 0
+#endif
+
+#if defined __powerpc__ || defined __sparc__
+MAP_NORESERVE  0x40
+#elif defined __mips__ || defined __xtensa__
+MAP_NORESERVE  0x400
+#elif defined __alpha__
+MAP_NORESERVE  0x10000
+#else
+MAP_NORESERVE  0x4000
+#endif
+
+#if defined __hppa__ || defined __mips__ || defined __xtensa__
+MAP_POPULATE   0x10000
+#elif defined __alpha__
+MAP_POPULATE   0x20000
+#else
+MAP_POPULATE   0x8000
+#endif
+
+#if defined __hppa__ || defined __mips__ || defined __xtensa__
+MAP_NONBLOCK   0x20000
+#elif defined __alpha__
+MAP_NONBLOCK   0x40000
+#else
+MAP_NONBLOCK   0x10000
+#endif
+
+#if defined __sparc__
+_MAP_NEW       0x80000000
+#else
+_MAP_NEW
+#endif
+
+#if defined __sparc__
+MAP_GROWSDOWN  0x200
+#elif defined __alpha__ || defined __mips__ || defined __xtensa__
+MAP_GROWSDOWN  0x1000
+#elif defined __hppa__
+MAP_GROWSDOWN  0x8000
+#else
+MAP_GROWSDOWN  0x100
+#endif
+
+#if defined __ia64__
+MAP_GROWSUP    0x200
+#else
+MAP_GROWSUP
+#endif
+
+#if defined __alpha__ || defined __mips__ || defined __xtensa__
+MAP_DENYWRITE  0x2000
+#else
+MAP_DENYWRITE  0x800
+#endif
+
+#if defined __alpha__ || defined __mips__ || defined __xtensa__
+MAP_EXECUTABLE 0x4000
+#else
+MAP_EXECUTABLE 0x1000
+#endif
+
+#if defined __sparc__
+MAP_INHERIT    0x80
+#else
+MAP_INHERIT
+#endif
+
+#if defined __alpha__
+_MAP_INHERIT   0x400
+#else
+_MAP_INHERIT
+#endif
+
+MAP_FILE       0
+
+#if defined __powerpc__
+MAP_LOCKED     0x80
+#elif defined __sparc__
+MAP_LOCKED     0x100
+#elif defined __alpha__ || defined __mips__ || defined __xtensa__
+MAP_LOCKED     0x8000
+#else
+MAP_LOCKED     0x2000
+#endif
+
+#if defined __alpha__
+_MAP_HASSEMAPHORE      0x200
+#else
+_MAP_HASSEMAPHORE
+#endif
+
+#if defined __hppa__ || defined __mips__ || defined __xtensa__
+MAP_STACK      0x40000
+#elif defined __alpha__
+MAP_STACK      0x80000
+#else
+MAP_STACK      0x20000
+#endif
+
+#if defined __hppa__ || defined __mips__ || defined __xtensa__
+MAP_HUGETLB    0x80000
+#elif defined __alpha__
+MAP_HUGETLB    0x100000
+#else
+MAP_HUGETLB    0x40000
+#endif
+
+MAP_SYNC       0x80000
+
+# if defined MAP_UNINITIALIZED && MAP_UNINITIALIZED > 0
 MAP_UNINITIALIZED
+# endif
+
+#if defined __alpha__
+MAP_FIXED_NOREPLACE    0x200000
+#else
+MAP_FIXED_NOREPLACE    0x100000
+#endif
+
+#if defined __mips__ || defined __xtensa__
+MAP_AUTOGROW   0x40
+#else
+MAP_AUTOGROW
+#endif
+
+#if defined __mips__ || defined __xtensa__
+MAP_AUTORSRV   0x100
+#else
+MAP_AUTORSRV
+#endif
+
+#if defined __mips__ || defined __xtensa__
+MAP_LOCAL      0x80
+#else
+MAP_LOCAL
+#endif
+
+#if defined __alpha__
+_MAP_UNALIGNED 0x800
+#else
+_MAP_UNALIGNED
 #endif
-MAP_FIXED_NOREPLACE
-MAP_AUTOGROW /* MIPS, xtensa */
-MAP_AUTORSRV /* MIPS, xtensa */
-MAP_LOCAL /* MIPS, xtensa */
-_MAP_UNALIGNED /* alpha */