HomePhabricator

Added sanitizer support for configure script: ASAN, TSAN and UBSAN

Description

Added sanitizer support for configure script: ASAN, TSAN and UBSAN

Summary:
Instrumentation support is here! You can enable ASAN with ./configure --enable-asan, TSAN with --enable-tsan, and UBSAN with --enable-ubsan.

Note that TSAN has issues on some Linux kernel/gcc combinations.

See this link: http://llvm.org/viewvc/llvm-project?view=revision&revision=282152

(TSAN needs a 64bit compile and also may or may not work on some kernel combinations.. supposedly a newer GCC 5.x works better than GCC 6.3! :/ )

Test Plan:
Regenerate the configure script with: ./autogen.sh

Then, to build with either of the instrumentations enabled:

./configure --enable-asan ; make check, also run python tests, etc
./configure --enable-tsan ; make check, also run python tests, etc
./configure --enable-ubsan ; macke check, also run python tests, etc

I haven't tested enabling multiple instrumentations. They should work in combination, though -- at least ASAN and UBSAN.

Reviewers: deadalnix, freetrader, #bitcoin_abc

Reviewed By: deadalnix, #bitcoin_abc

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

Details

Provenance
CCulianuAuthored on Aug 15 2017, 22:04
CCulianuPushed on Aug 17 2017, 05:07
Reviewer
Restricted Project
Differential Revision
D474: Added sanitizer support for configure script: ASAN, TSAN and UBSAN
Parents
rABCca07bf33a79f: bitcoin URI to bitcoincash URI
Branches
Unknown
Tags
Unknown