1*8d67ca89SAndroid Build Coastguard Worker// ============================================================== 2*8d67ca89SAndroid Build Coastguard Worker// libc_malloc_debug_backtrace.a 3*8d67ca89SAndroid Build Coastguard Worker// ============================================================== 4*8d67ca89SAndroid Build Coastguard Worker// Used by libmemunreachable 5*8d67ca89SAndroid Build Coastguard Workerpackage { 6*8d67ca89SAndroid Build Coastguard Worker default_team: "trendy_team_native_tools_libraries", 7*8d67ca89SAndroid Build Coastguard Worker // See: http://go/android-license-faq 8*8d67ca89SAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 9*8d67ca89SAndroid Build Coastguard Worker // all of the 'license_kinds' from "bionic_libc_license" 10*8d67ca89SAndroid Build Coastguard Worker // to get the below license kinds: 11*8d67ca89SAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 12*8d67ca89SAndroid Build Coastguard Worker // SPDX-license-identifier-BSD 13*8d67ca89SAndroid Build Coastguard Worker default_applicable_licenses: ["bionic_libc_license"], 14*8d67ca89SAndroid Build Coastguard Worker} 15*8d67ca89SAndroid Build Coastguard Worker 16*8d67ca89SAndroid Build Coastguard Workercc_library_static { 17*8d67ca89SAndroid Build Coastguard Worker name: "libc_malloc_debug_backtrace", 18*8d67ca89SAndroid Build Coastguard Worker vendor_available: true, 19*8d67ca89SAndroid Build Coastguard Worker 20*8d67ca89SAndroid Build Coastguard Worker srcs: [ 21*8d67ca89SAndroid Build Coastguard Worker "backtrace.cpp", 22*8d67ca89SAndroid Build Coastguard Worker "MapData.cpp", 23*8d67ca89SAndroid Build Coastguard Worker ], 24*8d67ca89SAndroid Build Coastguard Worker 25*8d67ca89SAndroid Build Coastguard Worker stl: "libc++_static", 26*8d67ca89SAndroid Build Coastguard Worker 27*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 28*8d67ca89SAndroid Build Coastguard Worker "libbase", 29*8d67ca89SAndroid Build Coastguard Worker "libasync_safe", 30*8d67ca89SAndroid Build Coastguard Worker ], 31*8d67ca89SAndroid Build Coastguard Worker 32*8d67ca89SAndroid Build Coastguard Worker include_dirs: ["bionic/libc"], 33*8d67ca89SAndroid Build Coastguard Worker 34*8d67ca89SAndroid Build Coastguard Worker export_include_dirs: ["."], 35*8d67ca89SAndroid Build Coastguard Worker 36*8d67ca89SAndroid Build Coastguard Worker sanitize: { 37*8d67ca89SAndroid Build Coastguard Worker never: true, 38*8d67ca89SAndroid Build Coastguard Worker }, 39*8d67ca89SAndroid Build Coastguard Worker native_coverage: false, 40*8d67ca89SAndroid Build Coastguard Worker 41*8d67ca89SAndroid Build Coastguard Worker // -Wno-error=format-zero-length needed for gcc to compile. 42*8d67ca89SAndroid Build Coastguard Worker cflags: [ 43*8d67ca89SAndroid Build Coastguard Worker "-Wall", 44*8d67ca89SAndroid Build Coastguard Worker "-Werror", 45*8d67ca89SAndroid Build Coastguard Worker "-Wno-error=format-zero-length", 46*8d67ca89SAndroid Build Coastguard Worker ], 47*8d67ca89SAndroid Build Coastguard Worker 48*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 49*8d67ca89SAndroid Build Coastguard Worker "//apex_available:platform", 50*8d67ca89SAndroid Build Coastguard Worker "com.android.runtime", 51*8d67ca89SAndroid Build Coastguard Worker ], 52*8d67ca89SAndroid Build Coastguard Worker} 53*8d67ca89SAndroid Build Coastguard Worker 54*8d67ca89SAndroid Build Coastguard Worker// ============================================================== 55*8d67ca89SAndroid Build Coastguard Worker// libc_malloc_debug.so 56*8d67ca89SAndroid Build Coastguard Worker// ============================================================== 57*8d67ca89SAndroid Build Coastguard Workercc_library { 58*8d67ca89SAndroid Build Coastguard Worker name: "libc_malloc_debug", 59*8d67ca89SAndroid Build Coastguard Worker 60*8d67ca89SAndroid Build Coastguard Worker srcs: [ 61*8d67ca89SAndroid Build Coastguard Worker "Config.cpp", 62*8d67ca89SAndroid Build Coastguard Worker "DebugData.cpp", 63*8d67ca89SAndroid Build Coastguard Worker "debug_disable.cpp", 64*8d67ca89SAndroid Build Coastguard Worker "GuardData.cpp", 65*8d67ca89SAndroid Build Coastguard Worker "LogAllocatorStats.cpp", 66*8d67ca89SAndroid Build Coastguard Worker "malloc_debug.cpp", 67*8d67ca89SAndroid Build Coastguard Worker "PointerData.cpp", 68*8d67ca89SAndroid Build Coastguard Worker "RecordData.cpp", 69*8d67ca89SAndroid Build Coastguard Worker "Unreachable.cpp", 70*8d67ca89SAndroid Build Coastguard Worker "UnwindBacktrace.cpp", 71*8d67ca89SAndroid Build Coastguard Worker ], 72*8d67ca89SAndroid Build Coastguard Worker 73*8d67ca89SAndroid Build Coastguard Worker stl: "libc++_static", 74*8d67ca89SAndroid Build Coastguard Worker 75*8d67ca89SAndroid Build Coastguard Worker static_libs: [ 76*8d67ca89SAndroid Build Coastguard Worker "libasync_safe", 77*8d67ca89SAndroid Build Coastguard Worker "libbase", 78*8d67ca89SAndroid Build Coastguard Worker "libc_malloc_debug_backtrace", 79*8d67ca89SAndroid Build Coastguard Worker "libmemunreachable", 80*8d67ca89SAndroid Build Coastguard Worker ], 81*8d67ca89SAndroid Build Coastguard Worker 82*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 83*8d67ca89SAndroid Build Coastguard Worker "libmemory_trace", 84*8d67ca89SAndroid Build Coastguard Worker ], 85*8d67ca89SAndroid Build Coastguard Worker 86*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 87*8d67ca89SAndroid Build Coastguard Worker "libunwindstack", 88*8d67ca89SAndroid Build Coastguard Worker ], 89*8d67ca89SAndroid Build Coastguard Worker 90*8d67ca89SAndroid Build Coastguard Worker multilib: { 91*8d67ca89SAndroid Build Coastguard Worker lib32: { 92*8d67ca89SAndroid Build Coastguard Worker version_script: "exported32.map", 93*8d67ca89SAndroid Build Coastguard Worker }, 94*8d67ca89SAndroid Build Coastguard Worker lib64: { 95*8d67ca89SAndroid Build Coastguard Worker version_script: "exported64.map", 96*8d67ca89SAndroid Build Coastguard Worker }, 97*8d67ca89SAndroid Build Coastguard Worker }, 98*8d67ca89SAndroid Build Coastguard Worker allow_undefined_symbols: true, 99*8d67ca89SAndroid Build Coastguard Worker include_dirs: ["bionic/libc"], 100*8d67ca89SAndroid Build Coastguard Worker 101*8d67ca89SAndroid Build Coastguard Worker sanitize: { 102*8d67ca89SAndroid Build Coastguard Worker never: true, 103*8d67ca89SAndroid Build Coastguard Worker }, 104*8d67ca89SAndroid Build Coastguard Worker native_coverage: false, 105*8d67ca89SAndroid Build Coastguard Worker 106*8d67ca89SAndroid Build Coastguard Worker // -Wno-error=format-zero-length needed for gcc to compile. 107*8d67ca89SAndroid Build Coastguard Worker cflags: [ 108*8d67ca89SAndroid Build Coastguard Worker "-Wall", 109*8d67ca89SAndroid Build Coastguard Worker "-Werror", 110*8d67ca89SAndroid Build Coastguard Worker "-fno-stack-protector", 111*8d67ca89SAndroid Build Coastguard Worker "-Wno-error=format-zero-length", 112*8d67ca89SAndroid Build Coastguard Worker "-Wthread-safety", 113*8d67ca89SAndroid Build Coastguard Worker ], 114*8d67ca89SAndroid Build Coastguard Worker 115*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 116*8d67ca89SAndroid Build Coastguard Worker "com.android.runtime", 117*8d67ca89SAndroid Build Coastguard Worker ], 118*8d67ca89SAndroid Build Coastguard Worker static: { 119*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 120*8d67ca89SAndroid Build Coastguard Worker "//apex_available:platform", 121*8d67ca89SAndroid Build Coastguard Worker ], 122*8d67ca89SAndroid Build Coastguard Worker }, 123*8d67ca89SAndroid Build Coastguard Worker} 124*8d67ca89SAndroid Build Coastguard Worker 125*8d67ca89SAndroid Build Coastguard Worker// ============================================================== 126*8d67ca89SAndroid Build Coastguard Worker// Unit Tests 127*8d67ca89SAndroid Build Coastguard Worker// ============================================================== 128*8d67ca89SAndroid Build Coastguard Workercc_test { 129*8d67ca89SAndroid Build Coastguard Worker name: "malloc_debug_unit_tests", 130*8d67ca89SAndroid Build Coastguard Worker test_suites: ["device-tests"], 131*8d67ca89SAndroid Build Coastguard Worker isolated: true, 132*8d67ca89SAndroid Build Coastguard Worker 133*8d67ca89SAndroid Build Coastguard Worker srcs: [ 134*8d67ca89SAndroid Build Coastguard Worker "tests/backtrace_fake.cpp", 135*8d67ca89SAndroid Build Coastguard Worker "tests/log_fake.cpp", 136*8d67ca89SAndroid Build Coastguard Worker "tests/libc_fake.cpp", 137*8d67ca89SAndroid Build Coastguard Worker "tests/malloc_debug_config_tests.cpp", 138*8d67ca89SAndroid Build Coastguard Worker "tests/malloc_debug_unit_tests.cpp", 139*8d67ca89SAndroid Build Coastguard Worker ], 140*8d67ca89SAndroid Build Coastguard Worker 141*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: ["tests"], 142*8d67ca89SAndroid Build Coastguard Worker include_dirs: [ 143*8d67ca89SAndroid Build Coastguard Worker "bionic/libc", 144*8d67ca89SAndroid Build Coastguard Worker "bionic/libc/async_safe/include", 145*8d67ca89SAndroid Build Coastguard Worker ], 146*8d67ca89SAndroid Build Coastguard Worker 147*8d67ca89SAndroid Build Coastguard Worker header_libs: [ 148*8d67ca89SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 149*8d67ca89SAndroid Build Coastguard Worker ], 150*8d67ca89SAndroid Build Coastguard Worker 151*8d67ca89SAndroid Build Coastguard Worker static_libs: [ 152*8d67ca89SAndroid Build Coastguard Worker "libc_malloc_debug", 153*8d67ca89SAndroid Build Coastguard Worker "libtinyxml2", 154*8d67ca89SAndroid Build Coastguard Worker ], 155*8d67ca89SAndroid Build Coastguard Worker 156*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 157*8d67ca89SAndroid Build Coastguard Worker "libbase", 158*8d67ca89SAndroid Build Coastguard Worker "libunwindstack", 159*8d67ca89SAndroid Build Coastguard Worker ], 160*8d67ca89SAndroid Build Coastguard Worker 161*8d67ca89SAndroid Build Coastguard Worker cflags: [ 162*8d67ca89SAndroid Build Coastguard Worker "-Wall", 163*8d67ca89SAndroid Build Coastguard Worker "-Werror", 164*8d67ca89SAndroid Build Coastguard Worker "-Wno-error=format-zero-length", 165*8d67ca89SAndroid Build Coastguard Worker "-O0", 166*8d67ca89SAndroid Build Coastguard Worker ], 167*8d67ca89SAndroid Build Coastguard Worker} 168*8d67ca89SAndroid Build Coastguard Worker 169*8d67ca89SAndroid Build Coastguard Worker// ============================================================== 170*8d67ca89SAndroid Build Coastguard Worker// System Tests 171*8d67ca89SAndroid Build Coastguard Worker// ============================================================== 172*8d67ca89SAndroid Build Coastguard Workercc_test { 173*8d67ca89SAndroid Build Coastguard Worker name: "malloc_debug_system_tests", 174*8d67ca89SAndroid Build Coastguard Worker isolated: true, 175*8d67ca89SAndroid Build Coastguard Worker 176*8d67ca89SAndroid Build Coastguard Worker include_dirs: [ 177*8d67ca89SAndroid Build Coastguard Worker "bionic/libc", 178*8d67ca89SAndroid Build Coastguard Worker "bionic", // For SKIP_WITH_HWASAN. 179*8d67ca89SAndroid Build Coastguard Worker ], 180*8d67ca89SAndroid Build Coastguard Worker 181*8d67ca89SAndroid Build Coastguard Worker header_libs: [ 182*8d67ca89SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 183*8d67ca89SAndroid Build Coastguard Worker ], 184*8d67ca89SAndroid Build Coastguard Worker 185*8d67ca89SAndroid Build Coastguard Worker // The clang-analyzer-unix.Malloc and other warnings in these 186*8d67ca89SAndroid Build Coastguard Worker // unit tests are either false positive or in 187*8d67ca89SAndroid Build Coastguard Worker // negative tests that can be ignored. 188*8d67ca89SAndroid Build Coastguard Worker tidy: false, 189*8d67ca89SAndroid Build Coastguard Worker 190*8d67ca89SAndroid Build Coastguard Worker srcs: [ 191*8d67ca89SAndroid Build Coastguard Worker "tests/malloc_debug_system_tests.cpp", 192*8d67ca89SAndroid Build Coastguard Worker ], 193*8d67ca89SAndroid Build Coastguard Worker 194*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 195*8d67ca89SAndroid Build Coastguard Worker "libbase", 196*8d67ca89SAndroid Build Coastguard Worker "liblog", 197*8d67ca89SAndroid Build Coastguard Worker "libunwindstack", 198*8d67ca89SAndroid Build Coastguard Worker ], 199*8d67ca89SAndroid Build Coastguard Worker 200*8d67ca89SAndroid Build Coastguard Worker cflags: [ 201*8d67ca89SAndroid Build Coastguard Worker "-Wall", 202*8d67ca89SAndroid Build Coastguard Worker "-Werror", 203*8d67ca89SAndroid Build Coastguard Worker "-O0", 204*8d67ca89SAndroid Build Coastguard Worker ], 205*8d67ca89SAndroid Build Coastguard Worker test_suites: ["general-tests"], 206*8d67ca89SAndroid Build Coastguard Worker test_config: "tests/AndroidTest.xml", 207*8d67ca89SAndroid Build Coastguard Worker} 208