[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