liyujie
2025-08-28 786ff4f4ca2374bdd9177f2e24b503d43e7a3b93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/* Generated by ./xlat/gen.sh from ./xlat/personality_flags.in; do not edit. */
 
#include "gcc_compat.h"
#include "static_assert.h"
 
#if defined(UNAME26) || (defined(HAVE_DECL_UNAME26) && HAVE_DECL_UNAME26)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((UNAME26) == (0x0020000), "UNAME26 != 0x0020000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define UNAME26 0x0020000
#endif
#if defined(ADDR_NO_RANDOMIZE) || (defined(HAVE_DECL_ADDR_NO_RANDOMIZE) && HAVE_DECL_ADDR_NO_RANDOMIZE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((ADDR_NO_RANDOMIZE) == (0x0040000), "ADDR_NO_RANDOMIZE != 0x0040000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define ADDR_NO_RANDOMIZE 0x0040000
#endif
#if defined(FDPIC_FUNCPTRS) || (defined(HAVE_DECL_FDPIC_FUNCPTRS) && HAVE_DECL_FDPIC_FUNCPTRS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((FDPIC_FUNCPTRS) == (0x0080000), "FDPIC_FUNCPTRS != 0x0080000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define FDPIC_FUNCPTRS 0x0080000
#endif
#if defined(MMAP_PAGE_ZERO) || (defined(HAVE_DECL_MMAP_PAGE_ZERO) && HAVE_DECL_MMAP_PAGE_ZERO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((MMAP_PAGE_ZERO) == (0x0100000), "MMAP_PAGE_ZERO != 0x0100000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define MMAP_PAGE_ZERO 0x0100000
#endif
#if defined(ADDR_COMPAT_LAYOUT) || (defined(HAVE_DECL_ADDR_COMPAT_LAYOUT) && HAVE_DECL_ADDR_COMPAT_LAYOUT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((ADDR_COMPAT_LAYOUT) == (0x0200000), "ADDR_COMPAT_LAYOUT != 0x0200000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define ADDR_COMPAT_LAYOUT 0x0200000
#endif
#if defined(READ_IMPLIES_EXEC) || (defined(HAVE_DECL_READ_IMPLIES_EXEC) && HAVE_DECL_READ_IMPLIES_EXEC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((READ_IMPLIES_EXEC) == (0x0400000), "READ_IMPLIES_EXEC != 0x0400000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define READ_IMPLIES_EXEC 0x0400000
#endif
#if defined(ADDR_LIMIT_32BIT) || (defined(HAVE_DECL_ADDR_LIMIT_32BIT) && HAVE_DECL_ADDR_LIMIT_32BIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((ADDR_LIMIT_32BIT) == (0x0800000), "ADDR_LIMIT_32BIT != 0x0800000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define ADDR_LIMIT_32BIT 0x0800000
#endif
#if defined(SHORT_INODE) || (defined(HAVE_DECL_SHORT_INODE) && HAVE_DECL_SHORT_INODE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SHORT_INODE) == (0x1000000), "SHORT_INODE != 0x1000000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SHORT_INODE 0x1000000
#endif
#if defined(WHOLE_SECONDS) || (defined(HAVE_DECL_WHOLE_SECONDS) && HAVE_DECL_WHOLE_SECONDS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((WHOLE_SECONDS) == (0x2000000), "WHOLE_SECONDS != 0x2000000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define WHOLE_SECONDS 0x2000000
#endif
#if defined(STICKY_TIMEOUTS) || (defined(HAVE_DECL_STICKY_TIMEOUTS) && HAVE_DECL_STICKY_TIMEOUTS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((STICKY_TIMEOUTS) == (0x4000000), "STICKY_TIMEOUTS != 0x4000000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define STICKY_TIMEOUTS 0x4000000
#endif
#if defined(ADDR_LIMIT_3GB) || (defined(HAVE_DECL_ADDR_LIMIT_3GB) && HAVE_DECL_ADDR_LIMIT_3GB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((ADDR_LIMIT_3GB) == (0x8000000), "ADDR_LIMIT_3GB != 0x8000000");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define ADDR_LIMIT_3GB 0x8000000
#endif
 
#ifndef XLAT_MACROS_ONLY
 
# ifdef IN_MPERS
 
#  error static const struct xlat personality_flags in mpers mode
 
# else
 
static
const struct xlat personality_flags[] = {
 XLAT(UNAME26),
 XLAT(ADDR_NO_RANDOMIZE),
 XLAT(FDPIC_FUNCPTRS),
 XLAT(MMAP_PAGE_ZERO),
 XLAT(ADDR_COMPAT_LAYOUT),
 XLAT(READ_IMPLIES_EXEC),
 XLAT(ADDR_LIMIT_32BIT),
 XLAT(SHORT_INODE),
 XLAT(WHOLE_SECONDS),
 XLAT(STICKY_TIMEOUTS),
 XLAT(ADDR_LIMIT_3GB),
 XLAT_END
};
 
# endif /* !IN_MPERS */
 
#endif /* !XLAT_MACROS_ONLY */