1*00c7fec1SAndroid Build Coastguard Workerpackage { 2*00c7fec1SAndroid Build Coastguard Worker default_applicable_licenses: ["Android-Apache-2.0"], 3*00c7fec1SAndroid Build Coastguard Worker} 4*00c7fec1SAndroid Build Coastguard Worker 5*00c7fec1SAndroid Build Coastguard Workercc_defaults { 6*00c7fec1SAndroid Build Coastguard Worker name: "debuggerd_defaults", 7*00c7fec1SAndroid Build Coastguard Worker cflags: [ 8*00c7fec1SAndroid Build Coastguard Worker "-Wall", 9*00c7fec1SAndroid Build Coastguard Worker "-Wextra", 10*00c7fec1SAndroid Build Coastguard Worker "-Werror", 11*00c7fec1SAndroid Build Coastguard Worker "-Wno-gcc-compat", 12*00c7fec1SAndroid Build Coastguard Worker "-Wno-unused-argument", 13*00c7fec1SAndroid Build Coastguard Worker "-Wno-unused-function", 14*00c7fec1SAndroid Build Coastguard Worker "-Wno-nullability-completeness", 15*00c7fec1SAndroid Build Coastguard Worker "-Wno-reorder-init-list", 16*00c7fec1SAndroid Build Coastguard Worker "-Os", 17*00c7fec1SAndroid Build Coastguard Worker "-fno-finite-loops", 18*00c7fec1SAndroid Build Coastguard Worker "-DANDROID_DEBUGGABLE=0", 19*00c7fec1SAndroid Build Coastguard Worker ], 20*00c7fec1SAndroid Build Coastguard Worker 21*00c7fec1SAndroid Build Coastguard Worker local_include_dirs: ["include"], 22*00c7fec1SAndroid Build Coastguard Worker product_variables: { 23*00c7fec1SAndroid Build Coastguard Worker debuggable: { 24*00c7fec1SAndroid Build Coastguard Worker cflags: [ 25*00c7fec1SAndroid Build Coastguard Worker "-UANDROID_DEBUGGABLE", 26*00c7fec1SAndroid Build Coastguard Worker "-DANDROID_DEBUGGABLE=1", 27*00c7fec1SAndroid Build Coastguard Worker ], 28*00c7fec1SAndroid Build Coastguard Worker }, 29*00c7fec1SAndroid Build Coastguard Worker }, 30*00c7fec1SAndroid Build Coastguard Worker} 31*00c7fec1SAndroid Build Coastguard Worker 32*00c7fec1SAndroid Build Coastguard Workercc_library_headers { 33*00c7fec1SAndroid Build Coastguard Worker name: "libdebuggerd_common_headers", 34*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["common/include"], 35*00c7fec1SAndroid Build Coastguard Worker recovery_available: true, 36*00c7fec1SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 37*00c7fec1SAndroid Build Coastguard Worker apex_available: [ 38*00c7fec1SAndroid Build Coastguard Worker "com.android.runtime", 39*00c7fec1SAndroid Build Coastguard Worker "com.android.virt", 40*00c7fec1SAndroid Build Coastguard Worker "//apex_available:platform", 41*00c7fec1SAndroid Build Coastguard Worker ], 42*00c7fec1SAndroid Build Coastguard Worker} 43*00c7fec1SAndroid Build Coastguard Worker 44*00c7fec1SAndroid Build Coastguard Workercc_library_shared { 45*00c7fec1SAndroid Build Coastguard Worker name: "libtombstoned_client", 46*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 47*00c7fec1SAndroid Build Coastguard Worker srcs: [ 48*00c7fec1SAndroid Build Coastguard Worker "tombstoned/tombstoned_client.cpp", 49*00c7fec1SAndroid Build Coastguard Worker "util.cpp", 50*00c7fec1SAndroid Build Coastguard Worker ], 51*00c7fec1SAndroid Build Coastguard Worker 52*00c7fec1SAndroid Build Coastguard Worker header_libs: ["libdebuggerd_common_headers"], 53*00c7fec1SAndroid Build Coastguard Worker 54*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 55*00c7fec1SAndroid Build Coastguard Worker "libasync_safe", 56*00c7fec1SAndroid Build Coastguard Worker ], 57*00c7fec1SAndroid Build Coastguard Worker 58*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 59*00c7fec1SAndroid Build Coastguard Worker "libbase", 60*00c7fec1SAndroid Build Coastguard Worker "libcutils", 61*00c7fec1SAndroid Build Coastguard Worker ], 62*00c7fec1SAndroid Build Coastguard Worker apex_available: [ 63*00c7fec1SAndroid Build Coastguard Worker "com.android.virt", 64*00c7fec1SAndroid Build Coastguard Worker "//apex_available:platform", 65*00c7fec1SAndroid Build Coastguard Worker ], 66*00c7fec1SAndroid Build Coastguard Worker 67*00c7fec1SAndroid Build Coastguard Worker export_header_lib_headers: ["libdebuggerd_common_headers"], 68*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["tombstoned/include"], 69*00c7fec1SAndroid Build Coastguard Worker} 70*00c7fec1SAndroid Build Coastguard Worker 71*00c7fec1SAndroid Build Coastguard Worker// Utility library to talk to tombstoned and get an output fd. 72*00c7fec1SAndroid Build Coastguard Workercc_library_static { 73*00c7fec1SAndroid Build Coastguard Worker name: "libtombstoned_client_static", 74*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 75*00c7fec1SAndroid Build Coastguard Worker recovery_available: true, 76*00c7fec1SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 77*00c7fec1SAndroid Build Coastguard Worker srcs: [ 78*00c7fec1SAndroid Build Coastguard Worker "tombstoned/tombstoned_client.cpp", 79*00c7fec1SAndroid Build Coastguard Worker "util.cpp", 80*00c7fec1SAndroid Build Coastguard Worker ], 81*00c7fec1SAndroid Build Coastguard Worker 82*00c7fec1SAndroid Build Coastguard Worker header_libs: ["libdebuggerd_common_headers"], 83*00c7fec1SAndroid Build Coastguard Worker 84*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: [ 85*00c7fec1SAndroid Build Coastguard Worker "libasync_safe", 86*00c7fec1SAndroid Build Coastguard Worker "libcutils", 87*00c7fec1SAndroid Build Coastguard Worker "libbase", 88*00c7fec1SAndroid Build Coastguard Worker ], 89*00c7fec1SAndroid Build Coastguard Worker 90*00c7fec1SAndroid Build Coastguard Worker export_header_lib_headers: ["libdebuggerd_common_headers"], 91*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["tombstoned/include"], 92*00c7fec1SAndroid Build Coastguard Worker apex_available: ["com.android.runtime"], 93*00c7fec1SAndroid Build Coastguard Worker} 94*00c7fec1SAndroid Build Coastguard Worker 95*00c7fec1SAndroid Build Coastguard Worker// Core implementation, linked into libdebuggerd_handler and the dynamic linker. 96*00c7fec1SAndroid Build Coastguard Workercc_library_static { 97*00c7fec1SAndroid Build Coastguard Worker name: "libdebuggerd_handler_core", 98*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 99*00c7fec1SAndroid Build Coastguard Worker recovery_available: true, 100*00c7fec1SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 101*00c7fec1SAndroid Build Coastguard Worker srcs: ["handler/debuggerd_handler.cpp"], 102*00c7fec1SAndroid Build Coastguard Worker 103*00c7fec1SAndroid Build Coastguard Worker header_libs: [ 104*00c7fec1SAndroid Build Coastguard Worker "libbase_headers", 105*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_common_headers", 106*00c7fec1SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 107*00c7fec1SAndroid Build Coastguard Worker "gwp_asan_headers", 108*00c7fec1SAndroid Build Coastguard Worker ], 109*00c7fec1SAndroid Build Coastguard Worker 110*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: [ 111*00c7fec1SAndroid Build Coastguard Worker "libasync_safe", 112*00c7fec1SAndroid Build Coastguard Worker "libcutils", 113*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd", 114*00c7fec1SAndroid Build Coastguard Worker ], 115*00c7fec1SAndroid Build Coastguard Worker 116*00c7fec1SAndroid Build Coastguard Worker export_header_lib_headers: ["libdebuggerd_common_headers"], 117*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["include"], 118*00c7fec1SAndroid Build Coastguard Worker apex_available: [ 119*00c7fec1SAndroid Build Coastguard Worker "com.android.runtime", 120*00c7fec1SAndroid Build Coastguard Worker ], 121*00c7fec1SAndroid Build Coastguard Worker} 122*00c7fec1SAndroid Build Coastguard Worker 123*00c7fec1SAndroid Build Coastguard Worker// Implementation with a no-op fallback. 124*00c7fec1SAndroid Build Coastguard Workercc_library_static { 125*00c7fec1SAndroid Build Coastguard Worker name: "libdebuggerd_handler", 126*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 127*00c7fec1SAndroid Build Coastguard Worker srcs: ["handler/debuggerd_fallback_nop.cpp"], 128*00c7fec1SAndroid Build Coastguard Worker 129*00c7fec1SAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 130*00c7fec1SAndroid Build Coastguard Worker export_header_lib_headers: ["bionic_libc_platform_headers"], 131*00c7fec1SAndroid Build Coastguard Worker 132*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: [ 133*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_handler_core", 134*00c7fec1SAndroid Build Coastguard Worker ], 135*00c7fec1SAndroid Build Coastguard Worker 136*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["include"], 137*00c7fec1SAndroid Build Coastguard Worker} 138*00c7fec1SAndroid Build Coastguard Worker 139*00c7fec1SAndroid Build Coastguard Worker// Fallback implementation, for use in the Bionic linker only. 140*00c7fec1SAndroid Build Coastguard Workercc_library_static { 141*00c7fec1SAndroid Build Coastguard Worker name: "libdebuggerd_handler_fallback", 142*00c7fec1SAndroid Build Coastguard Worker visibility: ["//bionic/linker"], 143*00c7fec1SAndroid Build Coastguard Worker apex_available: [ 144*00c7fec1SAndroid Build Coastguard Worker "com.android.runtime", 145*00c7fec1SAndroid Build Coastguard Worker "//apex_available:platform", 146*00c7fec1SAndroid Build Coastguard Worker ], 147*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 148*00c7fec1SAndroid Build Coastguard Worker recovery_available: true, 149*00c7fec1SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 150*00c7fec1SAndroid Build Coastguard Worker srcs: [ 151*00c7fec1SAndroid Build Coastguard Worker "handler/debuggerd_fallback.cpp", 152*00c7fec1SAndroid Build Coastguard Worker ], 153*00c7fec1SAndroid Build Coastguard Worker 154*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: [ 155*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_handler_core", 156*00c7fec1SAndroid Build Coastguard Worker "libtombstoned_client_static", 157*00c7fec1SAndroid Build Coastguard Worker "libasync_safe", 158*00c7fec1SAndroid Build Coastguard Worker "libbase", 159*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd", 160*00c7fec1SAndroid Build Coastguard Worker "libunwindstack_no_dex", 161*00c7fec1SAndroid Build Coastguard Worker "liblzma", 162*00c7fec1SAndroid Build Coastguard Worker "libcutils", 163*00c7fec1SAndroid Build Coastguard Worker ], 164*00c7fec1SAndroid Build Coastguard Worker 165*00c7fec1SAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 166*00c7fec1SAndroid Build Coastguard Worker export_header_lib_headers: ["bionic_libc_platform_headers"], 167*00c7fec1SAndroid Build Coastguard Worker 168*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["include"], 169*00c7fec1SAndroid Build Coastguard Worker} 170*00c7fec1SAndroid Build Coastguard Worker 171*00c7fec1SAndroid Build Coastguard Workercc_library { 172*00c7fec1SAndroid Build Coastguard Worker name: "libdebuggerd_client", 173*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 174*00c7fec1SAndroid Build Coastguard Worker srcs: [ 175*00c7fec1SAndroid Build Coastguard Worker "client/debuggerd_client.cpp", 176*00c7fec1SAndroid Build Coastguard Worker "util.cpp", 177*00c7fec1SAndroid Build Coastguard Worker ], 178*00c7fec1SAndroid Build Coastguard Worker 179*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 180*00c7fec1SAndroid Build Coastguard Worker "libbase", 181*00c7fec1SAndroid Build Coastguard Worker "libcutils", 182*00c7fec1SAndroid Build Coastguard Worker "libprocinfo", 183*00c7fec1SAndroid Build Coastguard Worker ], 184*00c7fec1SAndroid Build Coastguard Worker 185*00c7fec1SAndroid Build Coastguard Worker header_libs: [ 186*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_common_headers", 187*00c7fec1SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 188*00c7fec1SAndroid Build Coastguard Worker ], 189*00c7fec1SAndroid Build Coastguard Worker export_header_lib_headers: [ 190*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_common_headers", 191*00c7fec1SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 192*00c7fec1SAndroid Build Coastguard Worker ], 193*00c7fec1SAndroid Build Coastguard Worker 194*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["include"], 195*00c7fec1SAndroid Build Coastguard Worker} 196*00c7fec1SAndroid Build Coastguard Worker 197*00c7fec1SAndroid Build Coastguard Workercc_library { 198*00c7fec1SAndroid Build Coastguard Worker name: "libdebuggerd_tombstone_proto_to_text", 199*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 200*00c7fec1SAndroid Build Coastguard Worker ramdisk_available: true, 201*00c7fec1SAndroid Build Coastguard Worker recovery_available: true, 202*00c7fec1SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 203*00c7fec1SAndroid Build Coastguard Worker host_supported: true, 204*00c7fec1SAndroid Build Coastguard Worker 205*00c7fec1SAndroid Build Coastguard Worker local_include_dirs: ["libdebuggerd/include"], 206*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["libdebuggerd/include"], 207*00c7fec1SAndroid Build Coastguard Worker 208*00c7fec1SAndroid Build Coastguard Worker srcs: [ 209*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/tombstone_proto_to_text.cpp", 210*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/utility_host.cpp", 211*00c7fec1SAndroid Build Coastguard Worker ], 212*00c7fec1SAndroid Build Coastguard Worker 213*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 214*00c7fec1SAndroid Build Coastguard Worker "libbase", 215*00c7fec1SAndroid Build Coastguard Worker ], 216*00c7fec1SAndroid Build Coastguard Worker 217*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: [ 218*00c7fec1SAndroid Build Coastguard Worker "libtombstone_proto", 219*00c7fec1SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 220*00c7fec1SAndroid Build Coastguard Worker ], 221*00c7fec1SAndroid Build Coastguard Worker 222*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 223*00c7fec1SAndroid Build Coastguard Worker "liblog", 224*00c7fec1SAndroid Build Coastguard Worker ], 225*00c7fec1SAndroid Build Coastguard Worker 226*00c7fec1SAndroid Build Coastguard Worker apex_available: [ 227*00c7fec1SAndroid Build Coastguard Worker "//apex_available:platform", 228*00c7fec1SAndroid Build Coastguard Worker "com.android.runtime", 229*00c7fec1SAndroid Build Coastguard Worker ], 230*00c7fec1SAndroid Build Coastguard Worker} 231*00c7fec1SAndroid Build Coastguard Worker 232*00c7fec1SAndroid Build Coastguard Workercc_library_static { 233*00c7fec1SAndroid Build Coastguard Worker name: "libdebuggerd", 234*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 235*00c7fec1SAndroid Build Coastguard Worker ramdisk_available: true, 236*00c7fec1SAndroid Build Coastguard Worker recovery_available: true, 237*00c7fec1SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 238*00c7fec1SAndroid Build Coastguard Worker 239*00c7fec1SAndroid Build Coastguard Worker srcs: [ 240*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/backtrace.cpp", 241*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/gwp_asan.cpp", 242*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/open_files_list.cpp", 243*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/scudo.cpp", 244*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/tombstone.cpp", 245*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/tombstone_proto.cpp", 246*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/utility.cpp", 247*00c7fec1SAndroid Build Coastguard Worker ], 248*00c7fec1SAndroid Build Coastguard Worker 249*00c7fec1SAndroid Build Coastguard Worker cflags: [ 250*00c7fec1SAndroid Build Coastguard Worker "-DUSE_SCUDO", 251*00c7fec1SAndroid Build Coastguard Worker ], 252*00c7fec1SAndroid Build Coastguard Worker 253*00c7fec1SAndroid Build Coastguard Worker local_include_dirs: ["libdebuggerd/include"], 254*00c7fec1SAndroid Build Coastguard Worker export_include_dirs: ["libdebuggerd/include"], 255*00c7fec1SAndroid Build Coastguard Worker 256*00c7fec1SAndroid Build Coastguard Worker include_dirs: [ 257*00c7fec1SAndroid Build Coastguard Worker // Needed for private/bionic_fdsan.h 258*00c7fec1SAndroid Build Coastguard Worker "bionic/libc", 259*00c7fec1SAndroid Build Coastguard Worker ], 260*00c7fec1SAndroid Build Coastguard Worker header_libs: [ 261*00c7fec1SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 262*00c7fec1SAndroid Build Coastguard Worker "gwp_asan_headers", 263*00c7fec1SAndroid Build Coastguard Worker "liblog_headers", 264*00c7fec1SAndroid Build Coastguard Worker "scudo_headers", 265*00c7fec1SAndroid Build Coastguard Worker ], 266*00c7fec1SAndroid Build Coastguard Worker 267*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 268*00c7fec1SAndroid Build Coastguard Worker "libdexfile_support", // libunwindstack dependency 269*00c7fec1SAndroid Build Coastguard Worker "libunwindstack", 270*00c7fec1SAndroid Build Coastguard Worker "liblzma", 271*00c7fec1SAndroid Build Coastguard Worker "libbase", 272*00c7fec1SAndroid Build Coastguard Worker "libcutils", 273*00c7fec1SAndroid Build Coastguard Worker ], 274*00c7fec1SAndroid Build Coastguard Worker 275*00c7fec1SAndroid Build Coastguard Worker whole_static_libs: [ 276*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_tombstone_proto_to_text", 277*00c7fec1SAndroid Build Coastguard Worker "libasync_safe", 278*00c7fec1SAndroid Build Coastguard Worker "gwp_asan_crash_handler", 279*00c7fec1SAndroid Build Coastguard Worker "libtombstone_proto", 280*00c7fec1SAndroid Build Coastguard Worker "libprocinfo", 281*00c7fec1SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 282*00c7fec1SAndroid Build Coastguard Worker "libscudo", 283*00c7fec1SAndroid Build Coastguard Worker ], 284*00c7fec1SAndroid Build Coastguard Worker 285*00c7fec1SAndroid Build Coastguard Worker target: { 286*00c7fec1SAndroid Build Coastguard Worker recovery: { 287*00c7fec1SAndroid Build Coastguard Worker exclude_static_libs: [ 288*00c7fec1SAndroid Build Coastguard Worker "libdexfile_support", 289*00c7fec1SAndroid Build Coastguard Worker ], 290*00c7fec1SAndroid Build Coastguard Worker exclude_runtime_libs: [ 291*00c7fec1SAndroid Build Coastguard Worker "libdexfile", 292*00c7fec1SAndroid Build Coastguard Worker ], 293*00c7fec1SAndroid Build Coastguard Worker }, 294*00c7fec1SAndroid Build Coastguard Worker vendor_ramdisk: { 295*00c7fec1SAndroid Build Coastguard Worker exclude_static_libs: [ 296*00c7fec1SAndroid Build Coastguard Worker "libdexfile_support", 297*00c7fec1SAndroid Build Coastguard Worker ], 298*00c7fec1SAndroid Build Coastguard Worker exclude_runtime_libs: [ 299*00c7fec1SAndroid Build Coastguard Worker "libdexfile", 300*00c7fec1SAndroid Build Coastguard Worker ], 301*00c7fec1SAndroid Build Coastguard Worker }, 302*00c7fec1SAndroid Build Coastguard Worker ramdisk: { 303*00c7fec1SAndroid Build Coastguard Worker exclude_static_libs: [ 304*00c7fec1SAndroid Build Coastguard Worker "libdexfile_support", 305*00c7fec1SAndroid Build Coastguard Worker ], 306*00c7fec1SAndroid Build Coastguard Worker exclude_runtime_libs: [ 307*00c7fec1SAndroid Build Coastguard Worker "libdexfile", 308*00c7fec1SAndroid Build Coastguard Worker ], 309*00c7fec1SAndroid Build Coastguard Worker }, 310*00c7fec1SAndroid Build Coastguard Worker android: { 311*00c7fec1SAndroid Build Coastguard Worker runtime_libs: [ 312*00c7fec1SAndroid Build Coastguard Worker "libdexfile", // libdexfile_support dependency 313*00c7fec1SAndroid Build Coastguard Worker ], 314*00c7fec1SAndroid Build Coastguard Worker }, 315*00c7fec1SAndroid Build Coastguard Worker }, 316*00c7fec1SAndroid Build Coastguard Worker 317*00c7fec1SAndroid Build Coastguard Worker product_variables: { 318*00c7fec1SAndroid Build Coastguard Worker debuggable: { 319*00c7fec1SAndroid Build Coastguard Worker cflags: ["-DROOT_POSSIBLE"], 320*00c7fec1SAndroid Build Coastguard Worker }, 321*00c7fec1SAndroid Build Coastguard Worker 322*00c7fec1SAndroid Build Coastguard Worker malloc_low_memory: { 323*00c7fec1SAndroid Build Coastguard Worker cflags: ["-UUSE_SCUDO"], 324*00c7fec1SAndroid Build Coastguard Worker exclude_static_libs: ["libscudo"], 325*00c7fec1SAndroid Build Coastguard Worker }, 326*00c7fec1SAndroid Build Coastguard Worker }, 327*00c7fec1SAndroid Build Coastguard Worker apex_available: [ 328*00c7fec1SAndroid Build Coastguard Worker "com.android.runtime", 329*00c7fec1SAndroid Build Coastguard Worker ], 330*00c7fec1SAndroid Build Coastguard Worker} 331*00c7fec1SAndroid Build Coastguard Worker 332*00c7fec1SAndroid Build Coastguard Workercc_binary { 333*00c7fec1SAndroid Build Coastguard Worker name: "pbtombstone", 334*00c7fec1SAndroid Build Coastguard Worker host_supported: true, 335*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 336*00c7fec1SAndroid Build Coastguard Worker srcs: [ 337*00c7fec1SAndroid Build Coastguard Worker "pbtombstone.cpp", 338*00c7fec1SAndroid Build Coastguard Worker "tombstone_symbolize.cpp", 339*00c7fec1SAndroid Build Coastguard Worker ], 340*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 341*00c7fec1SAndroid Build Coastguard Worker "libbase", 342*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_tombstone_proto_to_text", 343*00c7fec1SAndroid Build Coastguard Worker "liblog", 344*00c7fec1SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 345*00c7fec1SAndroid Build Coastguard Worker "libtombstone_proto", 346*00c7fec1SAndroid Build Coastguard Worker ], 347*00c7fec1SAndroid Build Coastguard Worker} 348*00c7fec1SAndroid Build Coastguard Worker 349*00c7fec1SAndroid Build Coastguard Workercc_test_library { 350*00c7fec1SAndroid Build Coastguard Worker name: "libcrash_test", 351*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 352*00c7fec1SAndroid Build Coastguard Worker srcs: ["crash_test.cpp"], 353*00c7fec1SAndroid Build Coastguard Worker} 354*00c7fec1SAndroid Build Coastguard Worker 355*00c7fec1SAndroid Build Coastguard Workercc_test { 356*00c7fec1SAndroid Build Coastguard Worker name: "debuggerd_test", 357*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 358*00c7fec1SAndroid Build Coastguard Worker require_root: true, 359*00c7fec1SAndroid Build Coastguard Worker 360*00c7fec1SAndroid Build Coastguard Worker cflags: ["-Wno-missing-field-initializers"], 361*00c7fec1SAndroid Build Coastguard Worker srcs: [ 362*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/test/dump_memory_test.cpp", 363*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/test/elf_fake.cpp", 364*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/test/log_fake.cpp", 365*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/test/mte_stack_record_test.cpp", 366*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/test/open_files_list_test.cpp", 367*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd/test/tombstone_proto_to_text_test.cpp", 368*00c7fec1SAndroid Build Coastguard Worker ], 369*00c7fec1SAndroid Build Coastguard Worker 370*00c7fec1SAndroid Build Coastguard Worker target: { 371*00c7fec1SAndroid Build Coastguard Worker android: { 372*00c7fec1SAndroid Build Coastguard Worker srcs: [ 373*00c7fec1SAndroid Build Coastguard Worker "client/debuggerd_client_test.cpp", 374*00c7fec1SAndroid Build Coastguard Worker "debuggerd_test.cpp", 375*00c7fec1SAndroid Build Coastguard Worker ], 376*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 377*00c7fec1SAndroid Build Coastguard Worker "libasync_safe", 378*00c7fec1SAndroid Build Coastguard Worker "libtombstoned_client_static", 379*00c7fec1SAndroid Build Coastguard Worker ], 380*00c7fec1SAndroid Build Coastguard Worker }, 381*00c7fec1SAndroid Build Coastguard Worker }, 382*00c7fec1SAndroid Build Coastguard Worker 383*00c7fec1SAndroid Build Coastguard Worker sanitize: { 384*00c7fec1SAndroid Build Coastguard Worker memtag_heap: true, 385*00c7fec1SAndroid Build Coastguard Worker }, 386*00c7fec1SAndroid Build Coastguard Worker 387*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 388*00c7fec1SAndroid Build Coastguard Worker "libbase", 389*00c7fec1SAndroid Build Coastguard Worker "libcutils", 390*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_client", 391*00c7fec1SAndroid Build Coastguard Worker "liblog", 392*00c7fec1SAndroid Build Coastguard Worker "libnativehelper", 393*00c7fec1SAndroid Build Coastguard Worker "libunwindstack", 394*00c7fec1SAndroid Build Coastguard Worker ], 395*00c7fec1SAndroid Build Coastguard Worker 396*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 397*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd", 398*00c7fec1SAndroid Build Coastguard Worker "libgmock", 399*00c7fec1SAndroid Build Coastguard Worker "libminijail", 400*00c7fec1SAndroid Build Coastguard Worker ], 401*00c7fec1SAndroid Build Coastguard Worker 402*00c7fec1SAndroid Build Coastguard Worker header_libs: [ 403*00c7fec1SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 404*00c7fec1SAndroid Build Coastguard Worker "gwp_asan_headers", 405*00c7fec1SAndroid Build Coastguard Worker ], 406*00c7fec1SAndroid Build Coastguard Worker 407*00c7fec1SAndroid Build Coastguard Worker local_include_dirs: [ 408*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd", 409*00c7fec1SAndroid Build Coastguard Worker ], 410*00c7fec1SAndroid Build Coastguard Worker 411*00c7fec1SAndroid Build Coastguard Worker compile_multilib: "both", 412*00c7fec1SAndroid Build Coastguard Worker multilib: { 413*00c7fec1SAndroid Build Coastguard Worker lib32: { 414*00c7fec1SAndroid Build Coastguard Worker stem: "debuggerd_test32", 415*00c7fec1SAndroid Build Coastguard Worker }, 416*00c7fec1SAndroid Build Coastguard Worker lib64: { 417*00c7fec1SAndroid Build Coastguard Worker stem: "debuggerd_test64", 418*00c7fec1SAndroid Build Coastguard Worker }, 419*00c7fec1SAndroid Build Coastguard Worker }, 420*00c7fec1SAndroid Build Coastguard Worker 421*00c7fec1SAndroid Build Coastguard Worker data: [ 422*00c7fec1SAndroid Build Coastguard Worker ":libcrash_test", 423*00c7fec1SAndroid Build Coastguard Worker ], 424*00c7fec1SAndroid Build Coastguard Worker 425*00c7fec1SAndroid Build Coastguard Worker test_suites: ["device-tests"], 426*00c7fec1SAndroid Build Coastguard Worker} 427*00c7fec1SAndroid Build Coastguard Worker 428*00c7fec1SAndroid Build Coastguard Workercc_benchmark { 429*00c7fec1SAndroid Build Coastguard Worker name: "debuggerd_benchmark", 430*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 431*00c7fec1SAndroid Build Coastguard Worker srcs: ["debuggerd_benchmark.cpp"], 432*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 433*00c7fec1SAndroid Build Coastguard Worker "libbase", 434*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_client", 435*00c7fec1SAndroid Build Coastguard Worker ], 436*00c7fec1SAndroid Build Coastguard Worker} 437*00c7fec1SAndroid Build Coastguard Worker 438*00c7fec1SAndroid Build Coastguard Workercc_binary { 439*00c7fec1SAndroid Build Coastguard Worker name: "crash_dump", 440*00c7fec1SAndroid Build Coastguard Worker srcs: [ 441*00c7fec1SAndroid Build Coastguard Worker "crash_dump.cpp", 442*00c7fec1SAndroid Build Coastguard Worker "tombstone_handler.cpp", 443*00c7fec1SAndroid Build Coastguard Worker "util.cpp", 444*00c7fec1SAndroid Build Coastguard Worker ], 445*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 446*00c7fec1SAndroid Build Coastguard Worker 447*00c7fec1SAndroid Build Coastguard Worker compile_multilib: "both", 448*00c7fec1SAndroid Build Coastguard Worker multilib: { 449*00c7fec1SAndroid Build Coastguard Worker lib32: { 450*00c7fec1SAndroid Build Coastguard Worker suffix: "32", 451*00c7fec1SAndroid Build Coastguard Worker }, 452*00c7fec1SAndroid Build Coastguard Worker lib64: { 453*00c7fec1SAndroid Build Coastguard Worker suffix: "64", 454*00c7fec1SAndroid Build Coastguard Worker }, 455*00c7fec1SAndroid Build Coastguard Worker }, 456*00c7fec1SAndroid Build Coastguard Worker 457*00c7fec1SAndroid Build Coastguard Worker header_libs: [ 458*00c7fec1SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 459*00c7fec1SAndroid Build Coastguard Worker "libnative_bridge_support_accessor_headers", 460*00c7fec1SAndroid Build Coastguard Worker ], 461*00c7fec1SAndroid Build Coastguard Worker 462*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 463*00c7fec1SAndroid Build Coastguard Worker "libtombstoned_client_static", 464*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd", 465*00c7fec1SAndroid Build Coastguard Worker "libcutils", 466*00c7fec1SAndroid Build Coastguard Worker 467*00c7fec1SAndroid Build Coastguard Worker "libtombstone_proto", 468*00c7fec1SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 469*00c7fec1SAndroid Build Coastguard Worker 470*00c7fec1SAndroid Build Coastguard Worker "libnative_bridge_guest_state_accessor", 471*00c7fec1SAndroid Build Coastguard Worker ], 472*00c7fec1SAndroid Build Coastguard Worker 473*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 474*00c7fec1SAndroid Build Coastguard Worker "libbase", 475*00c7fec1SAndroid Build Coastguard Worker "liblog", 476*00c7fec1SAndroid Build Coastguard Worker "libprocinfo", 477*00c7fec1SAndroid Build Coastguard Worker "libunwindstack", 478*00c7fec1SAndroid Build Coastguard Worker ], 479*00c7fec1SAndroid Build Coastguard Worker 480*00c7fec1SAndroid Build Coastguard Worker apex_available: [ 481*00c7fec1SAndroid Build Coastguard Worker "com.android.runtime", 482*00c7fec1SAndroid Build Coastguard Worker ], 483*00c7fec1SAndroid Build Coastguard Worker 484*00c7fec1SAndroid Build Coastguard Worker // Required for tests. 485*00c7fec1SAndroid Build Coastguard Worker required: ["crash_dump.policy"], 486*00c7fec1SAndroid Build Coastguard Worker 487*00c7fec1SAndroid Build Coastguard Worker target: { 488*00c7fec1SAndroid Build Coastguard Worker android: { 489*00c7fec1SAndroid Build Coastguard Worker header_libs: [ 490*00c7fec1SAndroid Build Coastguard Worker "libnative_bridge_support_accessor_headers", // For dlext_namespaces.h 491*00c7fec1SAndroid Build Coastguard Worker ], 492*00c7fec1SAndroid Build Coastguard Worker shared_libs: ["libdl_android"], // For android_get_exported_namespace implementation 493*00c7fec1SAndroid Build Coastguard Worker }, 494*00c7fec1SAndroid Build Coastguard Worker }, 495*00c7fec1SAndroid Build Coastguard Worker} 496*00c7fec1SAndroid Build Coastguard Worker 497*00c7fec1SAndroid Build Coastguard Workercc_binary { 498*00c7fec1SAndroid Build Coastguard Worker name: "debuggerd", 499*00c7fec1SAndroid Build Coastguard Worker srcs: [ 500*00c7fec1SAndroid Build Coastguard Worker "debuggerd.cpp", 501*00c7fec1SAndroid Build Coastguard Worker ], 502*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 503*00c7fec1SAndroid Build Coastguard Worker 504*00c7fec1SAndroid Build Coastguard Worker shared_libs: [ 505*00c7fec1SAndroid Build Coastguard Worker "libbase", 506*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_client", 507*00c7fec1SAndroid Build Coastguard Worker "liblog", 508*00c7fec1SAndroid Build Coastguard Worker "libprocessgroup", 509*00c7fec1SAndroid Build Coastguard Worker "libprocinfo", 510*00c7fec1SAndroid Build Coastguard Worker ], 511*00c7fec1SAndroid Build Coastguard Worker 512*00c7fec1SAndroid Build Coastguard Worker local_include_dirs: ["include"], 513*00c7fec1SAndroid Build Coastguard Worker} 514*00c7fec1SAndroid Build Coastguard Worker 515*00c7fec1SAndroid Build Coastguard Workercc_defaults { 516*00c7fec1SAndroid Build Coastguard Worker name: "tombstoned_defaults", 517*00c7fec1SAndroid Build Coastguard Worker srcs: [ 518*00c7fec1SAndroid Build Coastguard Worker "util.cpp", 519*00c7fec1SAndroid Build Coastguard Worker "tombstoned/intercept_manager.cpp", 520*00c7fec1SAndroid Build Coastguard Worker "tombstoned/tombstoned.cpp", 521*00c7fec1SAndroid Build Coastguard Worker ], 522*00c7fec1SAndroid Build Coastguard Worker defaults: ["debuggerd_defaults"], 523*00c7fec1SAndroid Build Coastguard Worker 524*00c7fec1SAndroid Build Coastguard Worker header_libs: [ 525*00c7fec1SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 526*00c7fec1SAndroid Build Coastguard Worker "libdebuggerd_common_headers", 527*00c7fec1SAndroid Build Coastguard Worker ], 528*00c7fec1SAndroid Build Coastguard Worker 529*00c7fec1SAndroid Build Coastguard Worker static_libs: [ 530*00c7fec1SAndroid Build Coastguard Worker "libbase", 531*00c7fec1SAndroid Build Coastguard Worker "libcutils", 532*00c7fec1SAndroid Build Coastguard Worker "libevent", 533*00c7fec1SAndroid Build Coastguard Worker "liblog", 534*00c7fec1SAndroid Build Coastguard Worker ], 535*00c7fec1SAndroid Build Coastguard Worker} 536*00c7fec1SAndroid Build Coastguard Worker 537*00c7fec1SAndroid Build Coastguard Workercc_binary { 538*00c7fec1SAndroid Build Coastguard Worker name: "tombstoned", 539*00c7fec1SAndroid Build Coastguard Worker defaults: ["tombstoned_defaults"], 540*00c7fec1SAndroid Build Coastguard Worker init_rc: ["tombstoned/tombstoned.rc"], 541*00c7fec1SAndroid Build Coastguard Worker} 542*00c7fec1SAndroid Build Coastguard Worker 543*00c7fec1SAndroid Build Coastguard Workercc_binary { 544*00c7fec1SAndroid Build Coastguard Worker name: "tombstoned.microdroid", 545*00c7fec1SAndroid Build Coastguard Worker defaults: ["tombstoned_defaults"], 546*00c7fec1SAndroid Build Coastguard Worker init_rc: ["tombstoned/tombstoned.microdroid.rc"], 547*00c7fec1SAndroid Build Coastguard Worker} 548*00c7fec1SAndroid Build Coastguard Worker 549*00c7fec1SAndroid Build Coastguard Workerprebuilt_etc { 550*00c7fec1SAndroid Build Coastguard Worker name: "crash_dump.policy", 551*00c7fec1SAndroid Build Coastguard Worker sub_dir: "seccomp_policy", 552*00c7fec1SAndroid Build Coastguard Worker filename_from_src: true, 553*00c7fec1SAndroid Build Coastguard Worker arch: { 554*00c7fec1SAndroid Build Coastguard Worker arm: { 555*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.arm.policy", 556*00c7fec1SAndroid Build Coastguard Worker required: [ 557*00c7fec1SAndroid Build Coastguard Worker "crash_dump.policy_other", 558*00c7fec1SAndroid Build Coastguard Worker ], 559*00c7fec1SAndroid Build Coastguard Worker }, 560*00c7fec1SAndroid Build Coastguard Worker arm64: { 561*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.arm64.policy", 562*00c7fec1SAndroid Build Coastguard Worker required: [ 563*00c7fec1SAndroid Build Coastguard Worker "crash_dump.policy_other", 564*00c7fec1SAndroid Build Coastguard Worker ], 565*00c7fec1SAndroid Build Coastguard Worker }, 566*00c7fec1SAndroid Build Coastguard Worker riscv64: { 567*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.riscv64.policy", 568*00c7fec1SAndroid Build Coastguard Worker }, 569*00c7fec1SAndroid Build Coastguard Worker x86: { 570*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.x86.policy", 571*00c7fec1SAndroid Build Coastguard Worker required: [ 572*00c7fec1SAndroid Build Coastguard Worker "crash_dump.policy_other", 573*00c7fec1SAndroid Build Coastguard Worker ], 574*00c7fec1SAndroid Build Coastguard Worker }, 575*00c7fec1SAndroid Build Coastguard Worker x86_64: { 576*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.x86_64.policy", 577*00c7fec1SAndroid Build Coastguard Worker required: [ 578*00c7fec1SAndroid Build Coastguard Worker "crash_dump.policy_other", 579*00c7fec1SAndroid Build Coastguard Worker ], 580*00c7fec1SAndroid Build Coastguard Worker }, 581*00c7fec1SAndroid Build Coastguard Worker }, 582*00c7fec1SAndroid Build Coastguard Worker} 583*00c7fec1SAndroid Build Coastguard Worker 584*00c7fec1SAndroid Build Coastguard Worker// This installs the "other" architecture (so 32-bit on 64-bit device). 585*00c7fec1SAndroid Build Coastguard Workerprebuilt_etc { 586*00c7fec1SAndroid Build Coastguard Worker name: "crash_dump.policy_other", 587*00c7fec1SAndroid Build Coastguard Worker sub_dir: "seccomp_policy", 588*00c7fec1SAndroid Build Coastguard Worker filename_from_src: true, 589*00c7fec1SAndroid Build Coastguard Worker arch: { 590*00c7fec1SAndroid Build Coastguard Worker arm: { 591*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.arm64.policy", 592*00c7fec1SAndroid Build Coastguard Worker }, 593*00c7fec1SAndroid Build Coastguard Worker arm64: { 594*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.arm.policy", 595*00c7fec1SAndroid Build Coastguard Worker }, 596*00c7fec1SAndroid Build Coastguard Worker riscv64: { 597*00c7fec1SAndroid Build Coastguard Worker enabled: false, 598*00c7fec1SAndroid Build Coastguard Worker }, 599*00c7fec1SAndroid Build Coastguard Worker x86: { 600*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.x86_64.policy", 601*00c7fec1SAndroid Build Coastguard Worker }, 602*00c7fec1SAndroid Build Coastguard Worker x86_64: { 603*00c7fec1SAndroid Build Coastguard Worker src: "seccomp_policy/crash_dump.x86.policy", 604*00c7fec1SAndroid Build Coastguard Worker }, 605*00c7fec1SAndroid Build Coastguard Worker }, 606*00c7fec1SAndroid Build Coastguard Worker} 607