darwin platforms do not support static-lsan with TSan or ASan but were "silently failing" in that they would just ignore the flag and link in the dynamic runtimes instead.
This matches the pre-existing UBSan failure path.
Differential D144672
[Sanitizers] Error when attempting to use `static-lsan` with `TSan` or `Asan` on darwin dmaclach on Feb 23 2023, 1:02 PM. Authored by
Details darwin platforms do not support static-lsan with TSan or ASan but were "silently failing" in that they would just ignore the flag and link in the dynamic runtimes instead. This matches the pre-existing UBSan failure path.
Diff Detail Event TimelineComment Actions Looks like this is a follow-up to D141550. LGTM, but please wait for a sign-off from Usama.
Comment Actions Sorry for this. I need to confirm that asan and tsan are not supported on darwin. Please don't merge until then. Thanks Comment Actions Probably being pedantic, but note that asan and tsan *are* supported on darwin as shared libraries, just not as static libraries. If you take a look at the llvm distro, libclang_rt.asan_osx only ships as a dylib. Comment Actions I was verifying that static versions of these libraries are not present on darwin. Sorry for the delay. Comment Actions Hi! This broke the asan replaceable_new_delete.cpp test on Darwin because it has a run line using -static-libsan. Could you take a look? Probably need to separate that check out and mark as unsupported on Darwin Comment Actions Yep. Apologies. Been a long time since I committed anything to LLVM. I'll try and take a look tonight/first thing tomorrow. Comment Actions Updated with fixed tests for replaceable_new_delete.cpp. Split replaceable_new_delete.cpp into replaceable_new_delete_shared.cpp and replaceable_new_delete_static.cpp.
|
Should we generalize this to "static sanitizer runtimes are not supported on Apple platforms" to avoid needing an error diagnostic for every tool?