From d7da491c34ea662474de420001bba2791bfeb714 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Sun, 5 Aug 2018 18:57:25 +0000 Subject: [PATCH] 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 --- xlat/mmap_flags.in | 215 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 185 insertions(+), 30 deletions(-) diff --git a/xlat/mmap_flags.in b/xlat/mmap_flags.in index 150717ab..53f28faa 100644 --- a/xlat/mmap_flags.in +++ b/xlat/mmap_flags.in @@ -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 */