# -*- Python -*- import os # Setup config name. config.name = "ShadowCallStack" # 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_noscs ", config.clang + " -O0 -fno-sanitize=shadow-call-stack " + config.target_cflags + " ", ) ) scs_arch_cflags = config.target_cflags if config.target_arch == "aarch64": scs_arch_cflags += " -ffixed-x18 " config.substitutions.append( ( "%clang_scs ", 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