xref: /llvm-project/compiler-rt/test/safestack/lit.cfg.py (revision 3a7c187031ea4999e426565fa53282cf536158dd)
18007ff1aSReid Kleckner# -*- Python -*-
28007ff1aSReid Kleckner
38007ff1aSReid Klecknerimport os
48007ff1aSReid Kleckner
58007ff1aSReid Kleckner# Setup config name.
6*3a7c1870SRainer Orthconfig.name = "SafeStack-" + config.name_suffix
78007ff1aSReid Kleckner
88007ff1aSReid Kleckner# Setup source root.
98007ff1aSReid Klecknerconfig.test_source_root = os.path.dirname(__file__)
108007ff1aSReid Kleckner
118007ff1aSReid Kleckner# Test suffixes.
12f98ee40fSTobias Hietaconfig.suffixes = [".c", ".cpp", ".m", ".mm", ".ll", ".test"]
138007ff1aSReid Kleckner
148007ff1aSReid Kleckner# Add clang substitutions.
15f98ee40fSTobias Hietaconfig.substitutions.append(
16dfafe382SAlexander Richardson    (
17dfafe382SAlexander Richardson        "%clang_nosafestack ",
18dfafe382SAlexander Richardson        config.clang + config.target_cflags + " -O0 -fno-sanitize=safe-stack ",
19dfafe382SAlexander Richardson    )
20f98ee40fSTobias Hieta)
21f98ee40fSTobias Hietaconfig.substitutions.append(
22dfafe382SAlexander Richardson    (
23dfafe382SAlexander Richardson        "%clang_safestack ",
24dfafe382SAlexander Richardson        config.clang + config.target_cflags + " -O0 -fsanitize=safe-stack ",
25dfafe382SAlexander Richardson    )
26f98ee40fSTobias Hieta)
278007ff1aSReid Kleckner
288007ff1aSReid Klecknerif config.lto_supported:
29f98ee40fSTobias Hieta    config.substitutions.append(
30f98ee40fSTobias Hieta        (
31f98ee40fSTobias Hieta            r"%clang_lto_safestack ",
32f98ee40fSTobias Hieta            " ".join([config.clang] + config.lto_flags + ["-fsanitize=safe-stack "]),
33f98ee40fSTobias Hieta        )
34f98ee40fSTobias Hieta    )
358007ff1aSReid Kleckner
36474d35f2SRainer Orthif config.host_os not in ["Linux", "FreeBSD", "NetBSD", "SunOS"]:
378007ff1aSReid Kleckner    config.unsupported = True
38