diff options
Diffstat (limited to 'security/nss/coreconf/sanitizers.py')
-rw-r--r-- | security/nss/coreconf/sanitizers.py | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/security/nss/coreconf/sanitizers.py b/security/nss/coreconf/sanitizers.py index 2f62d00bba..8735aad61e 100644 --- a/security/nss/coreconf/sanitizers.py +++ b/security/nss/coreconf/sanitizers.py @@ -5,14 +5,16 @@ import sys def main(): if len(sys.argv) < 2: - raise Exception('Specify either "ld", asan", "msan", "sancov" or "ubsan" as argument.') + raise Exception('Specify either "asan", "msan", "sancov" or "ubsan" as argument.') sanitizer = sys.argv[1] if sanitizer == "ubsan": - print('-fsanitize=undefined -fno-sanitize-recover=undefined ', end='') + if len(sys.argv) < 3: + raise Exception('ubsan requires another argument.') + print('-fsanitize='+sys.argv[2]+' -fno-sanitize-recover=undefined ', end='') return if sanitizer == "asan": - print('-fsanitize=address ', end='') + print('-fsanitize=address -fsanitize-address-use-after-scope ', end='') print('-fno-omit-frame-pointer -fno-optimize-sibling-calls ', end='') return if sanitizer == "msan": @@ -25,12 +27,7 @@ def main(): print('-fsanitize-coverage='+sys.argv[2]+' ', end='') return - # We have to remove this from the ld flags when building asan. - if sanitizer == "ld": - print('-Wl,-z,defs ', end='') - return - - raise Exception('Specify either "ld", asan", "msan", "sancov" or "ubsan" as argument.') + raise Exception('Specify either "asan", "msan", "sancov" or "ubsan" as argument.') if __name__ == '__main__': main() |