[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