Open
Description
After spending 2 weeks, we got an initial port for ASan on Wasm/WASI, working with some apps on my local machine.
This ticket is to track its upstreaming work and make it available for everyone
- Swift
- [wasm] Add WASI as a supported target for sanitizers swiftlang/swift#81197
- IRGen: Disable ASan for the auto dynamic replacement array swiftlang/swift#81348
- Distribute
libclang_rt.asan.a
as a part of Swift SDK - Distribute ASan-enabled wasi-libc, libcxx, libswiftCore as a part of Swift SDK
- LLVM
- [DNM][clang] Support ASan on WASI swiftlang/llvm-project#10578
- [clang] Support ASan on WASI llvm/llvm-project#139014
- [ASan] Recognize WASI platform in sanitizer_platform.h llvm/llvm-project#139017
- Add a compiler-rt build option to disable shared libraries for sanitizers
- WebAssembly
- Rename libc function names with alias hack to allow ASan to intercept calls
- malloc, free, and other allocator function family
- memset
- memcpy
- Rename libc function names with alias hack to allow ASan to intercept calls
Working branch
- LLVM (for upstreaming): https://github.com/kateinoigakukun/llvm-project/tree/yt/asan-wasm
- LLVM (for Swift build): https://github.com/kateinoigakukun/llvm-project/tree/yt/swift-wasm-asan
- Swift: https://github.com/kateinoigakukun/swift/tree/yt/asan-wasm
Metadata
Metadata
Assignees
Labels
No labels