32 lines
766 B
Python
32 lines
766 B
Python
|
# -*- Python -*-
|
||
|
|
||
|
import os
|
||
|
|
||
|
# Setup config name.
|
||
|
config.name = "SafeStack"
|
||
|
|
||
|
# Setup source root.
|
||
|
config.test_source_root = os.path.dirname(__file__)
|
||
|
|
||
|
# Test suffixes.
|
||
|
config.suffixes = [".c", ".cpp", ".m", ".mm", ".ll", ".test"]
|
||
|
|
||
|
# Add clang substitutions.
|
||
|
config.substitutions.append(
|
||
|
("%clang_nosafestack ", config.clang + " -O0 -fno-sanitize=safe-stack ")
|
||
|
)
|
||
|
config.substitutions.append(
|
||
|
("%clang_safestack ", config.clang + " -O0 -fsanitize=safe-stack ")
|
||
|
)
|
||
|
|
||
|
if config.lto_supported:
|
||
|
config.substitutions.append(
|
||
|
(
|
||
|
r"%clang_lto_safestack ",
|
||
|
" ".join([config.clang] + config.lto_flags + ["-fsanitize=safe-stack "]),
|
||
|
)
|
||
|
)
|
||
|
|
||
|
if config.host_os not in ["Linux", "FreeBSD", "NetBSD"]:
|
||
|
config.unsupported = True
|