Path: blob/main/system/lib/llvm-libc/config/config.json
6162 views
{1"errno": {2"LIBC_CONF_ERRNO_MODE": {3"value": "LIBC_ERRNO_MODE_DEFAULT",4"doc": "The implementation used for errno, acceptable values are LIBC_ERRNO_MODE_DEFAULT, LIBC_ERRNO_MODE_UNDEFINED, LIBC_ERRNO_MODE_THREAD_LOCAL, LIBC_ERRNO_MODE_SHARED, LIBC_ERRNO_MODE_EXTERNAL, LIBC_ERRNO_MODE_SYSTEM, and LIBC_ERRNO_MODE_SYSTEM_INLINE."5}6},7"printf": {8"LIBC_CONF_PRINTF_DISABLE_FLOAT": {9"value": false,10"doc": "Disable printing floating point values in printf and friends."11},12"LIBC_CONF_PRINTF_DISABLE_INDEX_MODE": {13"value": false,14"doc": "Disable index mode in the printf format string."15},16"LIBC_CONF_PRINTF_DISABLE_WRITE_INT": {17"value": false,18"doc": "Disable handling of %n in printf format string."19},20"LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE": {21"value": false,22"doc": "Use large table for better printf long double performance."23},24"LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_DYADIC_FLOAT": {25"value": false,26"doc": "Use dyadic float for faster and smaller but less accurate printf doubles."27},28"LIBC_CONF_PRINTF_FLOAT_TO_STR_NO_SPECIALIZE_LD": {29"value": false,30"doc": "Use the same mode for double and long double in printf."31},32"LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_FLOAT320": {33"value": false,34"doc": "Use an alternative printf float implementation based on 320-bit floats"35},36"LIBC_CONF_PRINTF_DISABLE_FIXED_POINT": {37"value": false,38"doc": "Disable printing fixed point values in printf and friends."39},40"LIBC_CONF_PRINTF_DISABLE_STRERROR": {41"value": false,42"doc": "Disable handling of %m to print strerror in printf and friends."43},44"LIBC_CONF_PRINTF_RUNTIME_DISPATCH": {45"value": true,46"doc": "Use dynamic dispatch for the output mechanism to reduce code size."47}48},49"scanf": {50"LIBC_CONF_SCANF_DISABLE_FLOAT": {51"value": false,52"doc": "Disable parsing floating point values in scanf and friends."53},54"LIBC_CONF_SCANF_DISABLE_INDEX_MODE": {55"value": false,56"doc": "Disable index mode in the scanf format string."57}58},59"string": {60"LIBC_CONF_STRING_UNSAFE_WIDE_READ": {61"value": false,62"doc": "Read more than a byte at a time to perform byte-string operations like strlen."63},64"LIBC_CONF_MEMSET_X86_USE_SOFTWARE_PREFETCHING": {65"value": false,66"doc": "Inserts prefetch for write instructions (PREFETCHW) for memset on x86 to recover performance when hardware prefetcher is disabled."67}68},69"codegen": {70"LIBC_CONF_KEEP_FRAME_POINTER": {71"value": true,72"doc": "Keep frame pointer in functions for better debugging experience."73},74"LIBC_CONF_ENABLE_STRONG_STACK_PROTECTOR": {75"value": true,76"doc": "Enable -fstack-protector-strong to defend against stack smashing attack."77}78},79"pthread": {80"LIBC_CONF_TIMEOUT_ENSURE_MONOTONICITY": {81"value": true,82"doc": "Automatically adjust timeout to CLOCK_MONOTONIC (default to true). POSIX API may require CLOCK_REALTIME, which can be unstable and leading to unexpected behavior. This option will convert the real-time timestamp to monotonic timestamp relative to the time of call."83},84"LIBC_CONF_RAW_MUTEX_DEFAULT_SPIN_COUNT": {85"value": 100,86"doc": "Default number of spins before blocking if a mutex is in contention (default to 100)."87},88"LIBC_CONF_RWLOCK_DEFAULT_SPIN_COUNT": {89"value": 100,90"doc": "Default number of spins before blocking if a rwlock is in contention (default to 100)."91}92},93"math": {94"LIBC_CONF_MATH_OPTIMIZATIONS": {95"value": 0,96"doc": "Configures optimizations for math functions. Values accepted are LIBC_MATH_SKIP_ACCURATE_PASS, LIBC_MATH_SMALL_TABLES, LIBC_MATH_NO_ERRNO, LIBC_MATH_NO_EXCEPT, and LIBC_MATH_FAST."97},98"LIBC_CONF_FREXP_INF_NAN_EXPONENT": {99"value": "",100"doc": "The value written back to the second parameter when calling frexp/frexpf/frexpl` with `+/-Inf`/`NaN` is unspecified. Configure an explicit exp value for Inf/NaN inputs."101}102},103"qsort": {104"LIBC_CONF_QSORT_IMPL": {105"value": "LIBC_QSORT_QUICK_SORT",106"doc": "Configures sorting algorithm for qsort and qsort_r. Values accepted are LIBC_QSORT_QUICK_SORT, LIBC_QSORT_HEAP_SORT."107}108},109"setjmp": {110"LIBC_CONF_SETJMP_AARCH64_RESTORE_PLATFORM_REGISTER": {111"value": true,112"doc": "Make setjmp save the value of x18, and longjmp restore it. The AArch64 ABI delegates this register to platform ABIs, which can choose whether to make it caller-saved."113}114},115"time": {116"LIBC_CONF_TIME_64BIT": {117"value": false,118"doc": "Force the size of time_t to 64 bits, even on platforms where compatibility considerations would otherwise make it 32-bit."119}120},121"general": {122"LIBC_ADD_NULL_CHECKS": {123"value": true,124"doc": "Add nullptr checks in the library's implementations to some functions for which passing nullptr is undefined behavior."125}126}127}128129130