|
16 | 16 | │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
17 | 17 | │ PERFORMANCE OF THIS SOFTWARE. │
|
18 | 18 | ╚─────────────────────────────────────────────────────────────────────────────*/
|
| 19 | +#include "libc/dce.h" |
19 | 20 | #include "libc/intrin/describeflags.h"
|
20 | 21 | #include "libc/macros.h"
|
21 | 22 | #include "libc/nt/enum/consolemodeflags.h"
|
22 | 23 | #include "libc/sysv/consts/map.h"
|
23 | 24 | #include "libc/sysv/consts/prot.h"
|
24 | 25 |
|
| 26 | +#define MAP_GROWSDOWN_LINUX 0x00000100 |
| 27 | + |
25 | 28 | const char *_DescribeMapFlags(char buf[64], int x) {
|
26 | 29 | const struct DescribeFlags kMapFlags[] = {
|
27 |
| - {MAP_PRIVATE, "PRIVATE"}, // |
28 |
| - {MAP_ANONYMOUS, "ANONYMOUS"}, // |
29 |
| - {MAP_SHARED, "SHARED"}, // |
30 |
| - {MAP_FIXED, "FIXED"}, // |
31 |
| - {MAP_FIXED_NOREPLACE, "FIXED_NOREPLACE"}, // |
32 |
| - {MAP_HUGETLB, "HUGETLB"}, // |
33 |
| - {MAP_CONCEAL, "CONCEAL"}, // |
34 |
| - {MAP_LOCKED, "LOCKED"}, // |
35 |
| - {MAP_NORESERVE, "NORESERVE"}, // |
36 |
| - {MAP_NONBLOCK, "NONBLOCK"}, // |
37 |
| - {MAP_POPULATE, "POPULATE"}, // |
| 30 | + {MAP_PRIVATE, "PRIVATE"}, // |
| 31 | + {MAP_ANONYMOUS, "ANONYMOUS"}, // |
| 32 | + {MAP_SHARED, "SHARED"}, // |
| 33 | + {MAP_FIXED, "FIXED"}, // |
| 34 | + {MAP_FIXED_NOREPLACE, "FIXED_NOREPLACE"}, // |
| 35 | + {MAP_HUGETLB, "HUGETLB"}, // |
| 36 | + {MAP_CONCEAL, "CONCEAL"}, // |
| 37 | + {MAP_LOCKED, "LOCKED"}, // |
| 38 | + {MAP_NORESERVE, "NORESERVE"}, // |
| 39 | + {MAP_NONBLOCK, "NONBLOCK"}, // |
| 40 | + {MAP_POPULATE, "POPULATE"}, // |
| 41 | + {IsLinux() ? MAP_GROWSDOWN_LINUX : 0, "GROWSDOWN"}, // |
38 | 42 | };
|
39 | 43 | return _DescribeFlags(buf, 64, kMapFlags, ARRAYLEN(kMapFlags), "MAP_", x);
|
40 | 44 | }
|
0 commit comments