llvm-project/compiler-rt/lib
Mariusz Borsa 67ced6af3b [Sanitizers] Cleanup handling of stat64/statfs64
This is a follow up to <LLVM reviews>/D127343, which was reverted due to test failures.

There are differences in handling of stat64/statfs64 calls by sanitizers between Linux and macOS. Versions of macOS starting with 10.6 drop the stat64/statfs64 APIs completely, relying on the linker to redirect stat/statfs to the appropriate 64 bit versions. Emitting variables needed by sanitizers is thus controlled by convoluted sets of conditions, involving Linux, IOS, macOS and Android, sprinkled around files.

This change clarifies it a bit, allowing to specify presence/absence of stat64/statfs64 for each platform, in a single location.

Please note that I wasn't able to test this change on platforms other than macOS and Linux Fedora 34. The previous attempt has caused test failures but couldn't figure out the context. I have a vague suspicion that they were Android and perhaps Fuchsia builds - and some build involving ppc64le, I don't have hardware handy to attempt a test there. Tried to tighten the conditions this time to clearly separate macOS from Linux, so Linux builds should behave same (sanitizerwise) as before the change. Will add people who reported the tests failing before as reviewers, so they can provide context should the change cause the test failures again.

Differential Revision: https://reviews.llvm.org/D128476
2022-06-28 15:01:38 -07:00
..
BlocksRuntime
asan Reland "[ASan] Use debuginfo for symbolization." 2022-06-16 13:58:55 -07:00
builtins Add a conversion from double to bf16 2022-06-15 12:56:31 +02:00
cfi sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
crt Revert "[compiler-rt] Use C_STANDARD instead of custom logic for adding -std=c11" 2022-04-27 00:20:44 +03:00
dfsan [DFSan] Remove deprecated flag from build-libc-list.py 2022-06-01 11:00:13 -07:00
fuzzer Revert "[CMake][compiler-rt] Clean up the use of libcxx and libcxxabi" 2022-06-25 03:10:55 +00:00
gwp_asan [NFCI] clang-format gwp-asan files. 2022-05-18 14:10:44 -07:00
hwasan [compiler-rt][hwasan] Check address tagging mode in InitializeOsSupport on Fuchsia 2022-06-08 11:34:50 -07:00
interception [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
lsan [compiler-rt][lsan] Choose lsan allocator via SANITIZER_CAN_USE_ALLOCATOR64 2022-06-07 17:23:38 -07:00
memprof [NFC][sanitizer] Consolidate malloc hook invocations 2022-04-12 20:08:29 -07:00
msan Revert "[CMake][compiler-rt] Clean up the use of libcxx and libcxxabi" 2022-06-25 03:10:55 +00:00
orc [ORC-RT] Make the ORC runtime C API public. 2022-06-16 19:02:23 -07:00
profile [InstrProf] Stop exporting lprofDirMode 2022-05-31 17:13:00 +00:00
safestack [compiler-rt] Fix Mmap on FreeBSD AArch64 2022-06-08 17:22:33 -04:00
sanitizer_common [Sanitizers] Cleanup handling of stat64/statfs64 2022-06-28 15:01:38 -07:00
scudo [CMake][compiler-rt] Provide a dedicated option for LLVM unwinder 2022-06-14 17:26:25 +00:00
stats [compiler-rt] separate lsan, ubsan, stats configuration from SANITIZER_COMMON_SUPPORTED_OS 2021-11-10 19:16:20 -08:00
tsan tsan: add missing guard for DumpProcessMap call 2022-06-27 10:10:45 -04:00
ubsan [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
ubsan_minimal [compiler-rt] separate lsan, ubsan, stats configuration from SANITIZER_COMMON_SUPPORTED_OS 2021-11-10 19:16:20 -08:00
xray [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
CMakeLists.txt Revert D120327 "compiler-rt: Add udivmodei5 to builtins and add bitint library" 2022-04-08 12:39:42 -07:00