1*eb293b8fSAndroid Build Coastguard Worker// 2*eb293b8fSAndroid Build Coastguard Worker// Copyright (C) 2017 The Android Open Source Project 3*eb293b8fSAndroid Build Coastguard Worker// 4*eb293b8fSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*eb293b8fSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*eb293b8fSAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*eb293b8fSAndroid Build Coastguard Worker// 8*eb293b8fSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*eb293b8fSAndroid Build Coastguard Worker// 10*eb293b8fSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*eb293b8fSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*eb293b8fSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*eb293b8fSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*eb293b8fSAndroid Build Coastguard Worker// limitations under the License. 15*eb293b8fSAndroid Build Coastguard Worker// 16*eb293b8fSAndroid Build Coastguard Worker 17*eb293b8fSAndroid Build Coastguard Workerpackage { 18*eb293b8fSAndroid Build Coastguard Worker default_team: "trendy_team_native_tools_libraries", 19*eb293b8fSAndroid Build Coastguard Worker default_applicable_licenses: [ 20*eb293b8fSAndroid Build Coastguard Worker "Android-Apache-2.0", 21*eb293b8fSAndroid Build Coastguard Worker "system_unwinding_libunwindstack_license", 22*eb293b8fSAndroid Build Coastguard Worker ], 23*eb293b8fSAndroid Build Coastguard Worker} 24*eb293b8fSAndroid Build Coastguard Worker 25*eb293b8fSAndroid Build Coastguard Workerlicense { 26*eb293b8fSAndroid Build Coastguard Worker name: "system_unwinding_libunwindstack_license", 27*eb293b8fSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 28*eb293b8fSAndroid Build Coastguard Worker license_kinds: [ 29*eb293b8fSAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 30*eb293b8fSAndroid Build Coastguard Worker ], 31*eb293b8fSAndroid Build Coastguard Worker license_text: ["LICENSE_BSD"], 32*eb293b8fSAndroid Build Coastguard Worker} 33*eb293b8fSAndroid Build Coastguard Worker 34*eb293b8fSAndroid Build Coastguard Workercc_defaults { 35*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_flags", 36*eb293b8fSAndroid Build Coastguard Worker 37*eb293b8fSAndroid Build Coastguard Worker host_supported: true, 38*eb293b8fSAndroid Build Coastguard Worker 39*eb293b8fSAndroid Build Coastguard Worker cflags: [ 40*eb293b8fSAndroid Build Coastguard Worker "-Wall", 41*eb293b8fSAndroid Build Coastguard Worker "-Werror", 42*eb293b8fSAndroid Build Coastguard Worker "-Wextra", 43*eb293b8fSAndroid Build Coastguard Worker "-Wno-deprecated-volatile", 44*eb293b8fSAndroid Build Coastguard Worker // Disable this warning, it doesn't provide any useful data. 45*eb293b8fSAndroid Build Coastguard Worker "-Wno-reorder-init-list", 46*eb293b8fSAndroid Build Coastguard Worker ], 47*eb293b8fSAndroid Build Coastguard Worker 48*eb293b8fSAndroid Build Coastguard Worker target: { 49*eb293b8fSAndroid Build Coastguard Worker darwin: { 50*eb293b8fSAndroid Build Coastguard Worker enabled: false, 51*eb293b8fSAndroid Build Coastguard Worker }, 52*eb293b8fSAndroid Build Coastguard Worker linux_bionic: { 53*eb293b8fSAndroid Build Coastguard Worker enabled: true, 54*eb293b8fSAndroid Build Coastguard Worker }, 55*eb293b8fSAndroid Build Coastguard Worker }, 56*eb293b8fSAndroid Build Coastguard Worker} 57*eb293b8fSAndroid Build Coastguard Worker 58*eb293b8fSAndroid Build Coastguard Workerlibunwindstack_common_src_files = [ 59*eb293b8fSAndroid Build Coastguard Worker "AndroidUnwinder.cpp", 60*eb293b8fSAndroid Build Coastguard Worker "ArmExidx.cpp", 61*eb293b8fSAndroid Build Coastguard Worker "Demangle.cpp", 62*eb293b8fSAndroid Build Coastguard Worker "DexFiles.cpp", 63*eb293b8fSAndroid Build Coastguard Worker "DwarfCfa.cpp", 64*eb293b8fSAndroid Build Coastguard Worker "DwarfEhFrameWithHdr.cpp", 65*eb293b8fSAndroid Build Coastguard Worker "DwarfMemory.cpp", 66*eb293b8fSAndroid Build Coastguard Worker "DwarfOp.cpp", 67*eb293b8fSAndroid Build Coastguard Worker "DwarfSection.cpp", 68*eb293b8fSAndroid Build Coastguard Worker "Elf.cpp", 69*eb293b8fSAndroid Build Coastguard Worker "ElfInterface.cpp", 70*eb293b8fSAndroid Build Coastguard Worker "ElfInterfaceArm.cpp", 71*eb293b8fSAndroid Build Coastguard Worker "Global.cpp", 72*eb293b8fSAndroid Build Coastguard Worker "JitDebug.cpp", 73*eb293b8fSAndroid Build Coastguard Worker "MapInfo.cpp", 74*eb293b8fSAndroid Build Coastguard Worker "Maps.cpp", 75*eb293b8fSAndroid Build Coastguard Worker "Memory.cpp", 76*eb293b8fSAndroid Build Coastguard Worker "MemoryMte.cpp", 77*eb293b8fSAndroid Build Coastguard Worker "MemoryXz.cpp", 78*eb293b8fSAndroid Build Coastguard Worker "Regs.cpp", 79*eb293b8fSAndroid Build Coastguard Worker "RegsArm.cpp", 80*eb293b8fSAndroid Build Coastguard Worker "RegsArm64.cpp", 81*eb293b8fSAndroid Build Coastguard Worker "RegsX86.cpp", 82*eb293b8fSAndroid Build Coastguard Worker "RegsX86_64.cpp", 83*eb293b8fSAndroid Build Coastguard Worker "RegsRiscv64.cpp", 84*eb293b8fSAndroid Build Coastguard Worker "Symbols.cpp", 85*eb293b8fSAndroid Build Coastguard Worker "ThreadEntry.cpp", 86*eb293b8fSAndroid Build Coastguard Worker "ThreadUnwinder.cpp", 87*eb293b8fSAndroid Build Coastguard Worker "Unwinder.cpp", 88*eb293b8fSAndroid Build Coastguard Worker] 89*eb293b8fSAndroid Build Coastguard Worker 90*eb293b8fSAndroid Build Coastguard Workercc_defaults { 91*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_defaults", 92*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_flags"], 93*eb293b8fSAndroid Build Coastguard Worker export_include_dirs: ["include"], 94*eb293b8fSAndroid Build Coastguard Worker 95*eb293b8fSAndroid Build Coastguard Worker srcs: libunwindstack_common_src_files, 96*eb293b8fSAndroid Build Coastguard Worker 97*eb293b8fSAndroid Build Coastguard Worker cflags: [ 98*eb293b8fSAndroid Build Coastguard Worker "-Wexit-time-destructors", 99*eb293b8fSAndroid Build Coastguard Worker "-fno-c++-static-destructors", 100*eb293b8fSAndroid Build Coastguard Worker ], 101*eb293b8fSAndroid Build Coastguard Worker 102*eb293b8fSAndroid Build Coastguard Worker target: { 103*eb293b8fSAndroid Build Coastguard Worker host: { 104*eb293b8fSAndroid Build Coastguard Worker // Always disable optimizations for host to make it easier to debug. 105*eb293b8fSAndroid Build Coastguard Worker cflags: [ 106*eb293b8fSAndroid Build Coastguard Worker "-O0", 107*eb293b8fSAndroid Build Coastguard Worker "-g", 108*eb293b8fSAndroid Build Coastguard Worker ], 109*eb293b8fSAndroid Build Coastguard Worker }, 110*eb293b8fSAndroid Build Coastguard Worker bionic: { 111*eb293b8fSAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 112*eb293b8fSAndroid Build Coastguard Worker whole_static_libs: ["libasync_safe"], 113*eb293b8fSAndroid Build Coastguard Worker }, 114*eb293b8fSAndroid Build Coastguard Worker }, 115*eb293b8fSAndroid Build Coastguard Worker 116*eb293b8fSAndroid Build Coastguard Worker arch: { 117*eb293b8fSAndroid Build Coastguard Worker x86: { 118*eb293b8fSAndroid Build Coastguard Worker srcs: ["AsmGetRegsX86.S"], 119*eb293b8fSAndroid Build Coastguard Worker }, 120*eb293b8fSAndroid Build Coastguard Worker x86_64: { 121*eb293b8fSAndroid Build Coastguard Worker srcs: ["AsmGetRegsX86_64.S"], 122*eb293b8fSAndroid Build Coastguard Worker }, 123*eb293b8fSAndroid Build Coastguard Worker }, 124*eb293b8fSAndroid Build Coastguard Worker 125*eb293b8fSAndroid Build Coastguard Worker static_libs: [ 126*eb293b8fSAndroid Build Coastguard Worker "libprocinfo", 127*eb293b8fSAndroid Build Coastguard Worker ], 128*eb293b8fSAndroid Build Coastguard Worker 129*eb293b8fSAndroid Build Coastguard Worker whole_static_libs: [ 130*eb293b8fSAndroid Build Coastguard Worker "librustc_demangle_static", 131*eb293b8fSAndroid Build Coastguard Worker "libzstd", 132*eb293b8fSAndroid Build Coastguard Worker ], 133*eb293b8fSAndroid Build Coastguard Worker 134*eb293b8fSAndroid Build Coastguard Worker shared_libs: [ 135*eb293b8fSAndroid Build Coastguard Worker "libbase", 136*eb293b8fSAndroid Build Coastguard Worker "liblog", 137*eb293b8fSAndroid Build Coastguard Worker "liblzma", 138*eb293b8fSAndroid Build Coastguard Worker "libz", 139*eb293b8fSAndroid Build Coastguard Worker ], 140*eb293b8fSAndroid Build Coastguard Worker} 141*eb293b8fSAndroid Build Coastguard Worker 142*eb293b8fSAndroid Build Coastguard Workercc_library { 143*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack", 144*eb293b8fSAndroid Build Coastguard Worker ramdisk_available: true, 145*eb293b8fSAndroid Build Coastguard Worker vendor_available: true, 146*eb293b8fSAndroid Build Coastguard Worker product_available: true, 147*eb293b8fSAndroid Build Coastguard Worker recovery_available: true, 148*eb293b8fSAndroid Build Coastguard Worker vendor_ramdisk_available: true, 149*eb293b8fSAndroid Build Coastguard Worker // TODO(b/153609531): remove when no longer needed. 150*eb293b8fSAndroid Build Coastguard Worker native_bridge_supported: true, 151*eb293b8fSAndroid Build Coastguard Worker double_loadable: true, 152*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_defaults"], 153*eb293b8fSAndroid Build Coastguard Worker srcs: [ 154*eb293b8fSAndroid Build Coastguard Worker "DexFile.cpp", 155*eb293b8fSAndroid Build Coastguard Worker "LogAndroid.cpp", 156*eb293b8fSAndroid Build Coastguard Worker ], 157*eb293b8fSAndroid Build Coastguard Worker cflags: ["-DDEXFILE_SUPPORT"], 158*eb293b8fSAndroid Build Coastguard Worker static_libs: ["libdexfile_support"], 159*eb293b8fSAndroid Build Coastguard Worker 160*eb293b8fSAndroid Build Coastguard Worker target: { 161*eb293b8fSAndroid Build Coastguard Worker vendor: { 162*eb293b8fSAndroid Build Coastguard Worker cflags: ["-UDEXFILE_SUPPORT"], 163*eb293b8fSAndroid Build Coastguard Worker exclude_srcs: ["DexFile.cpp"], 164*eb293b8fSAndroid Build Coastguard Worker exclude_static_libs: ["libdexfile_support"], 165*eb293b8fSAndroid Build Coastguard Worker exclude_runtime_libs: ["libdexfile"], 166*eb293b8fSAndroid Build Coastguard Worker }, 167*eb293b8fSAndroid Build Coastguard Worker product: { 168*eb293b8fSAndroid Build Coastguard Worker cflags: ["-UDEXFILE_SUPPORT"], 169*eb293b8fSAndroid Build Coastguard Worker exclude_srcs: ["DexFile.cpp"], 170*eb293b8fSAndroid Build Coastguard Worker exclude_static_libs: ["libdexfile_support"], 171*eb293b8fSAndroid Build Coastguard Worker exclude_runtime_libs: ["libdexfile"], 172*eb293b8fSAndroid Build Coastguard Worker }, 173*eb293b8fSAndroid Build Coastguard Worker recovery: { 174*eb293b8fSAndroid Build Coastguard Worker cflags: ["-UDEXFILE_SUPPORT"], 175*eb293b8fSAndroid Build Coastguard Worker exclude_srcs: ["DexFile.cpp"], 176*eb293b8fSAndroid Build Coastguard Worker exclude_static_libs: ["libdexfile_support"], 177*eb293b8fSAndroid Build Coastguard Worker exclude_runtime_libs: ["libdexfile"], 178*eb293b8fSAndroid Build Coastguard Worker }, 179*eb293b8fSAndroid Build Coastguard Worker vendor_ramdisk: { 180*eb293b8fSAndroid Build Coastguard Worker cflags: ["-UDEXFILE_SUPPORT"], 181*eb293b8fSAndroid Build Coastguard Worker exclude_srcs: ["DexFile.cpp"], 182*eb293b8fSAndroid Build Coastguard Worker exclude_static_libs: ["libdexfile_support"], 183*eb293b8fSAndroid Build Coastguard Worker exclude_runtime_libs: ["libdexfile"], 184*eb293b8fSAndroid Build Coastguard Worker }, 185*eb293b8fSAndroid Build Coastguard Worker ramdisk: { 186*eb293b8fSAndroid Build Coastguard Worker cflags: ["-UDEXFILE_SUPPORT"], 187*eb293b8fSAndroid Build Coastguard Worker exclude_srcs: ["DexFile.cpp"], 188*eb293b8fSAndroid Build Coastguard Worker exclude_static_libs: ["libdexfile_support"], 189*eb293b8fSAndroid Build Coastguard Worker exclude_runtime_libs: ["libdexfile"], 190*eb293b8fSAndroid Build Coastguard Worker }, 191*eb293b8fSAndroid Build Coastguard Worker native_bridge: { 192*eb293b8fSAndroid Build Coastguard Worker cflags: ["-UDEXFILE_SUPPORT"], 193*eb293b8fSAndroid Build Coastguard Worker exclude_srcs: ["DexFile.cpp"], 194*eb293b8fSAndroid Build Coastguard Worker exclude_static_libs: ["libdexfile_support"], 195*eb293b8fSAndroid Build Coastguard Worker exclude_runtime_libs: ["libdexfile"], 196*eb293b8fSAndroid Build Coastguard Worker }, 197*eb293b8fSAndroid Build Coastguard Worker android: { 198*eb293b8fSAndroid Build Coastguard Worker runtime_libs: ["libdexfile"], // libdexfile_support dependency 199*eb293b8fSAndroid Build Coastguard Worker }, 200*eb293b8fSAndroid Build Coastguard Worker linux: { 201*eb293b8fSAndroid Build Coastguard Worker runtime_libs: ["libdexfile"], // libdexfile_support dependency 202*eb293b8fSAndroid Build Coastguard Worker }, 203*eb293b8fSAndroid Build Coastguard Worker musl: { 204*eb293b8fSAndroid Build Coastguard Worker cflags: ["-DNT_RISCV_VECTOR=0x901"], 205*eb293b8fSAndroid Build Coastguard Worker }, 206*eb293b8fSAndroid Build Coastguard Worker }, 207*eb293b8fSAndroid Build Coastguard Worker 208*eb293b8fSAndroid Build Coastguard Worker arch: { 209*eb293b8fSAndroid Build Coastguard Worker arm: { 210*eb293b8fSAndroid Build Coastguard Worker version_script: "exported.map", 211*eb293b8fSAndroid Build Coastguard Worker }, 212*eb293b8fSAndroid Build Coastguard Worker arm64: { 213*eb293b8fSAndroid Build Coastguard Worker version_script: "exported.map", 214*eb293b8fSAndroid Build Coastguard Worker }, 215*eb293b8fSAndroid Build Coastguard Worker riscv64: { 216*eb293b8fSAndroid Build Coastguard Worker version_script: "exported.map", 217*eb293b8fSAndroid Build Coastguard Worker }, 218*eb293b8fSAndroid Build Coastguard Worker x86: { 219*eb293b8fSAndroid Build Coastguard Worker version_script: "exported_x86.map", 220*eb293b8fSAndroid Build Coastguard Worker }, 221*eb293b8fSAndroid Build Coastguard Worker x86_64: { 222*eb293b8fSAndroid Build Coastguard Worker version_script: "exported_x86.map", 223*eb293b8fSAndroid Build Coastguard Worker }, 224*eb293b8fSAndroid Build Coastguard Worker }, 225*eb293b8fSAndroid Build Coastguard Worker 226*eb293b8fSAndroid Build Coastguard Worker apex_available: [ 227*eb293b8fSAndroid Build Coastguard Worker "//apex_available:platform", 228*eb293b8fSAndroid Build Coastguard Worker "com.android.art", 229*eb293b8fSAndroid Build Coastguard Worker "com.android.art.debug", 230*eb293b8fSAndroid Build Coastguard Worker "com.android.runtime", 231*eb293b8fSAndroid Build Coastguard Worker ], 232*eb293b8fSAndroid Build Coastguard Worker min_sdk_version: "29", 233*eb293b8fSAndroid Build Coastguard Worker} 234*eb293b8fSAndroid Build Coastguard Worker 235*eb293b8fSAndroid Build Coastguard Worker// Make sure that the code can be compiled without Android Logging. 236*eb293b8fSAndroid Build Coastguard Workercc_library_static { 237*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_stdout_log", 238*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_defaults"], 239*eb293b8fSAndroid Build Coastguard Worker srcs: [ 240*eb293b8fSAndroid Build Coastguard Worker "LogStdout.cpp", 241*eb293b8fSAndroid Build Coastguard Worker ], 242*eb293b8fSAndroid Build Coastguard Worker target: { 243*eb293b8fSAndroid Build Coastguard Worker android: { 244*eb293b8fSAndroid Build Coastguard Worker srcs: [ 245*eb293b8fSAndroid Build Coastguard Worker "AndroidLogStdout.cpp", 246*eb293b8fSAndroid Build Coastguard Worker "DexFile.cpp", 247*eb293b8fSAndroid Build Coastguard Worker ], 248*eb293b8fSAndroid Build Coastguard Worker cflags: ["-DDEXFILE_SUPPORT"], 249*eb293b8fSAndroid Build Coastguard Worker whole_static_libs: ["libdexfile_support"], 250*eb293b8fSAndroid Build Coastguard Worker }, 251*eb293b8fSAndroid Build Coastguard Worker }, 252*eb293b8fSAndroid Build Coastguard Worker whole_static_libs: [ 253*eb293b8fSAndroid Build Coastguard Worker "liblzma", 254*eb293b8fSAndroid Build Coastguard Worker "libz", 255*eb293b8fSAndroid Build Coastguard Worker ], 256*eb293b8fSAndroid Build Coastguard Worker} 257*eb293b8fSAndroid Build Coastguard Worker 258*eb293b8fSAndroid Build Coastguard Worker// Static library without DEX support to avoid dependencies on the ART APEX. 259*eb293b8fSAndroid Build Coastguard Workercc_library_static { 260*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_no_dex", 261*eb293b8fSAndroid Build Coastguard Worker ramdisk_available: true, 262*eb293b8fSAndroid Build Coastguard Worker recovery_available: true, 263*eb293b8fSAndroid Build Coastguard Worker vendor_ramdisk_available: true, 264*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_defaults"], 265*eb293b8fSAndroid Build Coastguard Worker srcs: ["LogAndroid.cpp"], 266*eb293b8fSAndroid Build Coastguard Worker 267*eb293b8fSAndroid Build Coastguard Worker visibility: [ 268*eb293b8fSAndroid Build Coastguard Worker "//external/gwp_asan", 269*eb293b8fSAndroid Build Coastguard Worker "//system/core/debuggerd", 270*eb293b8fSAndroid Build Coastguard Worker "//system/core/init", 271*eb293b8fSAndroid Build Coastguard Worker "//system/core/libutils", 272*eb293b8fSAndroid Build Coastguard Worker "//system/unwinding/libbacktrace", 273*eb293b8fSAndroid Build Coastguard Worker ], 274*eb293b8fSAndroid Build Coastguard Worker apex_available: [ 275*eb293b8fSAndroid Build Coastguard Worker "//apex_available:platform", 276*eb293b8fSAndroid Build Coastguard Worker "com.android.runtime", 277*eb293b8fSAndroid Build Coastguard Worker ], 278*eb293b8fSAndroid Build Coastguard Worker} 279*eb293b8fSAndroid Build Coastguard Worker 280*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 281*eb293b8fSAndroid Build Coastguard Worker// Utils 282*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 283*eb293b8fSAndroid Build Coastguard Workercc_library { 284*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_utils", 285*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_flags"], 286*eb293b8fSAndroid Build Coastguard Worker export_include_dirs: ["utils"], 287*eb293b8fSAndroid Build Coastguard Worker shared_libs: [ 288*eb293b8fSAndroid Build Coastguard Worker "libbase", 289*eb293b8fSAndroid Build Coastguard Worker "libunwindstack", 290*eb293b8fSAndroid Build Coastguard Worker ], 291*eb293b8fSAndroid Build Coastguard Worker whole_static_libs: [ 292*eb293b8fSAndroid Build Coastguard Worker "libprocinfo", 293*eb293b8fSAndroid Build Coastguard Worker "libz", 294*eb293b8fSAndroid Build Coastguard Worker ], 295*eb293b8fSAndroid Build Coastguard Worker srcs: [ 296*eb293b8fSAndroid Build Coastguard Worker "utils/MemoryFake.cpp", 297*eb293b8fSAndroid Build Coastguard Worker "utils/OfflineUnwindUtils.cpp", 298*eb293b8fSAndroid Build Coastguard Worker "utils/PidUtils.cpp", 299*eb293b8fSAndroid Build Coastguard Worker "utils/ProcessTracer.cpp", 300*eb293b8fSAndroid Build Coastguard Worker ], 301*eb293b8fSAndroid Build Coastguard Worker} 302*eb293b8fSAndroid Build Coastguard Worker 303*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 304*eb293b8fSAndroid Build Coastguard Worker// Unit Tests 305*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 306*eb293b8fSAndroid Build Coastguard Workercc_library_shared { 307*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_local", 308*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_flags"], 309*eb293b8fSAndroid Build Coastguard Worker srcs: ["tests/TestLocal.cpp"], 310*eb293b8fSAndroid Build Coastguard Worker 311*eb293b8fSAndroid Build Coastguard Worker cflags: [ 312*eb293b8fSAndroid Build Coastguard Worker "-O0", 313*eb293b8fSAndroid Build Coastguard Worker "-g", 314*eb293b8fSAndroid Build Coastguard Worker ], 315*eb293b8fSAndroid Build Coastguard Worker 316*eb293b8fSAndroid Build Coastguard Worker shared_libs: [ 317*eb293b8fSAndroid Build Coastguard Worker "libunwindstack", 318*eb293b8fSAndroid Build Coastguard Worker ], 319*eb293b8fSAndroid Build Coastguard Worker} 320*eb293b8fSAndroid Build Coastguard Worker 321*eb293b8fSAndroid Build Coastguard Workercc_defaults { 322*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_testlib_flags", 323*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_flags"], 324*eb293b8fSAndroid Build Coastguard Worker 325*eb293b8fSAndroid Build Coastguard Worker srcs: [ 326*eb293b8fSAndroid Build Coastguard Worker "tests/AndroidUnwinderTest.cpp", 327*eb293b8fSAndroid Build Coastguard Worker "tests/ArmExidxDecodeTest.cpp", 328*eb293b8fSAndroid Build Coastguard Worker "tests/ArmExidxExtractTest.cpp", 329*eb293b8fSAndroid Build Coastguard Worker "tests/DemangleTest.cpp", 330*eb293b8fSAndroid Build Coastguard Worker "tests/DexFileTest.cpp", 331*eb293b8fSAndroid Build Coastguard Worker "tests/DexFilesTest.cpp", 332*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfCfaLogTest.cpp", 333*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfCfaTest.cpp", 334*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfDebugFrameTest.cpp", 335*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfEhFrameTest.cpp", 336*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfEhFrameWithHdrTest.cpp", 337*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfMemoryTest.cpp", 338*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfOpLogTest.cpp", 339*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfOpTest.cpp", 340*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfSectionTest.cpp", 341*eb293b8fSAndroid Build Coastguard Worker "tests/DwarfSectionImplTest.cpp", 342*eb293b8fSAndroid Build Coastguard Worker "tests/ElfCacheTest.cpp", 343*eb293b8fSAndroid Build Coastguard Worker "tests/ElfFake.cpp", 344*eb293b8fSAndroid Build Coastguard Worker "tests/ElfInterfaceArmTest.cpp", 345*eb293b8fSAndroid Build Coastguard Worker "tests/ElfInterfaceTest.cpp", 346*eb293b8fSAndroid Build Coastguard Worker "tests/ElfTest.cpp", 347*eb293b8fSAndroid Build Coastguard Worker "tests/ElfTestUtils.cpp", 348*eb293b8fSAndroid Build Coastguard Worker "tests/GlobalDebugImplTest.cpp", 349*eb293b8fSAndroid Build Coastguard Worker "tests/GlobalTest.cpp", 350*eb293b8fSAndroid Build Coastguard Worker "tests/IsolatedSettings.cpp", 351*eb293b8fSAndroid Build Coastguard Worker "tests/JitDebugTest.cpp", 352*eb293b8fSAndroid Build Coastguard Worker "tests/LocalUpdatableMapsTest.cpp", 353*eb293b8fSAndroid Build Coastguard Worker "tests/LogFake.cpp", 354*eb293b8fSAndroid Build Coastguard Worker "tests/MapInfoCreateMemoryTest.cpp", 355*eb293b8fSAndroid Build Coastguard Worker "tests/MapInfoGetBuildIDTest.cpp", 356*eb293b8fSAndroid Build Coastguard Worker "tests/MapInfoGetElfTest.cpp", 357*eb293b8fSAndroid Build Coastguard Worker "tests/MapInfoGetLoadBiasTest.cpp", 358*eb293b8fSAndroid Build Coastguard Worker "tests/MapInfoTest.cpp", 359*eb293b8fSAndroid Build Coastguard Worker "tests/MapsTest.cpp", 360*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryBufferTest.cpp", 361*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryCacheTest.cpp", 362*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryFileTest.cpp", 363*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryLocalTest.cpp", 364*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryLocalUnsafeTest.cpp", 365*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryOfflineBufferTest.cpp", 366*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryOfflineTest.cpp", 367*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryRangeTest.cpp", 368*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryRangesTest.cpp", 369*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryRemoteTest.cpp", 370*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryTest.cpp", 371*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryThreadCacheTest.cpp", 372*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryMteTest.cpp", 373*eb293b8fSAndroid Build Coastguard Worker "tests/MemoryXzTest.cpp", 374*eb293b8fSAndroid Build Coastguard Worker "tests/RegsInfoTest.cpp", 375*eb293b8fSAndroid Build Coastguard Worker "tests/RegsIterateTest.cpp", 376*eb293b8fSAndroid Build Coastguard Worker "tests/RegsRemoteTest.cpp", 377*eb293b8fSAndroid Build Coastguard Worker "tests/RegsStepIfSignalHandlerTest.cpp", 378*eb293b8fSAndroid Build Coastguard Worker "tests/RegsTest.cpp", 379*eb293b8fSAndroid Build Coastguard Worker "tests/SymbolsTest.cpp", 380*eb293b8fSAndroid Build Coastguard Worker "tests/TestUtils.cpp", 381*eb293b8fSAndroid Build Coastguard Worker "tests/UnwindOfflineTest.cpp", 382*eb293b8fSAndroid Build Coastguard Worker "tests/UnwindTest.cpp", 383*eb293b8fSAndroid Build Coastguard Worker "tests/UnwinderTest.cpp", 384*eb293b8fSAndroid Build Coastguard Worker "tests/VerifyBionicTerminationTest.cpp", 385*eb293b8fSAndroid Build Coastguard Worker "utils/tests/ProcessTracerTest.cpp", 386*eb293b8fSAndroid Build Coastguard Worker ], 387*eb293b8fSAndroid Build Coastguard Worker 388*eb293b8fSAndroid Build Coastguard Worker cflags: [ 389*eb293b8fSAndroid Build Coastguard Worker "-O0", 390*eb293b8fSAndroid Build Coastguard Worker "-g", 391*eb293b8fSAndroid Build Coastguard Worker ], 392*eb293b8fSAndroid Build Coastguard Worker 393*eb293b8fSAndroid Build Coastguard Worker shared_libs: [ 394*eb293b8fSAndroid Build Coastguard Worker "libbase", 395*eb293b8fSAndroid Build Coastguard Worker "liblog", 396*eb293b8fSAndroid Build Coastguard Worker "liblzma", 397*eb293b8fSAndroid Build Coastguard Worker "libunwindstack", 398*eb293b8fSAndroid Build Coastguard Worker ], 399*eb293b8fSAndroid Build Coastguard Worker 400*eb293b8fSAndroid Build Coastguard Worker static_libs: [ 401*eb293b8fSAndroid Build Coastguard Worker "libdexfile_support", 402*eb293b8fSAndroid Build Coastguard Worker "libgmock", 403*eb293b8fSAndroid Build Coastguard Worker "libunwindstack_utils", 404*eb293b8fSAndroid Build Coastguard Worker ], 405*eb293b8fSAndroid Build Coastguard Worker 406*eb293b8fSAndroid Build Coastguard Worker test_suites: ["device-tests"], 407*eb293b8fSAndroid Build Coastguard Worker data: [ 408*eb293b8fSAndroid Build Coastguard Worker "tests/files/boot_arm.oat.gnu_debugdata", 409*eb293b8fSAndroid Build Coastguard Worker "tests/files/boot_arm.oat.gnu_debugdata.xz", 410*eb293b8fSAndroid Build Coastguard Worker "tests/files/boot_arm.oat.gnu_debugdata.xz.non-power", 411*eb293b8fSAndroid Build Coastguard Worker "tests/files/boot_arm.oat.gnu_debugdata.xz.odd-sizes", 412*eb293b8fSAndroid Build Coastguard Worker "tests/files/boot_arm.oat.gnu_debugdata.xz.one-block", 413*eb293b8fSAndroid Build Coastguard Worker "tests/files/elf32.xz", 414*eb293b8fSAndroid Build Coastguard Worker "tests/files/elf64.xz", 415*eb293b8fSAndroid Build Coastguard Worker "tests/files/libs/*", 416*eb293b8fSAndroid Build Coastguard Worker "offline_files/common/*", 417*eb293b8fSAndroid Build Coastguard Worker "offline_files/apk_rorx_arm64/*", 418*eb293b8fSAndroid Build Coastguard Worker "offline_files/apk_rorx_unreadable_arm64/*", 419*eb293b8fSAndroid Build Coastguard Worker "offline_files/apk_rx_arm64/*", 420*eb293b8fSAndroid Build Coastguard Worker "offline_files/apk_rx_unreadable_arm64/*", 421*eb293b8fSAndroid Build Coastguard Worker "offline_files/apk_soname_at_end_arm64/*", 422*eb293b8fSAndroid Build Coastguard Worker "offline_files/art_quick_osr_stub_arm/*", 423*eb293b8fSAndroid Build Coastguard Worker "offline_files/bad_eh_frame_hdr_arm64/*", 424*eb293b8fSAndroid Build Coastguard Worker "offline_files/debug_frame_first_x86/*", 425*eb293b8fSAndroid Build Coastguard Worker "offline_files/debug_frame_load_bias_arm/*", 426*eb293b8fSAndroid Build Coastguard Worker "offline_files/eh_frame_bias_x86/*", 427*eb293b8fSAndroid Build Coastguard Worker "offline_files/eh_frame_hdr_begin_x86_64/*", 428*eb293b8fSAndroid Build Coastguard Worker "offline_files/empty_arm64/*", 429*eb293b8fSAndroid Build Coastguard Worker "offline_files/invalid_elf_offset_arm/*", 430*eb293b8fSAndroid Build Coastguard Worker "offline_files/jit_debug_arm/*", 431*eb293b8fSAndroid Build Coastguard Worker "offline_files/jit_map_arm/*", 432*eb293b8fSAndroid Build Coastguard Worker "offline_files/gnu_debugdata_arm/*", 433*eb293b8fSAndroid Build Coastguard Worker "offline_files/load_bias_different_section_bias_arm64/*", 434*eb293b8fSAndroid Build Coastguard Worker "offline_files/load_bias_ro_rx_x86_64/*", 435*eb293b8fSAndroid Build Coastguard Worker "offline_files/offset_arm/*", 436*eb293b8fSAndroid Build Coastguard Worker "offline_files/pauth_pc_arm64/*", 437*eb293b8fSAndroid Build Coastguard Worker "offline_files/shared_lib_in_apk_arm64/*", 438*eb293b8fSAndroid Build Coastguard Worker "offline_files/shared_lib_in_apk_memory_only_arm64/*", 439*eb293b8fSAndroid Build Coastguard Worker "offline_files/shared_lib_in_apk_single_map_arm64/*", 440*eb293b8fSAndroid Build Coastguard Worker "offline_files/signal_load_bias_arm/*", 441*eb293b8fSAndroid Build Coastguard Worker "offline_files/signal_fde_x86/*", 442*eb293b8fSAndroid Build Coastguard Worker "offline_files/signal_fde_x86_64/*", 443*eb293b8fSAndroid Build Coastguard Worker "offline_files/straddle_arm/*", 444*eb293b8fSAndroid Build Coastguard Worker "offline_files/jit_debug_x86/*", 445*eb293b8fSAndroid Build Coastguard Worker "offline_files/straddle_arm64/*", 446*eb293b8fSAndroid Build Coastguard Worker "offline_files/bluetooth_arm64/pc_1/*", 447*eb293b8fSAndroid Build Coastguard Worker "offline_files/bluetooth_arm64/pc_2/*", 448*eb293b8fSAndroid Build Coastguard Worker "offline_files/bluetooth_arm64/pc_3/*", 449*eb293b8fSAndroid Build Coastguard Worker "offline_files/bluetooth_arm64/pc_4/*", 450*eb293b8fSAndroid Build Coastguard Worker "offline_files/photos_reset_arm64/*", 451*eb293b8fSAndroid Build Coastguard Worker "offline_files/youtube_compiled_arm64/*", 452*eb293b8fSAndroid Build Coastguard Worker "offline_files/yt_music_arm64/*", 453*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28613_main-thread/*", 454*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28644/*", 455*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28648/*", 456*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28656_oat_odex_jar/*", 457*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28667/*", 458*eb293b8fSAndroid Build Coastguard Worker "offline_files/vlenb_riscv64/*", 459*eb293b8fSAndroid Build Coastguard Worker "offline_files/zlib_compress_arm/*", 460*eb293b8fSAndroid Build Coastguard Worker "offline_files/zstd_compress_arm/*", 461*eb293b8fSAndroid Build Coastguard Worker ], 462*eb293b8fSAndroid Build Coastguard Worker 463*eb293b8fSAndroid Build Coastguard Worker target: { 464*eb293b8fSAndroid Build Coastguard Worker android: { 465*eb293b8fSAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 466*eb293b8fSAndroid Build Coastguard Worker }, 467*eb293b8fSAndroid Build Coastguard Worker linux_bionic: { 468*eb293b8fSAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 469*eb293b8fSAndroid Build Coastguard Worker }, 470*eb293b8fSAndroid Build Coastguard Worker }, 471*eb293b8fSAndroid Build Coastguard Worker} 472*eb293b8fSAndroid Build Coastguard Worker 473*eb293b8fSAndroid Build Coastguard Workercc_test { 474*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_unit_test", 475*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_testlib_flags"], 476*eb293b8fSAndroid Build Coastguard Worker isolated: true, 477*eb293b8fSAndroid Build Coastguard Worker data: [ 478*eb293b8fSAndroid Build Coastguard Worker ":libunwindstack_local", 479*eb293b8fSAndroid Build Coastguard Worker ], 480*eb293b8fSAndroid Build Coastguard Worker} 481*eb293b8fSAndroid Build Coastguard Worker 482*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 483*eb293b8fSAndroid Build Coastguard Worker// Fuzzers 484*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 485*eb293b8fSAndroid Build Coastguard Workercc_defaults { 486*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_fuzz_defaults", 487*eb293b8fSAndroid Build Coastguard Worker host_supported: true, 488*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_flags"], 489*eb293b8fSAndroid Build Coastguard Worker cflags: [ 490*eb293b8fSAndroid Build Coastguard Worker "-Wexit-time-destructors", 491*eb293b8fSAndroid Build Coastguard Worker "-fno-c++-static-destructors", 492*eb293b8fSAndroid Build Coastguard Worker "-g", 493*eb293b8fSAndroid Build Coastguard Worker ], 494*eb293b8fSAndroid Build Coastguard Worker shared_libs: [ 495*eb293b8fSAndroid Build Coastguard Worker "libbase", 496*eb293b8fSAndroid Build Coastguard Worker "liblog", 497*eb293b8fSAndroid Build Coastguard Worker "liblzma", 498*eb293b8fSAndroid Build Coastguard Worker "libunwindstack", 499*eb293b8fSAndroid Build Coastguard Worker ], 500*eb293b8fSAndroid Build Coastguard Worker static_libs: [ 501*eb293b8fSAndroid Build Coastguard Worker "libdexfile_support", 502*eb293b8fSAndroid Build Coastguard Worker "libunwindstack_utils", 503*eb293b8fSAndroid Build Coastguard Worker ], 504*eb293b8fSAndroid Build Coastguard Worker} 505*eb293b8fSAndroid Build Coastguard Worker 506*eb293b8fSAndroid Build Coastguard Workercc_fuzz { 507*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_fuzz_unwinder", 508*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_fuzz_defaults"], 509*eb293b8fSAndroid Build Coastguard Worker srcs: [ 510*eb293b8fSAndroid Build Coastguard Worker "tests/ElfFake.cpp", 511*eb293b8fSAndroid Build Coastguard Worker "tests/fuzz/UnwinderComponentCreator.cpp", 512*eb293b8fSAndroid Build Coastguard Worker "tests/fuzz/UnwinderFuzz.cpp", 513*eb293b8fSAndroid Build Coastguard Worker ], 514*eb293b8fSAndroid Build Coastguard Worker} 515*eb293b8fSAndroid Build Coastguard Worker 516*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 517*eb293b8fSAndroid Build Coastguard Worker// Tools 518*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 519*eb293b8fSAndroid Build Coastguard Workercc_defaults { 520*eb293b8fSAndroid Build Coastguard Worker name: "libunwindstack_tools", 521*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_flags"], 522*eb293b8fSAndroid Build Coastguard Worker 523*eb293b8fSAndroid Build Coastguard Worker shared_libs: [ 524*eb293b8fSAndroid Build Coastguard Worker "libbase", 525*eb293b8fSAndroid Build Coastguard Worker "liblzma", 526*eb293b8fSAndroid Build Coastguard Worker ], 527*eb293b8fSAndroid Build Coastguard Worker static_libs: [ 528*eb293b8fSAndroid Build Coastguard Worker "libunwindstack_stdout_log", 529*eb293b8fSAndroid Build Coastguard Worker ], 530*eb293b8fSAndroid Build Coastguard Worker target: { 531*eb293b8fSAndroid Build Coastguard Worker // Always disable optimizations for host to make it easier to debug. 532*eb293b8fSAndroid Build Coastguard Worker host: { 533*eb293b8fSAndroid Build Coastguard Worker cflags: [ 534*eb293b8fSAndroid Build Coastguard Worker "-O0", 535*eb293b8fSAndroid Build Coastguard Worker "-g", 536*eb293b8fSAndroid Build Coastguard Worker ], 537*eb293b8fSAndroid Build Coastguard Worker }, 538*eb293b8fSAndroid Build Coastguard Worker }, 539*eb293b8fSAndroid Build Coastguard Worker} 540*eb293b8fSAndroid Build Coastguard Worker 541*eb293b8fSAndroid Build Coastguard Workercc_binary { 542*eb293b8fSAndroid Build Coastguard Worker name: "unwind", 543*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_tools"], 544*eb293b8fSAndroid Build Coastguard Worker 545*eb293b8fSAndroid Build Coastguard Worker srcs: [ 546*eb293b8fSAndroid Build Coastguard Worker "tools/unwind.cpp", 547*eb293b8fSAndroid Build Coastguard Worker ], 548*eb293b8fSAndroid Build Coastguard Worker} 549*eb293b8fSAndroid Build Coastguard Worker 550*eb293b8fSAndroid Build Coastguard Workercc_binary { 551*eb293b8fSAndroid Build Coastguard Worker name: "unwind_info", 552*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_tools"], 553*eb293b8fSAndroid Build Coastguard Worker 554*eb293b8fSAndroid Build Coastguard Worker srcs: [ 555*eb293b8fSAndroid Build Coastguard Worker "tools/unwind_info.cpp", 556*eb293b8fSAndroid Build Coastguard Worker ], 557*eb293b8fSAndroid Build Coastguard Worker} 558*eb293b8fSAndroid Build Coastguard Worker 559*eb293b8fSAndroid Build Coastguard Workercc_binary { 560*eb293b8fSAndroid Build Coastguard Worker name: "unwind_symbols", 561*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_tools"], 562*eb293b8fSAndroid Build Coastguard Worker 563*eb293b8fSAndroid Build Coastguard Worker srcs: [ 564*eb293b8fSAndroid Build Coastguard Worker "tools/unwind_symbols.cpp", 565*eb293b8fSAndroid Build Coastguard Worker ], 566*eb293b8fSAndroid Build Coastguard Worker} 567*eb293b8fSAndroid Build Coastguard Worker 568*eb293b8fSAndroid Build Coastguard Workercc_binary { 569*eb293b8fSAndroid Build Coastguard Worker name: "unwind_for_offline", 570*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_tools"], 571*eb293b8fSAndroid Build Coastguard Worker static_libs: [ 572*eb293b8fSAndroid Build Coastguard Worker "libunwindstack_utils", 573*eb293b8fSAndroid Build Coastguard Worker ], 574*eb293b8fSAndroid Build Coastguard Worker 575*eb293b8fSAndroid Build Coastguard Worker srcs: [ 576*eb293b8fSAndroid Build Coastguard Worker "tools/unwind_for_offline.cpp", 577*eb293b8fSAndroid Build Coastguard Worker ], 578*eb293b8fSAndroid Build Coastguard Worker} 579*eb293b8fSAndroid Build Coastguard Worker 580*eb293b8fSAndroid Build Coastguard Workercc_binary { 581*eb293b8fSAndroid Build Coastguard Worker name: "unwind_reg_info", 582*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_tools"], 583*eb293b8fSAndroid Build Coastguard Worker 584*eb293b8fSAndroid Build Coastguard Worker srcs: [ 585*eb293b8fSAndroid Build Coastguard Worker "tools/unwind_reg_info.cpp", 586*eb293b8fSAndroid Build Coastguard Worker ], 587*eb293b8fSAndroid Build Coastguard Worker} 588*eb293b8fSAndroid Build Coastguard Worker 589*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 590*eb293b8fSAndroid Build Coastguard Worker// Benchmarks 591*eb293b8fSAndroid Build Coastguard Worker//------------------------------------------------------------------------- 592*eb293b8fSAndroid Build Coastguard Workercc_benchmark { 593*eb293b8fSAndroid Build Coastguard Worker name: "unwind_benchmarks", 594*eb293b8fSAndroid Build Coastguard Worker host_supported: true, 595*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_flags"], 596*eb293b8fSAndroid Build Coastguard Worker 597*eb293b8fSAndroid Build Coastguard Worker // Disable optimizations so that all of the calls are not optimized away. 598*eb293b8fSAndroid Build Coastguard Worker cflags: [ 599*eb293b8fSAndroid Build Coastguard Worker "-O0", 600*eb293b8fSAndroid Build Coastguard Worker ], 601*eb293b8fSAndroid Build Coastguard Worker 602*eb293b8fSAndroid Build Coastguard Worker srcs: [ 603*eb293b8fSAndroid Build Coastguard Worker "benchmarks/ElfBenchmark.cpp", 604*eb293b8fSAndroid Build Coastguard Worker "benchmarks/MapsBenchmark.cpp", 605*eb293b8fSAndroid Build Coastguard Worker "benchmarks/SymbolBenchmark.cpp", 606*eb293b8fSAndroid Build Coastguard Worker "benchmarks/Utils.cpp", 607*eb293b8fSAndroid Build Coastguard Worker "benchmarks/local_unwind_benchmarks.cpp", 608*eb293b8fSAndroid Build Coastguard Worker "benchmarks/main.cpp", 609*eb293b8fSAndroid Build Coastguard Worker "benchmarks/remote_unwind_benchmarks.cpp", 610*eb293b8fSAndroid Build Coastguard Worker "benchmarks/thread_unwind_benchmarks.cpp", 611*eb293b8fSAndroid Build Coastguard Worker "benchmarks/OfflineUnwindBenchmarks.cpp", 612*eb293b8fSAndroid Build Coastguard Worker "benchmarks/EvalBenchmark.cpp", 613*eb293b8fSAndroid Build Coastguard Worker ], 614*eb293b8fSAndroid Build Coastguard Worker 615*eb293b8fSAndroid Build Coastguard Worker data: [ 616*eb293b8fSAndroid Build Coastguard Worker "benchmarks/files/*", 617*eb293b8fSAndroid Build Coastguard Worker "offline_files/common/*", 618*eb293b8fSAndroid Build Coastguard Worker "offline_files/jit_debug_arm/*", 619*eb293b8fSAndroid Build Coastguard Worker "offline_files/straddle_arm64/*", 620*eb293b8fSAndroid Build Coastguard Worker "offline_files/bluetooth_arm64/pc_1/*", 621*eb293b8fSAndroid Build Coastguard Worker "offline_files/bluetooth_arm64/pc_2/*", 622*eb293b8fSAndroid Build Coastguard Worker "offline_files/bluetooth_arm64/pc_3/*", 623*eb293b8fSAndroid Build Coastguard Worker "offline_files/bluetooth_arm64/pc_4/*", 624*eb293b8fSAndroid Build Coastguard Worker "offline_files/photos_reset_arm64/*", 625*eb293b8fSAndroid Build Coastguard Worker "offline_files/youtube_compiled_arm64/*", 626*eb293b8fSAndroid Build Coastguard Worker "offline_files/yt_music_arm64/*", 627*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28613_main-thread/*", 628*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28644/*", 629*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28648/*", 630*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28656_oat_odex_jar/*", 631*eb293b8fSAndroid Build Coastguard Worker "offline_files/maps_compiled_arm64/28667/*", 632*eb293b8fSAndroid Build Coastguard Worker ], 633*eb293b8fSAndroid Build Coastguard Worker 634*eb293b8fSAndroid Build Coastguard Worker shared_libs: [ 635*eb293b8fSAndroid Build Coastguard Worker "libbase", 636*eb293b8fSAndroid Build Coastguard Worker "libunwindstack", 637*eb293b8fSAndroid Build Coastguard Worker ], 638*eb293b8fSAndroid Build Coastguard Worker 639*eb293b8fSAndroid Build Coastguard Worker static_libs: [ 640*eb293b8fSAndroid Build Coastguard Worker "libprocinfo", 641*eb293b8fSAndroid Build Coastguard Worker "libunwindstack_utils", 642*eb293b8fSAndroid Build Coastguard Worker ], 643*eb293b8fSAndroid Build Coastguard Worker 644*eb293b8fSAndroid Build Coastguard Worker target: { 645*eb293b8fSAndroid Build Coastguard Worker android: { 646*eb293b8fSAndroid Build Coastguard Worker static_libs: [ 647*eb293b8fSAndroid Build Coastguard Worker "libmeminfo", 648*eb293b8fSAndroid Build Coastguard Worker ], 649*eb293b8fSAndroid Build Coastguard Worker }, 650*eb293b8fSAndroid Build Coastguard Worker }, 651*eb293b8fSAndroid Build Coastguard Worker} 652*eb293b8fSAndroid Build Coastguard Worker 653*eb293b8fSAndroid Build Coastguard Worker// Generates the elf data for use in the tests for .gnu_debugdata frames. 654*eb293b8fSAndroid Build Coastguard Worker// Once these files are generated, use the xz command to compress the data. 655*eb293b8fSAndroid Build Coastguard Workercc_binary_host { 656*eb293b8fSAndroid Build Coastguard Worker name: "gen_gnudebugdata", 657*eb293b8fSAndroid Build Coastguard Worker defaults: ["libunwindstack_flags"], 658*eb293b8fSAndroid Build Coastguard Worker 659*eb293b8fSAndroid Build Coastguard Worker srcs: [ 660*eb293b8fSAndroid Build Coastguard Worker "tests/GenGnuDebugdata.cpp", 661*eb293b8fSAndroid Build Coastguard Worker ], 662*eb293b8fSAndroid Build Coastguard Worker} 663