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