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