summaryrefslogtreecommitdiff
path: root/coreconf
diff options
context:
space:
mode:
authorIaroslav Gridin <iaroslav.gridin@tuni.fi>2022-12-12 12:08:58 +0000
committerIaroslav Gridin <iaroslav.gridin@tuni.fi>2022-12-12 12:08:58 +0000
commit14d306857d58e5c628b3797c02bad5911f7caabf (patch)
treeca682ec37f045853d91c5a7fc17d9f0b20d94cd9 /coreconf
parent82c3331a469e8b8fd69e799b2c28a79de0612a67 (diff)
downloadnss-hg-14d306857d58e5c628b3797c02bad5911f7caabf.tar.gz
Bug 1751707 - Add configuration option to enable source-based coverage sanitizer r=nss-reviewers,mt
Differential Revision: https://phabricator.services.mozilla.com/D135764
Diffstat (limited to 'coreconf')
-rw-r--r--coreconf/sanitizers.py7
-rw-r--r--coreconf/sanitizers.sh5
2 files changed, 10 insertions, 2 deletions
diff --git a/coreconf/sanitizers.py b/coreconf/sanitizers.py
index 8735aad61..deeb08cba 100644
--- a/coreconf/sanitizers.py
+++ b/coreconf/sanitizers.py
@@ -5,7 +5,7 @@ import sys
def main():
if len(sys.argv) < 2:
- raise Exception('Specify either "asan", "msan", "sancov" or "ubsan" as argument.')
+ raise Exception('Specify either "asan", "msan", "sancov", "sourcecov" or "ubsan" as argument.')
sanitizer = sys.argv[1]
if sanitizer == "ubsan":
@@ -26,8 +26,11 @@ def main():
raise Exception('sancov requires another argument (edge|bb|func).')
print('-fsanitize-coverage='+sys.argv[2]+' ', end='')
return
+ if sanitizer == "sourcecov":
+ print('-fprofile-instr-generate -fcoverage-mapping', end='')
+ return
- raise Exception('Specify either "asan", "msan", "sancov" or "ubsan" as argument.')
+ raise Exception('Specify either "asan", "msan", "sancov", "sourcecov" or "ubsan" as argument.')
if __name__ == '__main__':
main()
diff --git a/coreconf/sanitizers.sh b/coreconf/sanitizers.sh
index bd77571ed..739f831c0 100644
--- a/coreconf/sanitizers.sh
+++ b/coreconf/sanitizers.sh
@@ -42,6 +42,11 @@ enable_sancov()
enable_sanitizer sancov "$sancov"
}
+enable_sourcecov()
+{
+ enable_sanitizer sourcecov
+}
+
enable_ubsan()
{
local ubsan