Bug 1892041 - Part 3: Update test exclusions. r=spidermonkey-reviewers,dminor
[gecko.git] / security / nss / coreconf / sanitizers.py
blob48fd148c458d9319796d30a08138ab40bd62ef2b
1 #!/usr/bin/env python2
3 from __future__ import print_function
4 import sys
6 def main():
7 if len(sys.argv) < 2:
8 raise Exception('Specify either "asan", "fuzzer", "msan", "sancov", "sourcecov" or "ubsan" as argument.')
10 sanitizer = sys.argv[1]
11 if sanitizer == "ubsan":
12 if len(sys.argv) < 3:
13 raise Exception('ubsan requires another argument.')
14 print('-fsanitize='+sys.argv[2]+' -fno-sanitize-recover='+sys.argv[2] + ' ', end='')
15 print('-fno-sanitize=nonnull-attribute -fno-sanitize=enum ', end='')
16 return
17 if sanitizer == "asan":
18 print('-fsanitize=address -fsanitize-address-use-after-scope ', end='')
19 print('-fno-omit-frame-pointer -fno-optimize-sibling-calls ', end='')
20 return
21 if sanitizer == "msan":
22 print('-fsanitize=memory -fsanitize-memory-track-origins ', end='')
23 print('-fno-omit-frame-pointer -fno-optimize-sibling-calls ', end='')
24 return
25 if sanitizer == "sancov":
26 if len(sys.argv) < 3:
27 raise Exception('sancov requires another argument (edge|bb|func).')
28 print('-fsanitize-coverage='+sys.argv[2]+' ', end='')
29 return
30 if sanitizer == "sourcecov":
31 print('-fprofile-instr-generate -fcoverage-mapping', end='')
32 return
33 if sanitizer == "fuzzer":
34 print('-fsanitize=fuzzer-no-link ', end='')
35 return
37 raise Exception('Specify either "asan", "fuzzer", "msan", "sancov", "sourcecov" or "ubsan" as argument.')
39 if __name__ == '__main__':
40 main()