mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-27 05:13:10 +00:00
91cf526d23
Rust has multiple sanitizers available (with llvm integration). -Zsanitizer=address catches the most likely culprits but we may want to set up a separate job w/ -Zsanitizer=memory to catch uninitialized reads. It might be necessary to execute `cargo build` as `cargo build -Zbuild-std` to get full coverage. When we're linking against the hybrid C++ codebase, the sanitizer library is injected into the binary by also include `-fsanitize=address` in CXXFLAGS - we do *not* want to manually opt-into `-lasan`. We also need to manually specify the desired target triple as a CMake variable and then explicitly pass it to all `cargo` invocations if building with ASAN. Corrosion has been patched to make sure it follows these rules. The `cargo-test` target is failing to link under ASAN. For some reason it has autocxx/ffi dependencies even though only rust-native, ffi-free code should be tested (and one would think the situation wouldn't change depending on the presence of the sanitizer flag). It's been disabled under ASAN for now. |
||
---|---|---|
.. | ||
checks | ||
Benchmark.cmake | ||
CheckIncludeFiles.cmake | ||
ConfigureChecks.cmake | ||
Docs.cmake | ||
gettext.cmake | ||
Install.cmake | ||
Mac.cmake | ||
MacApp.cmake | ||
PCRE2.cmake | ||
Rust.cmake | ||
Tests.cmake | ||
Version.cmake |