xref: /aosp_15_r20/external/compiler-rt/test/scudo/lit.cfg (revision 7c3d14c8b49c529e04be81a3ce6f5cc23712e4c6)
1*7c3d14c8STreehugger Robot# -*- Python -*-
2*7c3d14c8STreehugger Robot
3*7c3d14c8STreehugger Robotimport os
4*7c3d14c8STreehugger Robot
5*7c3d14c8STreehugger Robot# Setup config name.
6*7c3d14c8STreehugger Robotconfig.name = 'Scudo'
7*7c3d14c8STreehugger Robot
8*7c3d14c8STreehugger Robot# Setup source root.
9*7c3d14c8STreehugger Robotconfig.test_source_root = os.path.dirname(__file__)
10*7c3d14c8STreehugger Robot
11*7c3d14c8STreehugger Robot# Path to the static library
12*7c3d14c8STreehugger Robotbase_lib = os.path.join(config.compiler_rt_libdir,
13*7c3d14c8STreehugger Robot                        "libclang_rt.scudo-%s.a" % config.target_arch)
14*7c3d14c8STreehugger Robotwhole_archive = "-Wl,-whole-archive %s -Wl,-no-whole-archive " % base_lib
15*7c3d14c8STreehugger Robot
16*7c3d14c8STreehugger Robot# Test suffixes.
17*7c3d14c8STreehugger Robotconfig.suffixes = ['.c', '.cc', '.cpp', '.m', '.mm', '.ll', '.test']
18*7c3d14c8STreehugger Robot
19*7c3d14c8STreehugger Robot# C flags.
20*7c3d14c8STreehugger Robotc_flags = ["-std=c++11",
21*7c3d14c8STreehugger Robot           "-lstdc++",
22*7c3d14c8STreehugger Robot           "-ldl",
23*7c3d14c8STreehugger Robot           "-lrt",
24*7c3d14c8STreehugger Robot           "-pthread",
25*7c3d14c8STreehugger Robot           "-latomic",
26*7c3d14c8STreehugger Robot           "-fPIE",
27*7c3d14c8STreehugger Robot           "-pie",
28*7c3d14c8STreehugger Robot           "-O0"]
29*7c3d14c8STreehugger Robot
30*7c3d14c8STreehugger Robotdef build_invocation(compile_flags):
31*7c3d14c8STreehugger Robot  return " " + " ".join([config.clang] + compile_flags) + " "
32*7c3d14c8STreehugger Robot
33*7c3d14c8STreehugger Robot# Add clang substitutions.
34*7c3d14c8STreehugger Robotconfig.substitutions.append( ("%clang_scudo ",
35*7c3d14c8STreehugger Robot                              build_invocation(c_flags) + whole_archive) )
36*7c3d14c8STreehugger Robot
37*7c3d14c8STreehugger Robot# Hardened Allocator tests are currently supported on Linux only.
38*7c3d14c8STreehugger Robotif config.host_os not in ['Linux']:
39*7c3d14c8STreehugger Robot   config.unsupported = True
40