Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
emscripten-core
GitHub Repository: emscripten-core/emscripten
Path: blob/main/system/lib/llvm-libc/config/config.json
6162 views
1
{
2
"errno": {
3
"LIBC_CONF_ERRNO_MODE": {
4
"value": "LIBC_ERRNO_MODE_DEFAULT",
5
"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."
6
}
7
},
8
"printf": {
9
"LIBC_CONF_PRINTF_DISABLE_FLOAT": {
10
"value": false,
11
"doc": "Disable printing floating point values in printf and friends."
12
},
13
"LIBC_CONF_PRINTF_DISABLE_INDEX_MODE": {
14
"value": false,
15
"doc": "Disable index mode in the printf format string."
16
},
17
"LIBC_CONF_PRINTF_DISABLE_WRITE_INT": {
18
"value": false,
19
"doc": "Disable handling of %n in printf format string."
20
},
21
"LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE": {
22
"value": false,
23
"doc": "Use large table for better printf long double performance."
24
},
25
"LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_DYADIC_FLOAT": {
26
"value": false,
27
"doc": "Use dyadic float for faster and smaller but less accurate printf doubles."
28
},
29
"LIBC_CONF_PRINTF_FLOAT_TO_STR_NO_SPECIALIZE_LD": {
30
"value": false,
31
"doc": "Use the same mode for double and long double in printf."
32
},
33
"LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_FLOAT320": {
34
"value": false,
35
"doc": "Use an alternative printf float implementation based on 320-bit floats"
36
},
37
"LIBC_CONF_PRINTF_DISABLE_FIXED_POINT": {
38
"value": false,
39
"doc": "Disable printing fixed point values in printf and friends."
40
},
41
"LIBC_CONF_PRINTF_DISABLE_STRERROR": {
42
"value": false,
43
"doc": "Disable handling of %m to print strerror in printf and friends."
44
},
45
"LIBC_CONF_PRINTF_RUNTIME_DISPATCH": {
46
"value": true,
47
"doc": "Use dynamic dispatch for the output mechanism to reduce code size."
48
}
49
},
50
"scanf": {
51
"LIBC_CONF_SCANF_DISABLE_FLOAT": {
52
"value": false,
53
"doc": "Disable parsing floating point values in scanf and friends."
54
},
55
"LIBC_CONF_SCANF_DISABLE_INDEX_MODE": {
56
"value": false,
57
"doc": "Disable index mode in the scanf format string."
58
}
59
},
60
"string": {
61
"LIBC_CONF_STRING_UNSAFE_WIDE_READ": {
62
"value": false,
63
"doc": "Read more than a byte at a time to perform byte-string operations like strlen."
64
},
65
"LIBC_CONF_MEMSET_X86_USE_SOFTWARE_PREFETCHING": {
66
"value": false,
67
"doc": "Inserts prefetch for write instructions (PREFETCHW) for memset on x86 to recover performance when hardware prefetcher is disabled."
68
}
69
},
70
"codegen": {
71
"LIBC_CONF_KEEP_FRAME_POINTER": {
72
"value": true,
73
"doc": "Keep frame pointer in functions for better debugging experience."
74
},
75
"LIBC_CONF_ENABLE_STRONG_STACK_PROTECTOR": {
76
"value": true,
77
"doc": "Enable -fstack-protector-strong to defend against stack smashing attack."
78
}
79
},
80
"pthread": {
81
"LIBC_CONF_TIMEOUT_ENSURE_MONOTONICITY": {
82
"value": true,
83
"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."
84
},
85
"LIBC_CONF_RAW_MUTEX_DEFAULT_SPIN_COUNT": {
86
"value": 100,
87
"doc": "Default number of spins before blocking if a mutex is in contention (default to 100)."
88
},
89
"LIBC_CONF_RWLOCK_DEFAULT_SPIN_COUNT": {
90
"value": 100,
91
"doc": "Default number of spins before blocking if a rwlock is in contention (default to 100)."
92
}
93
},
94
"math": {
95
"LIBC_CONF_MATH_OPTIMIZATIONS": {
96
"value": 0,
97
"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."
98
},
99
"LIBC_CONF_FREXP_INF_NAN_EXPONENT": {
100
"value": "",
101
"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."
102
}
103
},
104
"qsort": {
105
"LIBC_CONF_QSORT_IMPL": {
106
"value": "LIBC_QSORT_QUICK_SORT",
107
"doc": "Configures sorting algorithm for qsort and qsort_r. Values accepted are LIBC_QSORT_QUICK_SORT, LIBC_QSORT_HEAP_SORT."
108
}
109
},
110
"setjmp": {
111
"LIBC_CONF_SETJMP_AARCH64_RESTORE_PLATFORM_REGISTER": {
112
"value": true,
113
"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."
114
}
115
},
116
"time": {
117
"LIBC_CONF_TIME_64BIT": {
118
"value": false,
119
"doc": "Force the size of time_t to 64 bits, even on platforms where compatibility considerations would otherwise make it 32-bit."
120
}
121
},
122
"general": {
123
"LIBC_ADD_NULL_CHECKS": {
124
"value": true,
125
"doc": "Add nullptr checks in the library's implementations to some functions for which passing nullptr is undefined behavior."
126
}
127
}
128
}
129
130