blob: 18e85e6ff8b41dfcbabf6882248a7fd99a584cc0 [file] [edit]
option('enable_linux',
type: 'boolean',
value: true,
description: 'enable the Linux emulator (requires Linux)')
option('max_futexes',
type: 'integer',
min: 1,
max: 16384,
value: 512,
description: 'maximum number of futexes per sandbox')
option('enable_dyld',
type: 'boolean',
value: true,
description: 'enable loading of dynamically-linked executables')
option('enable_tlsdesc',
type: 'boolean',
value: false,
description: 'enable use of TLS descriptors (more efficient TLS) on x86-64; requires libc TLSDESC support')
option('enable_tlsexec',
type: 'boolean',
value: false,
description: 'enable exec TLS (more efficient); liblfi will no longer be usable in a dlopened context')
option('enable_analyzer',
type: 'boolean',
value: false,
description: 'pass -fanalyzer to enable the GCC static analyzer')
option('stores_only',
type: 'boolean',
value: false,
description: 'only sandbox stores -- allows sandboxed programs to read (but not write) outside the sandbox')
# Note: disabling segue or using only one segue sandbox can roughly double the
# speed of trampolines on x86-64. You can benchmark with test_trampoline.c.
option('enable_segue',
type: 'boolean',
value: true,
description: 'use %gs for the sandbox base (x86-64 only)')
option('segue_single_sandbox',
type: 'boolean',
value: false,
description: 'assume that %gs is never modified by the host, and there is only one sandbox (x86-64 only)')
option('enable_pku',
type: 'boolean',
value: false,
description: 'use memory protection keys')
option('static_lfi_run',
type: 'boolean',
value: false,
description: 'statically link lfi-run')
option('sys_minimal',
type: 'boolean',
value: false,
description: 'enable the minimal runtime, which only supports syscalls for basic functionality and memory allocation')
option('ctxreg',
type: 'boolean',
value: false,
description: 'enable context register (x25 on arm64, r15 on x64) for storing runtime context')