Hi Dimitry, > > C++ ThreadSanitizer works on arm64. So making it work for Go should be > a modest amount of work.
Thanks for confirming this. Should I now Open a issue on Github so we can track adding this? Also, does it exist for any other platforms? There are hints of PPC64. What about MIPS64? or any of the other platforms that Go supports (at least on linux) - SPARC64? > ThreadSanitizer does not work on any 32-bit platforms. It assumes that it can reserve huge continuous chunks of address space for various things. I have no idea how the ThreadSanitizer works, but can you clarify what you mean by "huge"? I'm coming at this from am embedded angle, So huge to me is a program that swallows 10's of Megs of RAM. 32bit support would potentially also allow support on Android - on current hardware. > ThreadSanitizer is not dependend on underlying hardware memory model, it check against abstract language memory model. So even if you production code runs on arm32, you can well test it for races on x86_64. Unfortunately I'm in a case where this isn't possible. I'm trying to make sure that an library I am writing is go routine safe. The library itself writes directly to the i2c bus on a Raspberry Pi to control an IC. The code isn't ARM only (per say) but the hardware element means it is. Owen -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.