| config.name = "ShadowCallStack" |
| config.test_source_root = os.path.dirname(__file__) |
| config.suffixes = [".c", ".cpp", ".m", ".mm", ".ll", ".test"] |
| # Add clang substitutions. |
| config.substitutions.append( |
| + " -O0 -fno-sanitize=shadow-call-stack " |
| scs_arch_cflags = config.target_cflags |
| if config.target_arch == "aarch64": |
| scs_arch_cflags += " -ffixed-x18 " |
| config.substitutions.append( |
| config.clang + " -O0 -fsanitize=shadow-call-stack " + scs_arch_cflags + " ", |
| if config.host_os not in ["Linux"] or config.target_arch not in ["aarch64", "riscv64"]: |
| config.unsupported = True |