aboutsummaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct16
1 files changed, 15 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct
index cf8fb52bd6..e415b3469f 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-# Copyright (c) 2016-2023 Arm Limited.
+# Copyright (c) 2016-2024 Arm Limited.
#
# SPDX-License-Identifier: MIT
#
@@ -139,6 +139,8 @@ vars.AddVariables(
ListVariable("data_layout_support", "Enable a list of data layout to support", "all", ["nhwc", "nchw"]),
("toolchain_prefix", "Override the toolchain prefix; used by all toolchain components: compilers, linker, assembler etc. If unspecified, use default(auto) prefixes; if passed an empty string '' prefixes would be disabled", "auto"),
("compiler_prefix", "Override the compiler prefix; used by just compilers (CC,CXX); further overrides toolchain_prefix for compilers; this is for when the compiler prefixes are different from that of the linkers, archivers etc. If unspecified, this is the same as toolchain_prefix; if passed an empty string '' prefixes would be disabled", "auto"),
+ BoolVariable("address_sanitizer", "Enable AddressSanitizer", False),
+ BoolVariable("undefined_sanitizer", "Enable UndefinedBehaviorSanitizer", False),
BoolVariable("thread_sanitizer", "Enable ThreadSanitizer", False),
("extra_cxx_flags", "Extra CXX flags to be appended to the build command", ""),
("extra_link_flags", "Extra LD flags to be appended to the build command", ""),
@@ -618,6 +620,18 @@ if env['asserts']:
if env['logging']:
env.Append(CPPDEFINES = ['ARM_COMPUTE_LOGGING_ENABLED'])
+if env['address_sanitizer']:
+ if 'android' in env['os']:
+ env.Append(CXXFLAGS = ['-fsanitize=hwaddress'])
+ env.Append(LINKFLAGS = ['-fsanitize=hwaddress'])
+ else:
+ env.Append(CXXFLAGS = ['-fsanitize=address'])
+ env.Append(LINKFLAGS = ['-fsanitize=address'])
+
+if env['undefined_sanitizer']:
+ env.Append(CXXFLAGS = ['-fsanitize=undefined'])
+ env.Append(LINKFLAGS = ['-fsanitize=undefined'])
+
if env['thread_sanitizer']:
env.Append(CXXFLAGS = ['-fsanitize=thread'])
env.Append(LINKFLAGS = ['-fsanitize=thread'])