5 SHLIB_NAME= libclang_rt.asan-${CRTARCH}.so
6 .undef NO_PIC # sorry...
8 SRCS+= asan/asan_activation.cc
9 SRCS+= asan/asan_allocator.cc
10 SRCS+= asan/asan_debugging.cc
11 SRCS+= asan/asan_descriptions.cc
12 SRCS+= asan/asan_errors.cc
13 SRCS+= asan/asan_fake_stack.cc
14 SRCS+= asan/asan_flags.cc
15 SRCS+= asan/asan_globals.cc
16 SRCS+= asan/asan_interceptors.cc
17 SRCS+= asan/asan_linux.cc
18 SRCS+= asan/asan_mac.cc
19 SRCS+= asan/asan_malloc_linux.cc
20 SRCS+= asan/asan_memory_profile.cc
21 SRCS+= asan/asan_new_delete.cc
22 SRCS+= asan/asan_poisoning.cc
23 SRCS+= asan/asan_posix.cc
24 SRCS+= asan/asan_report.cc
25 SRCS+= asan/asan_rtl.cc
26 SRCS+= asan/asan_stack.cc
27 SRCS+= asan/asan_stats.cc
28 SRCS+= asan/asan_suppressions.cc
29 SRCS+= asan/asan_thread.cc
30 SRCS+= asan/asan_win.cc
31 SRCS+= interception/interception_linux.cc
32 SRCS+= interception/interception_mac.cc
33 SRCS+= interception/interception_type_test.cc
34 SRCS+= interception/interception_win.cc
35 SRCS+= lsan/lsan_common.cc
36 SRCS+= lsan/lsan_common_linux.cc
37 SRCS+= sanitizer_common/sancov_flags.cc
38 SRCS+= sanitizer_common/sanitizer_allocator.cc
39 SRCS+= sanitizer_common/sanitizer_common.cc
40 SRCS+= sanitizer_common/sanitizer_common_libcdep.cc
41 SRCS+= sanitizer_common/sanitizer_coverage_libcdep_new.cc
42 SRCS+= sanitizer_common/sanitizer_deadlock_detector1.cc
43 SRCS+= sanitizer_common/sanitizer_deadlock_detector2.cc
44 SRCS+= sanitizer_common/sanitizer_flag_parser.cc
45 SRCS+= sanitizer_common/sanitizer_flags.cc
46 SRCS+= sanitizer_common/sanitizer_libc.cc
47 SRCS+= sanitizer_common/sanitizer_libignore.cc
48 SRCS+= sanitizer_common/sanitizer_linux.cc
49 SRCS+= sanitizer_common/sanitizer_linux_libcdep.cc
50 SRCS+= sanitizer_common/sanitizer_mac.cc
51 SRCS+= sanitizer_common/sanitizer_persistent_allocator.cc
52 SRCS+= sanitizer_common/sanitizer_platform_limits_linux.cc
53 SRCS+= sanitizer_common/sanitizer_platform_limits_posix.cc
54 SRCS+= sanitizer_common/sanitizer_posix.cc
55 SRCS+= sanitizer_common/sanitizer_posix_libcdep.cc
56 SRCS+= sanitizer_common/sanitizer_printf.cc
57 SRCS+= sanitizer_common/sanitizer_procmaps_common.cc
58 SRCS+= sanitizer_common/sanitizer_procmaps_freebsd.cc
59 SRCS+= sanitizer_common/sanitizer_procmaps_linux.cc
60 SRCS+= sanitizer_common/sanitizer_procmaps_mac.cc
61 SRCS+= sanitizer_common/sanitizer_stackdepot.cc
62 SRCS+= sanitizer_common/sanitizer_stacktrace.cc
63 SRCS+= sanitizer_common/sanitizer_stacktrace_libcdep.cc
64 SRCS+= sanitizer_common/sanitizer_stacktrace_printer.cc
65 SRCS+= sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
66 SRCS+= sanitizer_common/sanitizer_suppressions.cc
67 SRCS+= sanitizer_common/sanitizer_symbolizer.cc
68 SRCS+= sanitizer_common/sanitizer_symbolizer_libbacktrace.cc
69 SRCS+= sanitizer_common/sanitizer_symbolizer_libcdep.cc
70 SRCS+= sanitizer_common/sanitizer_symbolizer_mac.cc
71 SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
72 SRCS+= sanitizer_common/sanitizer_symbolizer_win.cc
73 SRCS+= sanitizer_common/sanitizer_termination.cc
74 SRCS+= sanitizer_common/sanitizer_thread_registry.cc
75 SRCS+= sanitizer_common/sanitizer_tls_get_addr.cc
76 SRCS+= sanitizer_common/sanitizer_unwind_linux_libcdep.cc
77 SRCS+= sanitizer_common/sanitizer_win.cc
78 SRCS+= ubsan/ubsan_diag.cc
79 SRCS+= ubsan/ubsan_flags.cc
80 SRCS+= ubsan/ubsan_handlers.cc
81 SRCS+= ubsan/ubsan_handlers_cxx.cc
82 SRCS+= ubsan/ubsan_init.cc
83 SRCS+= ubsan/ubsan_type_hash.cc
84 SRCS+= ubsan/ubsan_type_hash_itanium.cc
85 SRCS+= ubsan/ubsan_type_hash_win.cc
86 SRCS+= ubsan/ubsan_value.cc
88 # Kludge around a bsd.lib.mk shortcoming: when SHLIB_NAME is defined, but LIB
89 # and LIB_CXX are undefined (which forces building only a shared library),
90 # there is no way to tell it to use ${CXX} for linking. Since the files for
91 # this library are all C++ anyway, simply set CC to CXX.
96 CXXFLAGS.ubsan_handlers_cxx.cc= -frtti
97 CXXFLAGS.ubsan_type_hash.cc= -frtti
98 CXXFLAGS.ubsan_type_hash_itanium.cc= -frtti
99 CXXFLAGS.ubsan_type_hash_win.cc= -frtti