You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to implement the race variants for the new sync/atomic And/Or operators proposed in #61395 we need to build new syso files as well as implementing these atomic operations for the llvm thread sanitizer.
I already have a patch under review llvm/llvm-project#65695 that adds support for the new functions, but that is still hanging, awaiting to be merged. I would appreciate it if someone with closer ties to llvm could draw the maintainers attention to it.
Once the patch is merged we need to use x/build/cmd/racebuild with llvm HEAD to build the new syso files in runtime/race and commit them.
The text was updated successfully, but these errors were encountered:
Thanks @cherrymui. Additionally, I remember reading somewhere (I can't seem to find the source now) that some platforms still rely on tsan v2 that don't have these new operators. Can you confirm that? And if so how to proceed? Thanks
Here is what I have on my notes (no source, sorry!)
On 1.19, the race detector has been upgraded to use thread sanitizer version v3 on all supported platforms except windows/amd64 and openbsd/amd64, which remain on v2. Race detector support for openbsd/amd64 has been removed from thread sanitizer upstream, so it is unlikely to ever be updated from v2.
@mauri870 good point! windows/amd64 is already updated to v3 (https://go.dev/cl/420197). It is probably true that openbsd will remain v2. On openbsd, is it possible to write the new operations as a CAS loop and just use the CAS operation from TSAN? Thanks
TSAN recently got support for Go's new atomic And and Or
operations (#61395). This CL updates the race syso files to
include the change. Also regenerate cgo dynamic imports on darwin.
OpenBSD/AMD64 is not updated, as TSAN no longer supports OpenBSD
Linux/PPC64 is not updated, as I'm running into some builder
issues. Still working on it.
Run-TryBot: Cherry Mui <firstname.lastname@example.org>
TryBot-Result: Gopher Robot <email@example.com>
Reviewed-by: Than McIntosh <firstname.lastname@example.org>
Reviewed-by: Mauri de Souza Meneguzzo <email@example.com>