xref: /llvm-project/llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn (revision f3947aaa37f464e05c1a28ce871f5f982c5e2746)
1source_set("sources") {
2  configs -= [ "//llvm/utils/gn/build:llvm_code" ]
3  configs += [ "//llvm/utils/gn/build:crt_code" ]
4  deps = [ "//llvm/utils/gn/build/libs/pthread" ]
5  libs = []
6  if (current_os == "linux" || current_os == "android") {
7    libs += [ "dl" ]
8  }
9  if (current_os == "linux") {
10    libs += [ "rt" ]
11  }
12  sources = [
13    "sancov_flags.cpp",
14    "sancov_flags.h",
15    "sanitizer_addrhashmap.h",
16    "sanitizer_allocator.cpp",
17    "sanitizer_allocator.h",
18    "sanitizer_allocator_checks.cpp",
19    "sanitizer_allocator_checks.h",
20    "sanitizer_allocator_combined.h",
21    "sanitizer_allocator_dlsym.h",
22    "sanitizer_allocator_interface.h",
23    "sanitizer_allocator_internal.h",
24    "sanitizer_allocator_local_cache.h",
25    "sanitizer_allocator_primary32.h",
26    "sanitizer_allocator_primary64.h",
27    "sanitizer_allocator_report.cpp",
28    "sanitizer_allocator_report.h",
29    "sanitizer_allocator_secondary.h",
30    "sanitizer_allocator_size_class_map.h",
31    "sanitizer_allocator_stats.h",
32    "sanitizer_array_ref.h",
33    "sanitizer_asm.h",
34    "sanitizer_atomic.h",
35    "sanitizer_atomic_clang.h",
36    "sanitizer_atomic_msvc.h",
37    "sanitizer_bitvector.h",
38    "sanitizer_bvgraph.h",
39    "sanitizer_chained_origin_depot.cpp",
40    "sanitizer_chained_origin_depot.h",
41    "sanitizer_common.cpp",
42    "sanitizer_common.h",
43    "sanitizer_common_libcdep.cpp",
44    "sanitizer_coverage_fuchsia.cpp",
45    "sanitizer_coverage_libcdep_new.cpp",
46    "sanitizer_coverage_win_sections.cpp",
47    "sanitizer_dbghelp.h",
48    "sanitizer_deadlock_detector.h",
49    "sanitizer_deadlock_detector1.cpp",
50    "sanitizer_deadlock_detector2.cpp",
51    "sanitizer_deadlock_detector_interface.h",
52    "sanitizer_dense_map.h",
53    "sanitizer_dense_map_info.h",
54    "sanitizer_dl.cpp",
55    "sanitizer_dl.h",
56    "sanitizer_errno.cpp",
57    "sanitizer_errno.h",
58    "sanitizer_errno_codes.h",
59    "sanitizer_file.cpp",
60    "sanitizer_file.h",
61    "sanitizer_flag_parser.cpp",
62    "sanitizer_flag_parser.h",
63    "sanitizer_flags.cpp",
64    "sanitizer_flags.h",
65    "sanitizer_flat_map.h",
66    "sanitizer_fuchsia.cpp",
67    "sanitizer_fuchsia.h",
68    "sanitizer_getauxval.h",
69    "sanitizer_hash.h",
70    "sanitizer_interface_internal.h",
71    "sanitizer_internal_defs.h",
72    "sanitizer_leb128.h",
73    "sanitizer_lfstack.h",
74    "sanitizer_libc.cpp",
75    "sanitizer_libc.h",
76    "sanitizer_libignore.cpp",
77    "sanitizer_libignore.h",
78    "sanitizer_linux.cpp",
79    "sanitizer_linux.h",
80    "sanitizer_linux_libcdep.cpp",
81    "sanitizer_linux_s390.cpp",
82    "sanitizer_list.h",
83    "sanitizer_local_address_space_view.h",
84    "sanitizer_lzw.h",
85    "sanitizer_mac.cpp",
86    "sanitizer_mac.h",
87    "sanitizer_mac_libcdep.cpp",
88    "sanitizer_mutex.cpp",
89    "sanitizer_mutex.h",
90    "sanitizer_netbsd.cpp",
91    "sanitizer_placement_new.h",
92    "sanitizer_platform.h",
93    "sanitizer_platform_interceptors.h",
94    "sanitizer_platform_limits_freebsd.cpp",
95    "sanitizer_platform_limits_linux.cpp",
96    "sanitizer_platform_limits_netbsd.cpp",
97    "sanitizer_platform_limits_netbsd.h",
98    "sanitizer_platform_limits_posix.cpp",
99    "sanitizer_platform_limits_posix.h",
100    "sanitizer_platform_limits_solaris.cpp",
101    "sanitizer_platform_limits_solaris.h",
102    "sanitizer_posix.cpp",
103    "sanitizer_posix.h",
104    "sanitizer_posix_libcdep.cpp",
105    "sanitizer_printf.cpp",
106    "sanitizer_procmaps.h",
107    "sanitizer_procmaps_bsd.cpp",
108    "sanitizer_procmaps_common.cpp",
109    "sanitizer_procmaps_fuchsia.cpp",
110    "sanitizer_procmaps_linux.cpp",
111    "sanitizer_procmaps_mac.cpp",
112    "sanitizer_procmaps_solaris.cpp",
113    "sanitizer_ptrauth.h",
114    "sanitizer_quarantine.h",
115    "sanitizer_range.cpp",
116    "sanitizer_range.h",
117    "sanitizer_redefine_builtins.h",
118    "sanitizer_report_decorator.h",
119    "sanitizer_ring_buffer.h",
120    "sanitizer_solaris.cpp",
121    "sanitizer_stack_store.cpp",
122    "sanitizer_stack_store.h",
123    "sanitizer_stackdepot.cpp",
124    "sanitizer_stackdepot.h",
125    "sanitizer_stackdepotbase.h",
126    "sanitizer_stacktrace.cpp",
127    "sanitizer_stacktrace.h",
128    "sanitizer_stacktrace_libcdep.cpp",
129    "sanitizer_stacktrace_printer.cpp",
130    "sanitizer_stacktrace_printer.h",
131    "sanitizer_stacktrace_sparc.cpp",
132    "sanitizer_stoptheworld.h",
133    "sanitizer_stoptheworld_fuchsia.cpp",
134    "sanitizer_stoptheworld_linux_libcdep.cpp",
135    "sanitizer_stoptheworld_mac.cpp",
136    "sanitizer_stoptheworld_netbsd_libcdep.cpp",
137    "sanitizer_stoptheworld_win.cpp",
138    "sanitizer_suppressions.cpp",
139    "sanitizer_suppressions.h",
140    "sanitizer_symbolizer.cpp",
141    "sanitizer_symbolizer.h",
142    "sanitizer_symbolizer_internal.h",
143    "sanitizer_symbolizer_libbacktrace.cpp",
144    "sanitizer_symbolizer_libbacktrace.h",
145    "sanitizer_symbolizer_libcdep.cpp",
146    "sanitizer_symbolizer_mac.cpp",
147    "sanitizer_symbolizer_mac.h",
148    "sanitizer_symbolizer_markup.cpp",
149    "sanitizer_symbolizer_markup.h",
150    "sanitizer_symbolizer_markup_constants.h",
151    "sanitizer_symbolizer_markup_fuchsia.cpp",
152    "sanitizer_symbolizer_posix_libcdep.cpp",
153    "sanitizer_symbolizer_report.cpp",
154    "sanitizer_symbolizer_report_fuchsia.cpp",
155    "sanitizer_symbolizer_win.cpp",
156    "sanitizer_termination.cpp",
157    "sanitizer_thread_arg_retval.cpp",
158    "sanitizer_thread_history.cpp",
159    "sanitizer_thread_registry.cpp",
160    "sanitizer_thread_registry.h",
161    "sanitizer_thread_safety.h",
162    "sanitizer_tls_get_addr.cpp",
163    "sanitizer_tls_get_addr.h",
164    "sanitizer_type_traits.cpp",
165    "sanitizer_unwind_fuchsia.cpp",
166    "sanitizer_unwind_linux_libcdep.cpp",
167    "sanitizer_unwind_win.cpp",
168    "sanitizer_vector.h",
169    "sanitizer_win.cpp",
170    "sanitizer_win.h",
171    "sanitizer_win_defs.h",
172    "sanitizer_win_interception.cpp",
173    "sanitizer_win_interception.h",
174    "sanitizer_win_thunk_interception.h",
175  ]
176}
177
178source_set("runtime_thunk") {
179  configs -= [ "//llvm/utils/gn/build:llvm_code" ]
180  configs += [ "//llvm/utils/gn/build:crt_code" ]
181  sources = [ "sanitizer_win_thunk_interception.cpp" ]
182  defines = [
183    "SANITIZER_DYNAMIC_RUNTIME_THUNK",
184    "SANITIZER_STATIC_RUNTIME_THUNK",
185  ]
186  cflags = []
187  if (current_os == "win") {
188    cflags += [ "-Zl" ]
189  }
190}
191
192source_set("sancov_runtime_thunk") {
193  configs -= [ "//llvm/utils/gn/build:llvm_code" ]
194  configs += [ "//llvm/utils/gn/build:crt_code" ]
195  sources = [
196    "sanitizer_coverage_win_runtime_thunk.cpp",
197    "sanitizer_coverage_win_sections.cpp",
198  ]
199  defines = [
200    "SANITIZER_DYNAMIC_RUNTIME_THUNK",
201    "SANITIZER_STATIC_RUNTIME_THUNK",
202  ]
203  cflags = []
204  if (current_os == "win") {
205    cflags += [ "-Zl" ]
206  }
207}
208
209# Libc functions stubs. These sources should be linked instead of
210# SANITIZER_LIBCDEP_SOURCES when sanitizer_common library must not depend on
211# libc. This is currently unreferenced and exists to make
212# sync_source_lists_from_cmake happy.
213source_set("nolibc_sources") {
214  configs -= [ "//llvm/utils/gn/build:llvm_code" ]
215  configs += [ "//llvm/utils/gn/build:crt_code" ]
216  deps = [ "//llvm/utils/gn/build/libs/pthread" ]
217  sources = [ "sanitizer_common_nolibc.cpp" ]
218}
219