blob: 235fdfddede4179c5b956ebf04c2eac1fa135738 [file] [log] [blame]
Bob Badourd69ad692021-02-16 19:02:14 -08001package {
Elliott Hughes813fd6d2021-06-25 14:42:51 -07002 default_applicable_licenses: ["Android-Apache-2.0"],
Bob Badourd69ad692021-02-16 19:02:14 -08003}
4
Josh Gaocbe70cb2016-10-18 18:17:52 -07005cc_defaults {
6 name: "debuggerd_defaults",
7 cflags: [
8 "-Wall",
9 "-Wextra",
Josh Gaoc7fe0602017-03-13 14:13:29 -070010 "-Werror",
Kalesh Singha9ea7e52021-06-17 15:49:50 -040011 "-Wno-gcc-compat",
Josh Gao2b2ae0c2017-08-21 14:31:17 -070012 "-Wno-unused-argument",
13 "-Wno-unused-function",
Josh Gaocbe70cb2016-10-18 18:17:52 -070014 "-Wno-nullability-completeness",
Christopher Ferrisf58b0092023-09-12 13:01:10 -070015 "-Wno-reorder-init-list",
Josh Gaocbe70cb2016-10-18 18:17:52 -070016 "-Os",
Yabin Cuie90a9442021-08-11 13:21:11 -070017 "-fno-finite-loops",
Alessandra Loro7bd6dca2022-09-01 10:33:35 +000018 "-DANDROID_DEBUGGABLE=0",
Josh Gaocbe70cb2016-10-18 18:17:52 -070019 ],
20
21 local_include_dirs: ["include"],
Alessandra Loro7bd6dca2022-09-01 10:33:35 +000022 product_variables: {
23 debuggable: {
Christopher Ferris2bf7db32024-02-26 13:29:20 -080024 cflags: [
25 "-UANDROID_DEBUGGABLE",
26 "-DANDROID_DEBUGGABLE=1",
27 ],
28 },
Alessandra Loro7bd6dca2022-09-01 10:33:35 +000029 },
Josh Gaocbe70cb2016-10-18 18:17:52 -070030}
31
Narayan Kamatha73df602017-05-24 15:07:25 +010032cc_library_headers {
33 name: "libdebuggerd_common_headers",
Elliott Hughesdc699a22018-02-16 17:58:14 -080034 export_include_dirs: ["common/include"],
Jiyong Parka0e75042018-05-24 14:11:00 +090035 recovery_available: true,
Yifan Hong2ec92cf2020-10-27 16:25:45 -070036 vendor_ramdisk_available: true,
Shikha Panwar757f2992022-03-25 19:43:14 +000037 apex_available: [
Spandan Dase6bc0262024-01-02 22:39:00 +000038 "com.android.runtime",
Shikha Panwar757f2992022-03-25 19:43:14 +000039 "com.android.virt",
40 "//apex_available:platform",
Spandan Dase6bc0262024-01-02 22:39:00 +000041 ],
Narayan Kamatha73df602017-05-24 15:07:25 +010042}
43
Narayan Kamath2d377cd2017-05-10 10:58:59 +010044cc_library_shared {
Josh Gaoe1aa0ca2017-03-01 17:23:22 -080045 name: "libtombstoned_client",
46 defaults: ["debuggerd_defaults"],
47 srcs: [
Narayan Kamath2d377cd2017-05-10 10:58:59 +010048 "tombstoned/tombstoned_client.cpp",
49 "util.cpp",
50 ],
51
Narayan Kamatha73df602017-05-24 15:07:25 +010052 header_libs: ["libdebuggerd_common_headers"],
53
Narayan Kamath2d377cd2017-05-10 10:58:59 +010054 static_libs: [
Narayan Kamatha73df602017-05-24 15:07:25 +010055 "libasync_safe",
Narayan Kamath2d377cd2017-05-10 10:58:59 +010056 ],
57
58 shared_libs: [
Narayan Kamath2d377cd2017-05-10 10:58:59 +010059 "libbase",
Narayan Kamatha73df602017-05-24 15:07:25 +010060 "libcutils",
Narayan Kamath2d377cd2017-05-10 10:58:59 +010061 ],
Shikha Panwar757f2992022-03-25 19:43:14 +000062 apex_available: [
63 "com.android.virt",
64 "//apex_available:platform",
65 ],
Narayan Kamath2d377cd2017-05-10 10:58:59 +010066
Narayan Kamatha73df602017-05-24 15:07:25 +010067 export_header_lib_headers: ["libdebuggerd_common_headers"],
Elliott Hughesdc699a22018-02-16 17:58:14 -080068 export_include_dirs: ["tombstoned/include"],
Narayan Kamath2d377cd2017-05-10 10:58:59 +010069}
70
Josh Gao9da1f512018-08-06 15:38:29 -070071// Utility library to talk to tombstoned and get an output fd.
Narayan Kamath2d377cd2017-05-10 10:58:59 +010072cc_library_static {
73 name: "libtombstoned_client_static",
74 defaults: ["debuggerd_defaults"],
Jiyong Park011ee122018-05-29 16:41:30 +090075 recovery_available: true,
Yifan Hong2ec92cf2020-10-27 16:25:45 -070076 vendor_ramdisk_available: true,
Narayan Kamath2d377cd2017-05-10 10:58:59 +010077 srcs: [
78 "tombstoned/tombstoned_client.cpp",
Josh Gaoe1aa0ca2017-03-01 17:23:22 -080079 "util.cpp",
80 ],
81
Narayan Kamatha73df602017-05-24 15:07:25 +010082 header_libs: ["libdebuggerd_common_headers"],
83
Josh Gaoe1aa0ca2017-03-01 17:23:22 -080084 whole_static_libs: [
Christopher Ferrisac225782017-04-25 11:23:10 -070085 "libasync_safe",
Josh Gaoe1aa0ca2017-03-01 17:23:22 -080086 "libcutils",
87 "libbase",
88 ],
Narayan Kamath2d377cd2017-05-10 10:58:59 +010089
Narayan Kamatha73df602017-05-24 15:07:25 +010090 export_header_lib_headers: ["libdebuggerd_common_headers"],
Elliott Hughesdc699a22018-02-16 17:58:14 -080091 export_include_dirs: ["tombstoned/include"],
Spandan Das2e5cfbc2024-01-04 01:34:40 +000092 apex_available: ["com.android.runtime"],
Josh Gaoe1aa0ca2017-03-01 17:23:22 -080093}
94
95// Core implementation, linked into libdebuggerd_handler and the dynamic linker.
Josh Gao9c02dc52016-06-15 17:29:00 -070096cc_library_static {
Josh Gaoe73c9322017-02-08 16:06:26 -080097 name: "libdebuggerd_handler_core",
Josh Gaocbe70cb2016-10-18 18:17:52 -070098 defaults: ["debuggerd_defaults"],
Jiyong Parka0e75042018-05-24 14:11:00 +090099 recovery_available: true,
Yifan Hong2ec92cf2020-10-27 16:25:45 -0700100 vendor_ramdisk_available: true,
Josh Gaocbe70cb2016-10-18 18:17:52 -0700101 srcs: ["handler/debuggerd_handler.cpp"],
Josh Gao9c02dc52016-06-15 17:29:00 -0700102
Josh Gaofdf832d2017-08-25 18:00:18 -0700103 header_libs: [
104 "libbase_headers",
105 "libdebuggerd_common_headers",
Josh Gaoa48b41b2019-12-13 14:11:04 -0800106 "bionic_libc_platform_headers",
Mitch Phillips18ce5422023-01-19 14:23:49 -0800107 "gwp_asan_headers",
Josh Gaofdf832d2017-08-25 18:00:18 -0700108 ],
Narayan Kamatha73df602017-05-24 15:07:25 +0100109
Josh Gaoe73c9322017-02-08 16:06:26 -0800110 whole_static_libs: [
Christopher Ferrisac225782017-04-25 11:23:10 -0700111 "libasync_safe",
Josh Gao2b2ae0c2017-08-21 14:31:17 -0700112 "libcutils",
Josh Gaoe73c9322017-02-08 16:06:26 -0800113 "libdebuggerd",
114 ],
115
Narayan Kamatha73df602017-05-24 15:07:25 +0100116 export_header_lib_headers: ["libdebuggerd_common_headers"],
Josh Gaoe73c9322017-02-08 16:06:26 -0800117 export_include_dirs: ["include"],
Spandan Dase6bc0262024-01-02 22:39:00 +0000118 apex_available: [
119 "com.android.runtime",
120 ],
Josh Gaoe73c9322017-02-08 16:06:26 -0800121}
122
Josh Gaoe1aa0ca2017-03-01 17:23:22 -0800123// Implementation with a no-op fallback.
Josh Gaoe73c9322017-02-08 16:06:26 -0800124cc_library_static {
125 name: "libdebuggerd_handler",
126 defaults: ["debuggerd_defaults"],
127 srcs: ["handler/debuggerd_fallback_nop.cpp"],
128
Josh Gaoa48b41b2019-12-13 14:11:04 -0800129 header_libs: ["bionic_libc_platform_headers"],
130 export_header_lib_headers: ["bionic_libc_platform_headers"],
131
Josh Gaoe73c9322017-02-08 16:06:26 -0800132 whole_static_libs: [
133 "libdebuggerd_handler_core",
134 ],
135
136 export_include_dirs: ["include"],
137}
138
Martin Stjernholma2cc8932019-10-23 21:32:43 +0100139// Fallback implementation, for use in the Bionic linker only.
Josh Gaoe73c9322017-02-08 16:06:26 -0800140cc_library_static {
141 name: "libdebuggerd_handler_fallback",
Martin Stjernholma2cc8932019-10-23 21:32:43 +0100142 visibility: ["//bionic/linker"],
143 apex_available: [
144 "com.android.runtime",
145 "//apex_available:platform",
146 ],
Josh Gaoe73c9322017-02-08 16:06:26 -0800147 defaults: ["debuggerd_defaults"],
Jiyong Park011ee122018-05-29 16:41:30 +0900148 recovery_available: true,
Yifan Hong2ec92cf2020-10-27 16:25:45 -0700149 vendor_ramdisk_available: true,
Josh Gaoe1aa0ca2017-03-01 17:23:22 -0800150 srcs: [
151 "handler/debuggerd_fallback.cpp",
152 ],
Josh Gaoe73c9322017-02-08 16:06:26 -0800153
Josh Gaoe1aa0ca2017-03-01 17:23:22 -0800154 whole_static_libs: [
155 "libdebuggerd_handler_core",
Narayan Kamath2d377cd2017-05-10 10:58:59 +0100156 "libtombstoned_client_static",
Christopher Ferrisac225782017-04-25 11:23:10 -0700157 "libasync_safe",
Josh Gaoe1aa0ca2017-03-01 17:23:22 -0800158 "libbase",
Josh Gaoe73c9322017-02-08 16:06:26 -0800159 "libdebuggerd",
Martin Stjernholma2cc8932019-10-23 21:32:43 +0100160 "libunwindstack_no_dex",
Josh Gaoe73c9322017-02-08 16:06:26 -0800161 "liblzma",
162 "libcutils",
163 ],
Josh Gaoa48b41b2019-12-13 14:11:04 -0800164
165 header_libs: ["bionic_libc_platform_headers"],
166 export_header_lib_headers: ["bionic_libc_platform_headers"],
167
Josh Gaocbe70cb2016-10-18 18:17:52 -0700168 export_include_dirs: ["include"],
169}
170
171cc_library {
172 name: "libdebuggerd_client",
173 defaults: ["debuggerd_defaults"],
174 srcs: [
175 "client/debuggerd_client.cpp",
176 "util.cpp",
177 ],
178
179 shared_libs: [
180 "libbase",
181 "libcutils",
Josh Gao4175cee2019-01-04 13:57:09 -0800182 "libprocinfo",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700183 ],
Josh Gaoe1aa0ca2017-03-01 17:23:22 -0800184
Josh Gaoa48b41b2019-12-13 14:11:04 -0800185 header_libs: [
186 "libdebuggerd_common_headers",
187 "bionic_libc_platform_headers",
188 ],
189 export_header_lib_headers: [
190 "libdebuggerd_common_headers",
191 "bionic_libc_platform_headers",
192 ],
193
Josh Gaocbe70cb2016-10-18 18:17:52 -0700194 export_include_dirs: ["include"],
195}
196
Siim Sammulc08a34e2023-11-17 17:06:15 +0000197cc_library {
198 name: "libdebuggerd_tombstone_proto_to_text",
199 defaults: ["debuggerd_defaults"],
200 ramdisk_available: true,
201 recovery_available: true,
202 vendor_ramdisk_available: true,
203
204 local_include_dirs: ["libdebuggerd/include"],
205 export_include_dirs: ["libdebuggerd/include"],
206
207 srcs: [
208 "libdebuggerd/tombstone_proto_to_text.cpp",
209 ],
210
211 header_libs: [
212 "bionic_libc_platform_headers",
213 ],
214
215 static_libs: [
216 "libbase",
217 "liblog_for_runtime_apex",
218 "libunwindstack",
219 ],
220
221 whole_static_libs: [
222 "libtombstone_proto",
223 "libprotobuf-cpp-lite",
224 ],
225
226 apex_available: [
227 "//apex_available:platform",
228 "com.android.runtime",
229 ],
230}
231
Josh Gaoe73c9322017-02-08 16:06:26 -0800232cc_library_static {
Josh Gaocbe70cb2016-10-18 18:17:52 -0700233 name: "libdebuggerd",
234 defaults: ["debuggerd_defaults"],
Christopher Ferris48d6e042023-07-31 14:24:01 -0700235 ramdisk_available: true,
Jiyong Parka0e75042018-05-24 14:11:00 +0900236 recovery_available: true,
Yifan Hong2ec92cf2020-10-27 16:25:45 -0700237 vendor_ramdisk_available: true,
Josh Gaocbe70cb2016-10-18 18:17:52 -0700238
239 srcs: [
240 "libdebuggerd/backtrace.cpp",
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800241 "libdebuggerd/gwp_asan.cpp",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700242 "libdebuggerd/open_files_list.cpp",
243 "libdebuggerd/tombstone.cpp",
Josh Gao76e1e302021-01-26 15:53:11 -0800244 "libdebuggerd/tombstone_proto.cpp",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700245 "libdebuggerd/utility.cpp",
246 ],
247
Josh Gaocbe70cb2016-10-18 18:17:52 -0700248 local_include_dirs: ["libdebuggerd/include"],
249 export_include_dirs: ["libdebuggerd/include"],
Josh Gao9c02dc52016-06-15 17:29:00 -0700250
Peter Collingbournef8622522020-04-07 14:07:32 -0700251 include_dirs: [
252 // Needed for private/bionic_fdsan.h
253 "bionic/libc",
Peter Collingbournef8622522020-04-07 14:07:32 -0700254 ],
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800255 header_libs: [
256 "bionic_libc_platform_headers",
257 "gwp_asan_headers",
Jiyong Parkeb769d62022-08-19 13:21:02 +0900258 "liblog_headers",
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800259 ],
Josh Gaoce841d92018-08-06 18:26:42 -0700260
Josh Gaoe73c9322017-02-08 16:06:26 -0800261 static_libs: [
Christopher Ferris2bf7db32024-02-26 13:29:20 -0800262 "libdexfile_support", // libunwindstack dependency
Christopher Ferris9a8c8552017-08-11 15:29:19 -0700263 "libunwindstack",
Josh Gaoe73c9322017-02-08 16:06:26 -0800264 "liblzma",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700265 "libbase",
266 "libcutils",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700267 ],
Josh Gaoa48b41b2019-12-13 14:11:04 -0800268
Peter Collingbournef8622522020-04-07 14:07:32 -0700269 whole_static_libs: [
Siim Sammulc08a34e2023-11-17 17:06:15 +0000270 "libdebuggerd_tombstone_proto_to_text",
Josh Gao618cea32021-01-26 17:45:43 -0800271 "libasync_safe",
Peter Collingbournef8622522020-04-07 14:07:32 -0700272 "gwp_asan_crash_handler",
Josh Gao76e1e302021-01-26 15:53:11 -0800273 "libtombstone_proto",
Josh Gaodbb83de2021-03-01 23:13:13 -0800274 "libprocinfo",
Josh Gao76e1e302021-01-26 15:53:11 -0800275 "libprotobuf-cpp-lite",
Peter Collingbournef8622522020-04-07 14:07:32 -0700276 ],
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800277
Martin Stjernholmbb4f2b42018-12-19 14:28:33 +0000278 target: {
279 recovery: {
280 exclude_static_libs: [
Martin Stjernholma2cc8932019-10-23 21:32:43 +0100281 "libdexfile_support",
Martin Stjernholmbb4f2b42018-12-19 14:28:33 +0000282 ],
Martin Stjernholm3784b9d2021-08-26 21:18:43 +0100283 exclude_runtime_libs: [
284 "libdexfile",
285 ],
Martin Stjernholmbb4f2b42018-12-19 14:28:33 +0000286 },
Yifan Hong2ec92cf2020-10-27 16:25:45 -0700287 vendor_ramdisk: {
288 exclude_static_libs: [
289 "libdexfile_support",
290 ],
Martin Stjernholm3784b9d2021-08-26 21:18:43 +0100291 exclude_runtime_libs: [
292 "libdexfile",
293 ],
Yifan Hong2ec92cf2020-10-27 16:25:45 -0700294 },
Christopher Ferris48d6e042023-07-31 14:24:01 -0700295 ramdisk: {
296 exclude_static_libs: [
297 "libdexfile_support",
298 ],
299 exclude_runtime_libs: [
300 "libdexfile",
301 ],
302 },
303 android: {
304 runtime_libs: [
Christopher Ferris2bf7db32024-02-26 13:29:20 -0800305 "libdexfile", // libdexfile_support dependency
Christopher Ferris48d6e042023-07-31 14:24:01 -0700306 ],
307 },
Martin Stjernholmbb4f2b42018-12-19 14:28:33 +0000308 },
Christopher Ferris4ae266c2019-04-03 09:27:12 -0700309
310 product_variables: {
311 debuggable: {
312 cflags: ["-DROOT_POSSIBLE"],
313 },
Christopher Ferris7aad2562021-09-24 00:06:38 -0700314
315 malloc_not_svelte: {
316 cflags: ["-DUSE_SCUDO"],
317 whole_static_libs: ["libscudo"],
318 srcs: ["libdebuggerd/scudo.cpp"],
319 header_libs: ["scudo_headers"],
320 },
Christopher Ferris4ae266c2019-04-03 09:27:12 -0700321 },
Spandan Dase6bc0262024-01-02 22:39:00 +0000322 apex_available: [
323 "com.android.runtime",
324 ],
Josh Gaocbe70cb2016-10-18 18:17:52 -0700325}
326
Josh Gao76e1e302021-01-26 15:53:11 -0800327cc_binary {
328 name: "pbtombstone",
329 defaults: ["debuggerd_defaults"],
330 srcs: ["pbtombstone.cpp"],
331 static_libs: [
332 "libbase",
333 "libdebuggerd",
334 "liblog",
335 "libprotobuf-cpp-lite",
336 "libtombstone_proto",
337 "libunwindstack",
338 ],
339}
340
Christopher Ferrisfe751c52021-04-16 09:40:40 -0700341cc_test_library {
342 name: "libcrash_test",
343 defaults: ["debuggerd_defaults"],
344 srcs: ["crash_test.cpp"],
345}
346
Josh Gaocbe70cb2016-10-18 18:17:52 -0700347cc_test {
348 name: "debuggerd_test",
349 defaults: ["debuggerd_defaults"],
Josh Gao6cad1392019-08-27 16:02:38 -0700350 require_root: true,
Josh Gaocbe70cb2016-10-18 18:17:52 -0700351
352 cflags: ["-Wno-missing-field-initializers"],
353 srcs: [
354 "libdebuggerd/test/dump_memory_test.cpp",
355 "libdebuggerd/test/elf_fake.cpp",
356 "libdebuggerd/test/log_fake.cpp",
357 "libdebuggerd/test/open_files_list_test.cpp",
Siim Sammulc08a34e2023-11-17 17:06:15 +0000358 "libdebuggerd/test/tombstone_proto_to_text_test.cpp",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700359 ],
360
361 target: {
362 android: {
363 srcs: [
Josh Gaoae9d7672017-03-24 16:26:03 -0700364 "client/debuggerd_client_test.cpp",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700365 "debuggerd_test.cpp",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700366 ],
Elliott Hughesdc699a22018-02-16 17:58:14 -0800367 static_libs: [
368 "libasync_safe",
369 "libtombstoned_client_static",
370 ],
Josh Gaocbe70cb2016-10-18 18:17:52 -0700371 },
372 },
373
Florian Mayere6462f92024-02-28 11:12:11 -0800374 sanitize: {
375 memtag_heap: true,
376 memtag_stack: true,
377 },
378
Josh Gaocbe70cb2016-10-18 18:17:52 -0700379 shared_libs: [
Josh Gaocbe70cb2016-10-18 18:17:52 -0700380 "libbase",
381 "libcutils",
Josh Gaoae9d7672017-03-24 16:26:03 -0700382 "libdebuggerd_client",
Narayan Kamatha73df602017-05-24 15:07:25 +0100383 "liblog",
Elliott Hughesdc699a22018-02-16 17:58:14 -0800384 "libnativehelper",
Martin Stjernholm852b64e2019-02-20 17:01:24 +0000385 "libunwindstack",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700386 ],
387
388 static_libs: [
Josh Gao352a8452017-03-30 16:46:21 -0700389 "libdebuggerd",
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800390 "libgmock",
Peter Collingbourned00a5772020-07-20 23:11:16 -0700391 "libminijail",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700392 ],
393
Josh Gaoa48b41b2019-12-13 14:11:04 -0800394 header_libs: [
395 "bionic_libc_platform_headers",
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800396 "gwp_asan_headers",
Josh Gaoa48b41b2019-12-13 14:11:04 -0800397 ],
398
Josh Gaocbe70cb2016-10-18 18:17:52 -0700399 local_include_dirs: [
400 "libdebuggerd",
401 ],
402
403 compile_multilib: "both",
404 multilib: {
405 lib32: {
406 stem: "debuggerd_test32",
407 },
408 lib64: {
409 stem: "debuggerd_test64",
410 },
411 },
Elliott Hughes40fdf3f2018-04-27 16:12:06 -0700412
Christopher Ferrisfe751c52021-04-16 09:40:40 -0700413 data: [
414 ":libcrash_test",
415 ],
416
Elliott Hughes40fdf3f2018-04-27 16:12:06 -0700417 test_suites: ["device-tests"],
Josh Gaocbe70cb2016-10-18 18:17:52 -0700418}
419
Josh Gaoa42314e2017-12-19 15:08:19 -0800420cc_benchmark {
421 name: "debuggerd_benchmark",
422 defaults: ["debuggerd_defaults"],
423 srcs: ["debuggerd_benchmark.cpp"],
424 shared_libs: [
425 "libbase",
426 "libdebuggerd_client",
427 ],
428}
429
Josh Gaocbe70cb2016-10-18 18:17:52 -0700430cc_binary {
431 name: "crash_dump",
432 srcs: [
433 "crash_dump.cpp",
Shikha Panwarabde59e2023-02-03 15:05:18 +0000434 "tombstone_handler.cpp",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700435 "util.cpp",
436 ],
437 defaults: ["debuggerd_defaults"],
438
439 compile_multilib: "both",
440 multilib: {
441 lib32: {
442 suffix: "32",
443 },
444 lib64: {
445 suffix: "64",
446 },
447 },
448
Josh Gaoa48b41b2019-12-13 14:11:04 -0800449 header_libs: [
450 "bionic_libc_platform_headers",
451 ],
452
Josh Gaoe73c9322017-02-08 16:06:26 -0800453 static_libs: [
Narayan Kamath2d377cd2017-05-10 10:58:59 +0100454 "libtombstoned_client_static",
Josh Gaoe73c9322017-02-08 16:06:26 -0800455 "libdebuggerd",
456 "libcutils",
Josh Gao76e1e302021-01-26 15:53:11 -0800457
458 "libtombstone_proto",
459 "libprotobuf-cpp-lite",
Josh Gaoe73c9322017-02-08 16:06:26 -0800460 ],
461
Josh Gaocbe70cb2016-10-18 18:17:52 -0700462 shared_libs: [
Josh Gaocbe70cb2016-10-18 18:17:52 -0700463 "libbase",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700464 "liblog",
465 "libprocinfo",
Josh Gao2b2ae0c2017-08-21 14:31:17 -0700466 "libunwindstack",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700467 ],
Peter Collingbourneb72e7482020-03-16 18:14:13 -0700468
469 apex_available: [
470 "com.android.runtime",
471 ],
Peter Collingbournea2739da2022-02-02 17:00:42 -0800472
473 // Required for tests.
474 required: ["crash_dump.policy"],
Josh Gaocbe70cb2016-10-18 18:17:52 -0700475}
476
477cc_binary {
478 name: "debuggerd",
479 srcs: [
480 "debuggerd.cpp",
481 ],
482 defaults: ["debuggerd_defaults"],
483
484 shared_libs: [
485 "libbase",
486 "libdebuggerd_client",
487 "liblog",
Josh Gao0915f232017-06-27 14:08:05 -0700488 "libprocinfo",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700489 ],
490
491 local_include_dirs: ["include"],
492}
493
Nikita Ioffe75be7842022-10-24 15:31:11 +0100494cc_defaults {
495 name: "tombstoned_defaults",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700496 srcs: [
497 "util.cpp",
498 "tombstoned/intercept_manager.cpp",
499 "tombstoned/tombstoned.cpp",
500 ],
501 defaults: ["debuggerd_defaults"],
502
Josh Gaoa48b41b2019-12-13 14:11:04 -0800503 header_libs: [
504 "bionic_libc_platform_headers",
Christopher Ferris2bf7db32024-02-26 13:29:20 -0800505 "libdebuggerd_common_headers",
Josh Gaoa48b41b2019-12-13 14:11:04 -0800506 ],
Narayan Kamatha73df602017-05-24 15:07:25 +0100507
Josh Gaocbe70cb2016-10-18 18:17:52 -0700508 static_libs: [
509 "libbase",
510 "libcutils",
511 "libevent",
512 "liblog",
513 ],
Nikita Ioffe75be7842022-10-24 15:31:11 +0100514}
Josh Gaocbe70cb2016-10-18 18:17:52 -0700515
Nikita Ioffe75be7842022-10-24 15:31:11 +0100516cc_binary {
517 name: "tombstoned",
518 defaults: ["tombstoned_defaults"],
Elliott Hughesdc699a22018-02-16 17:58:14 -0800519 init_rc: ["tombstoned/tombstoned.rc"],
Josh Gao9c02dc52016-06-15 17:29:00 -0700520}
Ray Essickbd3ba782020-01-21 15:21:08 -0800521
Nikita Ioffe75be7842022-10-24 15:31:11 +0100522cc_binary {
523 name: "tombstoned.microdroid",
524 defaults: ["tombstoned_defaults"],
525 init_rc: ["tombstoned/tombstoned.microdroid.rc"],
526}
527
Ray Essickbd3ba782020-01-21 15:21:08 -0800528prebuilt_etc {
529 name: "crash_dump.policy",
530 sub_dir: "seccomp_policy",
531 filename_from_src: true,
532 arch: {
533 arm: {
534 src: "seccomp_policy/crash_dump.arm.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000535 required: [
536 "crash_dump.policy_other",
537 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800538 },
539 arm64: {
540 src: "seccomp_policy/crash_dump.arm64.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000541 required: [
542 "crash_dump.policy_other",
543 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800544 },
Chen Guoyina22af662022-10-12 22:32:55 +0800545 riscv64: {
546 src: "seccomp_policy/crash_dump.riscv64.policy",
547 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800548 x86: {
549 src: "seccomp_policy/crash_dump.x86.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000550 required: [
551 "crash_dump.policy_other",
552 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800553 },
554 x86_64: {
555 src: "seccomp_policy/crash_dump.x86_64.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000556 required: [
557 "crash_dump.policy_other",
558 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800559 },
560 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800561}
562
Elliott Hughes2f883312022-11-14 20:02:28 +0000563// This installs the "other" architecture (so 32-bit on 64-bit device).
Ray Essickbd3ba782020-01-21 15:21:08 -0800564prebuilt_etc {
565 name: "crash_dump.policy_other",
566 sub_dir: "seccomp_policy",
567 filename_from_src: true,
568 arch: {
569 arm: {
570 src: "seccomp_policy/crash_dump.arm64.policy",
571 },
572 arm64: {
573 src: "seccomp_policy/crash_dump.arm.policy",
574 },
Elliott Hughes857e29c2023-03-20 15:48:30 -0700575 riscv64: {
576 enabled: false,
577 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800578 x86: {
579 src: "seccomp_policy/crash_dump.x86_64.policy",
580 },
581 x86_64: {
582 src: "seccomp_policy/crash_dump.x86.policy",
583 },
584 },
585}