brintos

brintos / llvm-project-archived public Read only

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