5ba0181 Issue 49608 - Add support for gcc/clang sanitizers

Authored and Committed by vashirov 6 years ago
    Issue 49608 - Add support for gcc/clang sanitizers
    
    GCC and Clang provide various sanitizers:
    Address sanitizer: https://clang.llvm.org/docs/AddressSanitizer.html
    Memory sanitizer (Clang only): https://clang.llvm.org/docs/MemorySanitizer.html
    Thread sanitizer: https://clang.llvm.org/docs/ThreadSanitizer.html
    Undefined behaviour: https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
    
    See also: https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html
    
    This commit adds new configure options:
    --enable-msan - enable memory sanitizer
    --enable-tsan - enable thread sanitizer
    --enable-ubsan - enable undefined behaviour sanitizer
    
    They can't be used together, only one at a time.
    
    https://pagure.io/389-ds-base/issue/49608
    
    Reviewed by: wibrown (Thanks!)
    
        
file modified
+47 -18
file modified
+49 -1
file modified
+14 -1
file modified
+44 -9
wrappers/systemd.template.xsan.service.in wrappers/systemd.template.asan.service.in
file renamed
+12 -2