HomePhabricator

[secp256k1] ci: Run ASan/LSan and reorganize sanitizer and Valgrind jobs

Description

[secp256k1] ci: Run ASan/LSan and reorganize sanitizer and Valgrind jobs

Summary:

This enables asan (including lsan), and restructures the sanitizer builds. It also removes -fno-omit-frame-pointer again. This is debatable. The main reason for removing this is that GCC (but not clang) fails to build (runs out of registers) when combining asan, -fno-omit-frame-pointer, and the x86_64 asm. But I believe without -fno-omit-frame-pointer, the instrumented binary may be closer to the real binary, which is good. If we get unusable debugging output on CI without frame pointers, we can still reproduce the build locally.

Backport of secp256k1#846.
Completes backport of secp256k1#969:
https://github.com/bitcoin-core/secp256k1/pull/969/commits/3d2f492ceb76eea93d3a9f85f80baec7b5842160

Depends on D12957.

Test Plan:

ninja check-secp256k1

Tested the cirrus build against my personal github forked repo.

Reviewers: #bitcoin_abc, sdulfari

Reviewed By: #bitcoin_abc, sdulfari

Subscribers: sdulfari

Differential Revision: https://reviews.bitcoinabc.org/D12960

Details

Provenance
Tim Ruffing <crypto@timruffing.de>Authored on Nov 9 2020, 16:52
FabienCommitted on Jan 9 2023, 16:39
FabienPushed on Jan 9 2023, 16:39
Reviewer
Restricted Project
Differential Revision
D12960: [secp256k1] ci: Run ASan/LSan and reorganize sanitizer and Valgrind jobs
Parents
rABC73f49d55f59a: Use explicit types for the Amount
Branches
Unknown
Tags
Unknown