Rather than selecting the errno implementation based on the platform which doesn't provide the necessary flexibility, make it configurable. The errno value location is returned by `int *__llvm_libc_errno()` which is a common design used by other C libraries.
35 lines
750 B
JSON
35 lines
750 B
JSON
{
|
|
"errno": {
|
|
"LIBC_CONF_ERRNO_MODE": {
|
|
"value": "LIBC_ERRNO_MODE_SHARED"
|
|
}
|
|
},
|
|
"printf": {
|
|
"LIBC_CONF_PRINTF_DISABLE_FLOAT": {
|
|
"value": true
|
|
},
|
|
"LIBC_CONF_PRINTF_DISABLE_INDEX_MODE": {
|
|
"value": true
|
|
},
|
|
"LIBC_CONF_PRINTF_DISABLE_WRITE_INT": {
|
|
"value": true
|
|
},
|
|
"LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE": {
|
|
"value": false
|
|
}
|
|
},
|
|
"scanf": {
|
|
"LIBC_CONF_SCANF_DISABLE_FLOAT": {
|
|
"value": true
|
|
},
|
|
"LIBC_CONF_SCANF_DISABLE_INDEX_MODE": {
|
|
"value": true
|
|
}
|
|
},
|
|
"math": {
|
|
"LIBC_CONF_MATH_OPTIMIZATIONS": {
|
|
"value": "(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES | LIBC_MATH_NO_ERRNO | LIBC_MATH_NO_EXCEPT)"
|
|
}
|
|
}
|
|
}
|