[clang] [compiler-rt] [asan][windows] Eliminate the static asan runtime on windows (PR #81677)

Charlie Barto via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 15 14:38:24 PST 2024


barcharcraz wrote:

> I think @rnk has the deepest knowledge here.
> 
> Just to double check, when you say "Eliminate the static asan runtime", you mean the use case it was supporting will still keep working, but in a different way right?

Yes. The static asan runtime didn't work very well in the first place, so this actually improves support for those use-cases. The static runtime is still supported on non-windows systems, however. 

The whole static linked asan runtime library is gone on windows, but you can still use the dynamic asan runtime with a statically linked CRT.

The core reasoning is that asan is a "only one allowed per process" type thing (you can't have one copy of the asan runtime handling a malloc while a different one handles the corresponding free). To get this on windows you really need to use a DLL or some really, really horrible hacks that essentially amounted to doing yourself what the loader already does for DLLs.

https://github.com/llvm/llvm-project/pull/81677


More information about the cfe-commits mailing list