Merge rust-bitcoin/rust-secp256k1#574: Overcome ASAN false positive regression
5a3f13eecf
Overcome ASAN false positive regression (Tobin C. Harding) Pull request description: The Memory Sanitizer is giving a false positive at the moment in `nightly`. Adding compiler flags resolves the issue. I didn't grok the exact root cause but this fixes it (cut'n'pasta from the issue [0]). Props to elichai for working this out: https://github.com/rust-bitcoin/rust-secp256k1/pull/573#issuecomment-1399465995 [0] https://github.com/rust-lang/rust/issues/107149 ACKs for top commit: apoelstra: ACK5a3f13eecf
Tree-SHA512: 873145b732f7574c93ecc1bbabd9d82a1e501a39d1e2184770f71a07ffb72468783ab1b3fbfef8ef377c7e7a4b8c45253da1fce11660152d3369902136f1c049
This commit is contained in:
commit
0e689c7992
|
@ -81,8 +81,10 @@ if [ "$DO_ASAN" = true ]; then
|
||||||
ASAN_OPTIONS='detect_leaks=1 detect_invalid_pointer_pairs=1 detect_stack_use_after_return=1' \
|
ASAN_OPTIONS='detect_leaks=1 detect_invalid_pointer_pairs=1 detect_stack_use_after_return=1' \
|
||||||
cargo test --lib --all --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu
|
cargo test --lib --all --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu
|
||||||
cargo clean
|
cargo clean
|
||||||
|
# The -Cllvm-args=-msan-eager-checks=0 flag was added to overcome this issue:
|
||||||
|
# https://github.com/rust-bitcoin/rust-secp256k1/pull/573#issuecomment-1399465995
|
||||||
CC='clang -fsanitize=memory -fno-omit-frame-pointer' \
|
CC='clang -fsanitize=memory -fno-omit-frame-pointer' \
|
||||||
RUSTFLAGS='-Zsanitizer=memory -Zsanitizer-memory-track-origins -Cforce-frame-pointers=yes' \
|
RUSTFLAGS='-Zsanitizer=memory -Zsanitizer-memory-track-origins -Cforce-frame-pointers=yes -Cllvm-args=-msan-eager-checks=0' \
|
||||||
cargo test --lib --all --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu
|
cargo test --lib --all --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu
|
||||||
cargo run --release --manifest-path=./no_std_test/Cargo.toml | grep -q "Verified Successfully"
|
cargo run --release --manifest-path=./no_std_test/Cargo.toml | grep -q "Verified Successfully"
|
||||||
cargo run --release --features=alloc --manifest-path=./no_std_test/Cargo.toml | grep -q "Verified alloc Successfully"
|
cargo run --release --features=alloc --manifest-path=./no_std_test/Cargo.toml | grep -q "Verified alloc Successfully"
|
||||||
|
|
Loading…
Reference in New Issue