This PR de-dupes the current suppressions, then reduces the additional ones currently generated down to the minimal entries needed to run valgrind 3.16.0 with --exit-on-first-error=yes. Tested on Debian 4.19 x86/64. Feedback welcome.
These suppressions allow running valgrind without errors on current master for...
test_bitcoin:
valgrind --leak-check=full --show-leak-kinds=all --show-reachable=yes \
--gen-suppressions=all --error-limit=no -s \
--suppressions=contrib/valgrind.supp \
src/test/test_bitcoin --log_level=test_suite
bench_bitcoin:
valgrind --leak-check=full --show-leak-kinds=all --show-reachable=yes \
--gen-suppressions=all --error-limit=no -s \
--suppressions=contrib/valgrind.supp \
src/bench/bench_bitcoin -evals=1
test_bitcoin-qt:
valgrind --leak-check=full --show-leak-kinds=all --show-reachable=yes \
--gen-suppressions=all --error-limit=no -s \
--suppressions=contrib/valgrind.supp \
src/qt/test/test_bitcoin-qt --log_level=test_suite
and with make check-valgrind in PR #17639 which runs them all.