blob: 2529516da6267c1c5b23e84485a98ed854ec0758 [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,
Florian Mayere6462f92024-02-28 11:12:11 -0800376 },
377
Josh Gaocbe70cb2016-10-18 18:17:52 -0700378 shared_libs: [
Josh Gaocbe70cb2016-10-18 18:17:52 -0700379 "libbase",
380 "libcutils",
Josh Gaoae9d7672017-03-24 16:26:03 -0700381 "libdebuggerd_client",
Narayan Kamatha73df602017-05-24 15:07:25 +0100382 "liblog",
Elliott Hughesdc699a22018-02-16 17:58:14 -0800383 "libnativehelper",
Martin Stjernholm852b64e2019-02-20 17:01:24 +0000384 "libunwindstack",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700385 ],
386
387 static_libs: [
Josh Gao352a8452017-03-30 16:46:21 -0700388 "libdebuggerd",
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800389 "libgmock",
Peter Collingbourned00a5772020-07-20 23:11:16 -0700390 "libminijail",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700391 ],
392
Josh Gaoa48b41b2019-12-13 14:11:04 -0800393 header_libs: [
394 "bionic_libc_platform_headers",
Mitch Phillipse0b4bb12020-02-14 14:54:31 -0800395 "gwp_asan_headers",
Josh Gaoa48b41b2019-12-13 14:11:04 -0800396 ],
397
Josh Gaocbe70cb2016-10-18 18:17:52 -0700398 local_include_dirs: [
399 "libdebuggerd",
400 ],
401
402 compile_multilib: "both",
403 multilib: {
404 lib32: {
405 stem: "debuggerd_test32",
406 },
407 lib64: {
408 stem: "debuggerd_test64",
409 },
410 },
Elliott Hughes40fdf3f2018-04-27 16:12:06 -0700411
Christopher Ferrisfe751c52021-04-16 09:40:40 -0700412 data: [
413 ":libcrash_test",
414 ],
415
Elliott Hughes40fdf3f2018-04-27 16:12:06 -0700416 test_suites: ["device-tests"],
Josh Gaocbe70cb2016-10-18 18:17:52 -0700417}
418
Josh Gaoa42314e2017-12-19 15:08:19 -0800419cc_benchmark {
420 name: "debuggerd_benchmark",
421 defaults: ["debuggerd_defaults"],
422 srcs: ["debuggerd_benchmark.cpp"],
423 shared_libs: [
424 "libbase",
425 "libdebuggerd_client",
426 ],
427}
428
Josh Gaocbe70cb2016-10-18 18:17:52 -0700429cc_binary {
430 name: "crash_dump",
431 srcs: [
432 "crash_dump.cpp",
Shikha Panwarabde59e2023-02-03 15:05:18 +0000433 "tombstone_handler.cpp",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700434 "util.cpp",
435 ],
436 defaults: ["debuggerd_defaults"],
437
438 compile_multilib: "both",
439 multilib: {
440 lib32: {
441 suffix: "32",
442 },
443 lib64: {
444 suffix: "64",
445 },
446 },
447
Josh Gaoa48b41b2019-12-13 14:11:04 -0800448 header_libs: [
449 "bionic_libc_platform_headers",
450 ],
451
Josh Gaoe73c9322017-02-08 16:06:26 -0800452 static_libs: [
Narayan Kamath2d377cd2017-05-10 10:58:59 +0100453 "libtombstoned_client_static",
Josh Gaoe73c9322017-02-08 16:06:26 -0800454 "libdebuggerd",
455 "libcutils",
Josh Gao76e1e302021-01-26 15:53:11 -0800456
457 "libtombstone_proto",
458 "libprotobuf-cpp-lite",
Josh Gaoe73c9322017-02-08 16:06:26 -0800459 ],
460
Josh Gaocbe70cb2016-10-18 18:17:52 -0700461 shared_libs: [
Josh Gaocbe70cb2016-10-18 18:17:52 -0700462 "libbase",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700463 "liblog",
464 "libprocinfo",
Josh Gao2b2ae0c2017-08-21 14:31:17 -0700465 "libunwindstack",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700466 ],
Peter Collingbourneb72e7482020-03-16 18:14:13 -0700467
468 apex_available: [
469 "com.android.runtime",
470 ],
Peter Collingbournea2739da2022-02-02 17:00:42 -0800471
472 // Required for tests.
473 required: ["crash_dump.policy"],
Josh Gaocbe70cb2016-10-18 18:17:52 -0700474}
475
476cc_binary {
477 name: "debuggerd",
478 srcs: [
479 "debuggerd.cpp",
480 ],
481 defaults: ["debuggerd_defaults"],
482
483 shared_libs: [
484 "libbase",
485 "libdebuggerd_client",
486 "liblog",
Josh Gao0915f232017-06-27 14:08:05 -0700487 "libprocinfo",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700488 ],
489
490 local_include_dirs: ["include"],
491}
492
Nikita Ioffe75be7842022-10-24 15:31:11 +0100493cc_defaults {
494 name: "tombstoned_defaults",
Josh Gaocbe70cb2016-10-18 18:17:52 -0700495 srcs: [
496 "util.cpp",
497 "tombstoned/intercept_manager.cpp",
498 "tombstoned/tombstoned.cpp",
499 ],
500 defaults: ["debuggerd_defaults"],
501
Josh Gaoa48b41b2019-12-13 14:11:04 -0800502 header_libs: [
503 "bionic_libc_platform_headers",
Christopher Ferris2bf7db32024-02-26 13:29:20 -0800504 "libdebuggerd_common_headers",
Josh Gaoa48b41b2019-12-13 14:11:04 -0800505 ],
Narayan Kamatha73df602017-05-24 15:07:25 +0100506
Josh Gaocbe70cb2016-10-18 18:17:52 -0700507 static_libs: [
508 "libbase",
509 "libcutils",
510 "libevent",
511 "liblog",
512 ],
Nikita Ioffe75be7842022-10-24 15:31:11 +0100513}
Josh Gaocbe70cb2016-10-18 18:17:52 -0700514
Nikita Ioffe75be7842022-10-24 15:31:11 +0100515cc_binary {
516 name: "tombstoned",
517 defaults: ["tombstoned_defaults"],
Elliott Hughesdc699a22018-02-16 17:58:14 -0800518 init_rc: ["tombstoned/tombstoned.rc"],
Josh Gao9c02dc52016-06-15 17:29:00 -0700519}
Ray Essickbd3ba782020-01-21 15:21:08 -0800520
Nikita Ioffe75be7842022-10-24 15:31:11 +0100521cc_binary {
522 name: "tombstoned.microdroid",
523 defaults: ["tombstoned_defaults"],
524 init_rc: ["tombstoned/tombstoned.microdroid.rc"],
525}
526
Ray Essickbd3ba782020-01-21 15:21:08 -0800527prebuilt_etc {
528 name: "crash_dump.policy",
529 sub_dir: "seccomp_policy",
530 filename_from_src: true,
531 arch: {
532 arm: {
533 src: "seccomp_policy/crash_dump.arm.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000534 required: [
535 "crash_dump.policy_other",
536 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800537 },
538 arm64: {
539 src: "seccomp_policy/crash_dump.arm64.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000540 required: [
541 "crash_dump.policy_other",
542 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800543 },
Chen Guoyina22af662022-10-12 22:32:55 +0800544 riscv64: {
545 src: "seccomp_policy/crash_dump.riscv64.policy",
546 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800547 x86: {
548 src: "seccomp_policy/crash_dump.x86.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000549 required: [
550 "crash_dump.policy_other",
551 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800552 },
553 x86_64: {
554 src: "seccomp_policy/crash_dump.x86_64.policy",
Elliott Hughes2f883312022-11-14 20:02:28 +0000555 required: [
556 "crash_dump.policy_other",
557 ],
Ray Essickbd3ba782020-01-21 15:21:08 -0800558 },
559 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800560}
561
Elliott Hughes2f883312022-11-14 20:02:28 +0000562// This installs the "other" architecture (so 32-bit on 64-bit device).
Ray Essickbd3ba782020-01-21 15:21:08 -0800563prebuilt_etc {
564 name: "crash_dump.policy_other",
565 sub_dir: "seccomp_policy",
566 filename_from_src: true,
567 arch: {
568 arm: {
569 src: "seccomp_policy/crash_dump.arm64.policy",
570 },
571 arm64: {
572 src: "seccomp_policy/crash_dump.arm.policy",
573 },
Elliott Hughes857e29c2023-03-20 15:48:30 -0700574 riscv64: {
575 enabled: false,
576 },
Ray Essickbd3ba782020-01-21 15:21:08 -0800577 x86: {
578 src: "seccomp_policy/crash_dump.x86_64.policy",
579 },
580 x86_64: {
581 src: "seccomp_policy/crash_dump.x86.policy",
582 },
583 },
584}