| 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') |