Details
Diff Detail
Event Timeline
I feel these #ifdefs becoming quite unwieldy. One of the reasons that I have run into a couple of times myself is that we don't have a specific one for "macOS only".
From TargetConditionals.h:
+----------------------------------------------------------------+ | TARGET_OS_MAC | | +---+ +-----------------------------------------------------+ | | | | | TARGET_OS_IPHONE | | | |OSX| | +-----+ +----+ +-------+ +--------+ +-------------+ | | | | | | | IOS | | TV | | WATCH | | BRIDGE | | MACCATALYST | | | | | | | +-----+ +----+ +-------+ +--------+ +-------------+ | | | +---+ +-----------------------------------------------------+ | +----------------------------------------------------------------+
We are missing the OSX one and and SANITIZER_MAC is probably a misnomer (maybe SANITIZER_DARWIN would be better)?
LGTM, not blocking this change on improving the macros, but I think it would be worth clearing this up.
compiler-rt/lib/tsan/rtl/tsan_platform.h | ||
---|---|---|
29 | Just checking I am reading this correctly: arch=x86_64 last part is expressed as "not (iOS (and derivatives) and not simulators)" | |
compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp | ||
103 | "iOS (and derivatives) on arm64 (but not the simulators)" ? Is the SANITIZER_MAC unnecessary then? |
Gosh, I somehow missed all pings... I don't know how it happened.
Please add vitalybuka@ for future tsan changes, having several people may help to avoid delays.
I don't see any issues with the change.
Hi, our internal x86_64 linux builder is failing after your commit with the error:
In file included from ../rtl/tsan_rtl.h:44, from /tmp/gotsan.OVwCLlYX3b/gotsan.cpp:13: ../rtl/tsan_platform.h:528:3: error: #error "Unknown platform" 528 | # error "Unknown platform" | ^~~~~
Can you please take a look?
Hi,
Yup, for me that passes check-tsan and the 'GotsanRuntimeCheck' target that was failing for me before.
compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp | ||
---|---|---|
102 | This change is not correct for aarch64-*-linux. I've fixed it in 32b684acc4490fbddce39d501e577cb029728e41 |
compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp | ||
---|---|---|
102 | Thank you for fixing this! Since I cannot find the mentioned hash anywhere, here's the fix for anyone else's reference: https://github.com/llvm/llvm-project/commit/5af991d46497c9473d2a0fd0989aa4ff4e6a0643 |
compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp | ||
---|---|---|
102 | I can't seem to find that commit hash - could you check it's correct? |
Just checking I am reading this correctly:
arch=x86_64
-or-
macOS (all archs)
last part is expressed as "not (iOS (and derivatives) and not simulators)"