xlat: add fallback definitions to mmap_flags

* 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>
This commit is contained in:
Дмитрий Левин 2018-08-05 18:57:25 +00:00
parent 769946f50a
commit d7da491c34

View File

@ -1,31 +1,186 @@
MAP_SHARED 1
MAP_PRIVATE 2
MAP_SHARED_VALIDATE 3
MAP_FIXED
MAP_ANONYMOUS
MAP_32BIT
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
MAP_UNINITIALIZED
/* 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
#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 */