The TSan unit test build currently fails if we're also building the iOS parts of compiler-rt, because TSAN_SUPPORTED_ARCH contains ARM64. For unit tests, we need to filter this only to host architecture(s).
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/tsan/tests/CMakeLists.txt | ||
---|---|---|
38 ↗ | (On Diff #40015) | I'm not familiar with CMake infrastructure enough but I think darwin_filter_host_archs isn't the right way to say "remove ARM64 from the list". |
lib/tsan/tests/CMakeLists.txt | ||
---|---|---|
38 ↗ | (On Diff #40015) | darwin_filter_host_archs is already used for this purpose in asan/tests/ and sanitizer_common/tests/. It's actually doing a little more work, namely keeping both x86_64 and x86_64h in case your system is a Haswell+ machine. But I'm actually completely fine with just doing set(TSAN_TEST_ARCH x86_64) here, if you still want me to. |
lib/tsan/tests/CMakeLists.txt | ||
---|---|---|
38 ↗ | (On Diff #40015) | Sorry, I cannot comment on whether we want x86_64h or not. |
lib/tsan/tests/CMakeLists.txt | ||
---|---|---|
38 ↗ | (On Diff #40015) | Yes, this is consistent with the rest of compiler-rt. We're already running both lit tests and unit tests of ASan and sanitizer-common for x86_64 and x86_64h, if your system is post-Haswell. That's because we also *build* two slices into the ASan dylib... $ lipo -info ./lib/clang/3.8.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib Architectures in the fat file: ./lib/clang/3.8.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib are: i386 x86_64 x86_64h ...so we want to test them both. |