blob: 439218d4d2fb829dc1d8c3d92bf89324a52b51b7 [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
374 shared_libs: [
Josh Gaocbe70cb2016-10-18 18:17:52 -0700375 "libbase",
376 "libcutils",
Josh Gaoae9d7672017-03-24 16:26:03 -0700377 "libdebuggerd_client",
Narayan Kamatha73df602017-05-24 15:07:25 +0100378 "liblog",
Elliott Hughesdc699a22018-02-16 17:58:14 -0800379 "libnativehelper",
Martin Stjernholm852b64e2019-02-20 17:01:24 +0000380 "libunwindstack",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700381 ],
382
383 static_libs: [
Josh Gao352a8452017-03-30 16:46:21 -0700384 "libdebuggerd",
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800385 "libgmock",
Peter Collingbourned00a5772020-07-20 23:11:16 -0700386 "libminijail",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700387 ],
388
Josh Gaoa48b41b2019-12-13 14:11:04 -0800389 header_libs: [
390 "bionic_libc_platform_headers",
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800391 "gwp_asan_headers",
Josh Gaoa48b41b2019-12-13 14:11:04 -0800392 ],
393
Josh Gaocbe70cb2016-10-18 18:17:52 -0700394 local_include_dirs: [
395 "libdebuggerd",
396 ],
397
398 compile_multilib: "both",
399 multilib: {
400 lib32: {
401 stem: "debuggerd_test32",
402 },
403 lib64: {
404 stem: "debuggerd_test64",
405 },
406 },
Elliott Hughes40fdf3f2018-04-27 16:12:06 -0700407
Christopher Ferrisfe751c52021-04-16 09:40:40 -0700408 data: [
409 ":libcrash_test",
410 ],
411
Elliott Hughes40fdf3f2018-04-27 16:12:06 -0700412 test_suites: ["device-tests"],
Josh Gaocbe70cb2016-10-18 18:17:52 -0700413}
414
Josh Gaoa42314e2017-12-19 15:08:19 -0800415cc_benchmark {
416 name: "debuggerd_benchmark",
417 defaults: ["debuggerd_defaults"],
418 srcs: ["debuggerd_benchmark.cpp"],
419 shared_libs: [
420 "libbase",
421 "libdebuggerd_client",
422 ],
423}
424
Josh Gaocbe70cb2016-10-18 18:17:52 -0700425cc_binary {
426 name: "crash_dump",
427 srcs: [
428 "crash_dump.cpp",
Shikha Panwarabde59e2023-02-03 15:05:18 +0000429 "tombstone_handler.cpp",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700430 "util.cpp",
431 ],
432 defaults: ["debuggerd_defaults"],
433
434 compile_multilib: "both",
435 multilib: {
436 lib32: {
437 suffix: "32",
438 },
439 lib64: {
440 suffix: "64",
441 },
442 },
443
Josh Gaoa48b41b2019-12-13 14:11:04 -0800444 header_libs: [
445 "bionic_libc_platform_headers",
446 ],
447
Josh Gaoe73c9322017-02-08 16:06:26 -0800448 static_libs: [
Narayan Kamath2d377cd2017-05-10 10:58:59 +0100449 "libtombstoned_client_static",
Josh Gaoe73c9322017-02-08 16:06:26 -0800450 "libdebuggerd",
451 "libcutils",
Josh Gao76e1e302021-01-26 15:53:11 -0800452
453 "libtombstone_proto",
454 "libprotobuf-cpp-lite",
Josh Gaoe73c9322017-02-08 16:06:26 -0800455 ],
456
Josh Gaocbe70cb2016-10-18 18:17:52 -0700457 shared_libs: [
Josh Gaocbe70cb2016-10-18 18:17:52 -0700458 "libbase",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700459 "liblog",
460 "libprocinfo",
Josh Gao2b2ae0c2017-08-21 14:31:17 -0700461 "libunwindstack",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700462 ],
Peter Collingbourneb72e7482020-03-16 18:14:13 -0700463
464 apex_available: [
465 "com.android.runtime",
466 ],
Peter Collingbournea2739da2022-02-02 17:00:42 -0800467
468 // Required for tests.
469 required: ["crash_dump.policy"],
Josh Gaocbe70cb2016-10-18 18:17:52 -0700470}
471
472cc_binary {
473 name: "debuggerd",
474 srcs: [
475 "debuggerd.cpp",
476 ],
477 defaults: ["debuggerd_defaults"],
478
479 shared_libs: [
480 "libbase",
481 "libdebuggerd_client",
482 "liblog",
Josh Gao0915f232017-06-27 14:08:05 -0700483 "libprocinfo",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700484 ],
485
486 local_include_dirs: ["include"],
487}
488
Nikita Ioffe75be7842022-10-24 15:31:11 +0100489cc_defaults {
490 name: "tombstoned_defaults",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700491 srcs: [
492 "util.cpp",
493 "tombstoned/intercept_manager.cpp",
494 "tombstoned/tombstoned.cpp",
495 ],
496 defaults: ["debuggerd_defaults"],
497
Josh Gaoa48b41b2019-12-13 14:11:04 -0800498 header_libs: [
499 "bionic_libc_platform_headers",
Christopher Ferris2bf7db32024-02-26 13:29:20 -0800500 "libdebuggerd_common_headers",
Josh Gaoa48b41b2019-12-13 14:11:04 -0800501 ],
Narayan Kamatha73df602017-05-24 15:07:25 +0100502
Josh Gaocbe70cb2016-10-18 18:17:52 -0700503 static_libs: [
504 "libbase",
505 "libcutils",
506 "libevent",
507 "liblog",
508 ],
Nikita Ioffe75be7842022-10-24 15:31:11 +0100509}
Josh Gaocbe70cb2016-10-18 18:17:52 -0700510
Nikita Ioffe75be7842022-10-24 15:31:11 +0100511cc_binary {
512 name: "tombstoned",
513 defaults: ["tombstoned_defaults"],
Elliott Hughesdc699a22018-02-16 17:58:14 -0800514 init_rc: ["tombstoned/tombstoned.rc"],
Josh Gao9c02dc52016-06-15 17:29:00 -0700515}
Ray Essickbd3ba782020-01-21 15:21:08 -0800516
Nikita Ioffe75be7842022-10-24 15:31:11 +0100517cc_binary {
518 name: "tombstoned.microdroid",
519 defaults: ["tombstoned_defaults"],
520 init_rc: ["tombstoned/tombstoned.microdroid.rc"],
521}
522
Ray Essickbd3ba782020-01-21 15:21:08 -0800523prebuilt_etc {
524 name: "crash_dump.policy",
525 sub_dir: "seccomp_policy",
526 filename_from_src: true,
527 arch: {
528 arm: {
529 src: "seccomp_policy/crash_dump.arm.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000530 required: [
531 "crash_dump.policy_other",
532 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800533 },
534 arm64: {
535 src: "seccomp_policy/crash_dump.arm64.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000536 required: [
537 "crash_dump.policy_other",
538 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800539 },
Chen Guoyina22af662022-10-12 22:32:55 +0800540 riscv64: {
541 src: "seccomp_policy/crash_dump.riscv64.policy",
542 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800543 x86: {
544 src: "seccomp_policy/crash_dump.x86.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000545 required: [
546 "crash_dump.policy_other",
547 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800548 },
549 x86_64: {
550 src: "seccomp_policy/crash_dump.x86_64.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000551 required: [
552 "crash_dump.policy_other",
553 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800554 },
555 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800556}
557
Elliott Hughes2f883312022-11-14 20:02:28 +0000558// This installs the "other" architecture (so 32-bit on 64-bit device).
Ray Essickbd3ba782020-01-21 15:21:08 -0800559prebuilt_etc {
560 name: "crash_dump.policy_other",
561 sub_dir: "seccomp_policy",
562 filename_from_src: true,
563 arch: {
564 arm: {
565 src: "seccomp_policy/crash_dump.arm64.policy",
566 },
567 arm64: {
568 src: "seccomp_policy/crash_dump.arm.policy",
569 },
Elliott Hughes857e29c2023-03-20 15:48:30 -0700570 riscv64: {
571 enabled: false,
572 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800573 x86: {
574 src: "seccomp_policy/crash_dump.x86_64.policy",
575 },
576 x86_64: {
577 src: "seccomp_policy/crash_dump.x86.policy",
578 },
579 },
580}