| # -*- 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', '.cc', '.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.lto_launch + [config.clang] + config.lto_flags + ['-fsanitize=safe-stack ']))) |
| |
| if config.host_os not in ['Linux', 'FreeBSD', 'Darwin', 'NetBSD']: |
| config.unsupported = True |