1*76559068SAndroid Build Coastguard Worker// 2*76559068SAndroid Build Coastguard Worker// Copyright (C) 2019 The Android Open Source Project 3*76559068SAndroid Build Coastguard Worker// 4*76559068SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*76559068SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*76559068SAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*76559068SAndroid Build Coastguard Worker// 8*76559068SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*76559068SAndroid Build Coastguard Worker// 10*76559068SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*76559068SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*76559068SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*76559068SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*76559068SAndroid Build Coastguard Worker// limitations under the License. 15*76559068SAndroid Build Coastguard Worker// 16*76559068SAndroid Build Coastguard Worker 17*76559068SAndroid Build Coastguard Workerpackage { 18*76559068SAndroid Build Coastguard Worker default_applicable_licenses: ["external_scudo_license"], 19*76559068SAndroid Build Coastguard Worker} 20*76559068SAndroid Build Coastguard Worker 21*76559068SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 22*76559068SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 23*76559068SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 24*76559068SAndroid Build Coastguard Worker// 25*76559068SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 26*76559068SAndroid Build Coastguard Worker// 27*76559068SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 28*76559068SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 29*76559068SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 30*76559068SAndroid Build Coastguard Worker// 31*76559068SAndroid Build Coastguard Worker// For unused files, consider creating a 'filegroup' with "//visibility:private" 32*76559068SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 33*76559068SAndroid Build Coastguard Worker// used in the current project. 34*76559068SAndroid Build Coastguard Worker// http://go/android-license-faq 35*76559068SAndroid Build Coastguard Workerlicense { 36*76559068SAndroid Build Coastguard Worker name: "external_scudo_license", 37*76559068SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 38*76559068SAndroid Build Coastguard Worker license_kinds: [ 39*76559068SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 40*76559068SAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 41*76559068SAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 42*76559068SAndroid Build Coastguard Worker "SPDX-license-identifier-NCSA", 43*76559068SAndroid Build Coastguard Worker ], 44*76559068SAndroid Build Coastguard Worker license_text: [ 45*76559068SAndroid Build Coastguard Worker "LICENSE.TXT", 46*76559068SAndroid Build Coastguard Worker ], 47*76559068SAndroid Build Coastguard Worker} 48*76559068SAndroid Build Coastguard Worker 49*76559068SAndroid Build Coastguard Workercc_library_headers { 50*76559068SAndroid Build Coastguard Worker name: "scudo_headers", 51*76559068SAndroid Build Coastguard Worker ramdisk_available: true, 52*76559068SAndroid Build Coastguard Worker recovery_available: true, 53*76559068SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 54*76559068SAndroid Build Coastguard Worker 55*76559068SAndroid Build Coastguard Worker export_include_dirs: [ 56*76559068SAndroid Build Coastguard Worker "standalone/include", 57*76559068SAndroid Build Coastguard Worker ], 58*76559068SAndroid Build Coastguard Worker 59*76559068SAndroid Build Coastguard Worker apex_available: [ 60*76559068SAndroid Build Coastguard Worker "com.android.runtime", 61*76559068SAndroid Build Coastguard Worker "//apex_available:platform", 62*76559068SAndroid Build Coastguard Worker ], 63*76559068SAndroid Build Coastguard Worker 64*76559068SAndroid Build Coastguard Worker visibility: [ 65*76559068SAndroid Build Coastguard Worker "//system/core/debuggerd", 66*76559068SAndroid Build Coastguard Worker ], 67*76559068SAndroid Build Coastguard Worker} 68*76559068SAndroid Build Coastguard Worker 69*76559068SAndroid Build Coastguard Workercc_defaults { 70*76559068SAndroid Build Coastguard Worker name: "scudo_config_defaults", 71*76559068SAndroid Build Coastguard Worker cflags: [ 72*76559068SAndroid Build Coastguard Worker // Use a custom Android configuration. 73*76559068SAndroid Build Coastguard Worker "-DSCUDO_USE_CUSTOM_CONFIG", 74*76559068SAndroid Build Coastguard Worker ], 75*76559068SAndroid Build Coastguard Worker 76*76559068SAndroid Build Coastguard Worker include_dirs: [ 77*76559068SAndroid Build Coastguard Worker "external/scudo/config", 78*76559068SAndroid Build Coastguard Worker ], 79*76559068SAndroid Build Coastguard Worker 80*76559068SAndroid Build Coastguard Worker product_variables: { 81*76559068SAndroid Build Coastguard Worker malloc_low_memory: { 82*76559068SAndroid Build Coastguard Worker cflags: ["-DSCUDO_LOW_MEMORY"], 83*76559068SAndroid Build Coastguard Worker }, 84*76559068SAndroid Build Coastguard Worker }, 85*76559068SAndroid Build Coastguard Worker} 86*76559068SAndroid Build Coastguard Worker 87*76559068SAndroid Build Coastguard Workercc_defaults { 88*76559068SAndroid Build Coastguard Worker name: "scudo_warning_defaults", 89*76559068SAndroid Build Coastguard Worker cflags: [ 90*76559068SAndroid Build Coastguard Worker "-Wall", 91*76559068SAndroid Build Coastguard Worker "-Wextra", 92*76559068SAndroid Build Coastguard Worker "-Wunused", 93*76559068SAndroid Build Coastguard Worker "-Wno-unused-result", 94*76559068SAndroid Build Coastguard Worker "-Wconversion", 95*76559068SAndroid Build Coastguard Worker 96*76559068SAndroid Build Coastguard Worker "-Werror=pointer-to-int-cast", 97*76559068SAndroid Build Coastguard Worker "-Werror=int-to-pointer-cast", 98*76559068SAndroid Build Coastguard Worker "-Werror=thread-safety", 99*76559068SAndroid Build Coastguard Worker "-Werror=type-limits", 100*76559068SAndroid Build Coastguard Worker "-Werror", 101*76559068SAndroid Build Coastguard Worker ], 102*76559068SAndroid Build Coastguard Worker} 103*76559068SAndroid Build Coastguard Worker 104*76559068SAndroid Build Coastguard Workercc_defaults { 105*76559068SAndroid Build Coastguard Worker name: "libscudo_defaults", 106*76559068SAndroid Build Coastguard Worker defaults: [ 107*76559068SAndroid Build Coastguard Worker "scudo_config_defaults", 108*76559068SAndroid Build Coastguard Worker "scudo_warning_defaults", 109*76559068SAndroid Build Coastguard Worker ], 110*76559068SAndroid Build Coastguard Worker native_coverage: false, 111*76559068SAndroid Build Coastguard Worker ramdisk_available: true, 112*76559068SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 113*76559068SAndroid Build Coastguard Worker recovery_available: true, 114*76559068SAndroid Build Coastguard Worker host_supported: true, 115*76559068SAndroid Build Coastguard Worker native_bridge_supported: true, 116*76559068SAndroid Build Coastguard Worker 117*76559068SAndroid Build Coastguard Worker rtti: false, 118*76559068SAndroid Build Coastguard Worker stl: "none", 119*76559068SAndroid Build Coastguard Worker 120*76559068SAndroid Build Coastguard Worker cflags: [ 121*76559068SAndroid Build Coastguard Worker "-O3", 122*76559068SAndroid Build Coastguard Worker "-fno-rtti", 123*76559068SAndroid Build Coastguard Worker // This option speeds up alloc/free code paths by about 5% to 7%. 124*76559068SAndroid Build Coastguard Worker "-fno-stack-protector", 125*76559068SAndroid Build Coastguard Worker ], 126*76559068SAndroid Build Coastguard Worker cppflags: [ 127*76559068SAndroid Build Coastguard Worker "-nostdinc++", 128*76559068SAndroid Build Coastguard Worker "-fno-exceptions", 129*76559068SAndroid Build Coastguard Worker ], 130*76559068SAndroid Build Coastguard Worker 131*76559068SAndroid Build Coastguard Worker include_dirs: [ 132*76559068SAndroid Build Coastguard Worker "external/scudo/standalone/include", 133*76559068SAndroid Build Coastguard Worker ], 134*76559068SAndroid Build Coastguard Worker 135*76559068SAndroid Build Coastguard Worker srcs: [ 136*76559068SAndroid Build Coastguard Worker "standalone/checksum.cpp", 137*76559068SAndroid Build Coastguard Worker "standalone/common.cpp", 138*76559068SAndroid Build Coastguard Worker "standalone/condition_variable_linux.cpp", 139*76559068SAndroid Build Coastguard Worker "standalone/flags.cpp", 140*76559068SAndroid Build Coastguard Worker "standalone/flags_parser.cpp", 141*76559068SAndroid Build Coastguard Worker "standalone/linux.cpp", 142*76559068SAndroid Build Coastguard Worker "standalone/mem_map.cpp", 143*76559068SAndroid Build Coastguard Worker "standalone/mem_map_linux.cpp", 144*76559068SAndroid Build Coastguard Worker "standalone/release.cpp", 145*76559068SAndroid Build Coastguard Worker "standalone/report.cpp", 146*76559068SAndroid Build Coastguard Worker "standalone/report_linux.cpp", 147*76559068SAndroid Build Coastguard Worker "standalone/string_utils.cpp", 148*76559068SAndroid Build Coastguard Worker "standalone/timing.cpp", 149*76559068SAndroid Build Coastguard Worker ], 150*76559068SAndroid Build Coastguard Worker arch: { 151*76559068SAndroid Build Coastguard Worker arm: { 152*76559068SAndroid Build Coastguard Worker cflags: ["-mcrc"], 153*76559068SAndroid Build Coastguard Worker srcs: ["standalone/crc32_hw.cpp"], 154*76559068SAndroid Build Coastguard Worker }, 155*76559068SAndroid Build Coastguard Worker arm64: { 156*76559068SAndroid Build Coastguard Worker cflags: ["-mcrc"], 157*76559068SAndroid Build Coastguard Worker srcs: ["standalone/crc32_hw.cpp"], 158*76559068SAndroid Build Coastguard Worker }, 159*76559068SAndroid Build Coastguard Worker riscv64: { 160*76559068SAndroid Build Coastguard Worker // This is a temporary fix, and should be reverted after 161*76559068SAndroid Build Coastguard Worker // yieldProcessor supports riscv. 162*76559068SAndroid Build Coastguard Worker cflags: ["-Wno-unused-parameter"], 163*76559068SAndroid Build Coastguard Worker }, 164*76559068SAndroid Build Coastguard Worker x86_64: { 165*76559068SAndroid Build Coastguard Worker cflags: ["-msse4.2"], 166*76559068SAndroid Build Coastguard Worker srcs: ["standalone/crc32_hw.cpp"], 167*76559068SAndroid Build Coastguard Worker }, 168*76559068SAndroid Build Coastguard Worker x86: { 169*76559068SAndroid Build Coastguard Worker cflags: ["-msse4.2"], 170*76559068SAndroid Build Coastguard Worker srcs: ["standalone/crc32_hw.cpp"], 171*76559068SAndroid Build Coastguard Worker }, 172*76559068SAndroid Build Coastguard Worker }, 173*76559068SAndroid Build Coastguard Worker 174*76559068SAndroid Build Coastguard Worker target: { 175*76559068SAndroid Build Coastguard Worker bionic: { 176*76559068SAndroid Build Coastguard Worker system_shared_libs: [], 177*76559068SAndroid Build Coastguard Worker header_libs: [ 178*76559068SAndroid Build Coastguard Worker "libc_headers", 179*76559068SAndroid Build Coastguard Worker "bionic_libc_platform_headers", 180*76559068SAndroid Build Coastguard Worker ], 181*76559068SAndroid Build Coastguard Worker srcs: ["standalone/wrappers_c_bionic.cpp"], 182*76559068SAndroid Build Coastguard Worker cflags: [ 183*76559068SAndroid Build Coastguard Worker "-D_BIONIC=1", 184*76559068SAndroid Build Coastguard Worker 185*76559068SAndroid Build Coastguard Worker // Indicate that bionic has reserved a TLS for Scudo. 186*76559068SAndroid Build Coastguard Worker "-DSCUDO_HAS_PLATFORM_TLS_SLOT", 187*76559068SAndroid Build Coastguard Worker 188*76559068SAndroid Build Coastguard Worker // Always force alignment to 16 bytes even on 32 bit. 189*76559068SAndroid Build Coastguard Worker // Android assumes that allocations of multiples of 16 bytes 190*76559068SAndroid Build Coastguard Worker // will be aligned to at least 16 bytes. 191*76559068SAndroid Build Coastguard Worker "-DSCUDO_MIN_ALIGNMENT_LOG=4", 192*76559068SAndroid Build Coastguard Worker 193*76559068SAndroid Build Coastguard Worker // Allow scudo to use android_unsafe_frame_pointer_chase(), 194*76559068SAndroid Build Coastguard Worker // which is normally a private function. 195*76559068SAndroid Build Coastguard Worker "-DHAVE_ANDROID_UNSAFE_FRAME_POINTER_CHASE", 196*76559068SAndroid Build Coastguard Worker ], 197*76559068SAndroid Build Coastguard Worker }, 198*76559068SAndroid Build Coastguard Worker native_bridge: { 199*76559068SAndroid Build Coastguard Worker cflags: ["-DSCUDO_DISABLE_TBI"], 200*76559068SAndroid Build Coastguard Worker }, 201*76559068SAndroid Build Coastguard Worker host: { 202*76559068SAndroid Build Coastguard Worker srcs: ["standalone/wrappers_c.cpp"], 203*76559068SAndroid Build Coastguard Worker }, 204*76559068SAndroid Build Coastguard Worker }, 205*76559068SAndroid Build Coastguard Worker} 206*76559068SAndroid Build Coastguard Worker 207*76559068SAndroid Build Coastguard Workercc_library { 208*76559068SAndroid Build Coastguard Worker name: "libscudo", 209*76559068SAndroid Build Coastguard Worker defaults: ["libscudo_defaults"], 210*76559068SAndroid Build Coastguard Worker visibility: [ 211*76559068SAndroid Build Coastguard Worker "//bionic:__subpackages__", 212*76559068SAndroid Build Coastguard Worker "//build/kati:__subpackages__", 213*76559068SAndroid Build Coastguard Worker "//frameworks/libs/native_bridge_support/android_api/libc:__subpackages__", 214*76559068SAndroid Build Coastguard Worker "//external/ninja:__subpackages__", 215*76559068SAndroid Build Coastguard Worker "//external/stg:__subpackages__", 216*76559068SAndroid Build Coastguard Worker "//system/core/debuggerd:__subpackages__", 217*76559068SAndroid Build Coastguard Worker ], 218*76559068SAndroid Build Coastguard Worker shared: { 219*76559068SAndroid Build Coastguard Worker enabled: false, 220*76559068SAndroid Build Coastguard Worker }, 221*76559068SAndroid Build Coastguard Worker target: { 222*76559068SAndroid Build Coastguard Worker host: { 223*76559068SAndroid Build Coastguard Worker shared: { 224*76559068SAndroid Build Coastguard Worker enabled: true, 225*76559068SAndroid Build Coastguard Worker }, 226*76559068SAndroid Build Coastguard Worker }, 227*76559068SAndroid Build Coastguard Worker }, 228*76559068SAndroid Build Coastguard Worker apex_available: [ 229*76559068SAndroid Build Coastguard Worker "com.android.runtime", 230*76559068SAndroid Build Coastguard Worker ], 231*76559068SAndroid Build Coastguard Worker} 232*76559068SAndroid Build Coastguard Worker 233*76559068SAndroid Build Coastguard Workercc_library_static { 234*76559068SAndroid Build Coastguard Worker name: "libscudo_for_testing", 235*76559068SAndroid Build Coastguard Worker defaults: ["libscudo_defaults"], 236*76559068SAndroid Build Coastguard Worker cflags: [ 237*76559068SAndroid Build Coastguard Worker "-DSCUDO_DEBUG=1", 238*76559068SAndroid Build Coastguard Worker ], 239*76559068SAndroid Build Coastguard Worker} 240*76559068SAndroid Build Coastguard Worker 241*76559068SAndroid Build Coastguard Workercc_defaults { 242*76559068SAndroid Build Coastguard Worker name: "scudo_unit_tests_default", 243*76559068SAndroid Build Coastguard Worker defaults: [ 244*76559068SAndroid Build Coastguard Worker "scudo_config_defaults", 245*76559068SAndroid Build Coastguard Worker "scudo_warning_defaults", 246*76559068SAndroid Build Coastguard Worker ], 247*76559068SAndroid Build Coastguard Worker isolated: true, 248*76559068SAndroid Build Coastguard Worker static_libs: ["libscudo_for_testing"], 249*76559068SAndroid Build Coastguard Worker include_dirs: [ 250*76559068SAndroid Build Coastguard Worker "external/scudo/standalone", 251*76559068SAndroid Build Coastguard Worker "external/scudo/standalone/include", 252*76559068SAndroid Build Coastguard Worker ], 253*76559068SAndroid Build Coastguard Worker cflags: [ 254*76559068SAndroid Build Coastguard Worker // In memtag_test.cpp, some tests are disabled by GTEST_SKIP() so that 255*76559068SAndroid Build Coastguard Worker // they won't be run. However, for those disabled tests, it may contain 256*76559068SAndroid Build Coastguard Worker // unreachable code paths which will mislead some compiler checks. Given 257*76559068SAndroid Build Coastguard Worker // this flag won't be impacted too much, disable it only in the test. 258*76559068SAndroid Build Coastguard Worker "-Wno-unreachable-code-loop-increment", 259*76559068SAndroid Build Coastguard Worker "-DSCUDO_DEBUG=1", 260*76559068SAndroid Build Coastguard Worker "-DSCUDO_NO_TEST_MAIN", 261*76559068SAndroid Build Coastguard Worker ], 262*76559068SAndroid Build Coastguard Worker target: { 263*76559068SAndroid Build Coastguard Worker bionic: { 264*76559068SAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 265*76559068SAndroid Build Coastguard Worker }, 266*76559068SAndroid Build Coastguard Worker }, 267*76559068SAndroid Build Coastguard Worker test_suites: ["general-tests"], 268*76559068SAndroid Build Coastguard Worker bootstrap: true, 269*76559068SAndroid Build Coastguard Worker srcs: [ 270*76559068SAndroid Build Coastguard Worker "standalone/tests/scudo_unit_test_main.cpp", 271*76559068SAndroid Build Coastguard Worker ], 272*76559068SAndroid Build Coastguard Worker} 273*76559068SAndroid Build Coastguard Worker 274*76559068SAndroid Build Coastguard Workercc_test { 275*76559068SAndroid Build Coastguard Worker name: "scudo_unit_tests", 276*76559068SAndroid Build Coastguard Worker defaults: ["scudo_unit_tests_default"], 277*76559068SAndroid Build Coastguard Worker host_supported: true, 278*76559068SAndroid Build Coastguard Worker srcs: [ 279*76559068SAndroid Build Coastguard Worker "standalone/tests/allocator_config_test.cpp", 280*76559068SAndroid Build Coastguard Worker "standalone/tests/atomic_test.cpp", 281*76559068SAndroid Build Coastguard Worker "standalone/tests/bytemap_test.cpp", 282*76559068SAndroid Build Coastguard Worker "standalone/tests/checksum_test.cpp", 283*76559068SAndroid Build Coastguard Worker "standalone/tests/chunk_test.cpp", 284*76559068SAndroid Build Coastguard Worker "standalone/tests/combined_test.cpp", 285*76559068SAndroid Build Coastguard Worker "standalone/tests/condition_variable_test.cpp", 286*76559068SAndroid Build Coastguard Worker "standalone/tests/flags_test.cpp", 287*76559068SAndroid Build Coastguard Worker "standalone/tests/list_test.cpp", 288*76559068SAndroid Build Coastguard Worker "standalone/tests/map_test.cpp", 289*76559068SAndroid Build Coastguard Worker "standalone/tests/memtag_test.cpp", 290*76559068SAndroid Build Coastguard Worker "standalone/tests/mutex_test.cpp", 291*76559068SAndroid Build Coastguard Worker "standalone/tests/primary_test.cpp", 292*76559068SAndroid Build Coastguard Worker "standalone/tests/quarantine_test.cpp", 293*76559068SAndroid Build Coastguard Worker "standalone/tests/release_test.cpp", 294*76559068SAndroid Build Coastguard Worker "standalone/tests/report_test.cpp", 295*76559068SAndroid Build Coastguard Worker "standalone/tests/secondary_test.cpp", 296*76559068SAndroid Build Coastguard Worker "standalone/tests/size_class_map_test.cpp", 297*76559068SAndroid Build Coastguard Worker "standalone/tests/stats_test.cpp", 298*76559068SAndroid Build Coastguard Worker "standalone/tests/strings_test.cpp", 299*76559068SAndroid Build Coastguard Worker "standalone/tests/timing_test.cpp", 300*76559068SAndroid Build Coastguard Worker "standalone/tests/tsd_test.cpp", 301*76559068SAndroid Build Coastguard Worker "standalone/tests/vector_test.cpp", 302*76559068SAndroid Build Coastguard Worker ], 303*76559068SAndroid Build Coastguard Worker} 304*76559068SAndroid Build Coastguard Worker 305*76559068SAndroid Build Coastguard Workercc_test { 306*76559068SAndroid Build Coastguard Worker name: "scudo_wrappers_unit_tests", 307*76559068SAndroid Build Coastguard Worker defaults: ["scudo_unit_tests_default"], 308*76559068SAndroid Build Coastguard Worker // These are wrapper tests, disable the host tests since they would run 309*76559068SAndroid Build Coastguard Worker // against glibc. 310*76559068SAndroid Build Coastguard Worker host_supported: false, 311*76559068SAndroid Build Coastguard Worker cflags: [ 312*76559068SAndroid Build Coastguard Worker "-Wno-mismatched-new-delete", 313*76559068SAndroid Build Coastguard Worker ], 314*76559068SAndroid Build Coastguard Worker srcs: [ 315*76559068SAndroid Build Coastguard Worker "standalone/tests/wrappers_c_test.cpp", 316*76559068SAndroid Build Coastguard Worker "standalone/tests/wrappers_cpp_test.cpp", 317*76559068SAndroid Build Coastguard Worker ], 318*76559068SAndroid Build Coastguard Worker} 319*76559068SAndroid Build Coastguard Worker 320*76559068SAndroid Build Coastguard Workercc_fuzz { 321*76559068SAndroid Build Coastguard Worker name: "scudo_get_error_info_fuzzer", 322*76559068SAndroid Build Coastguard Worker host_supported: true, 323*76559068SAndroid Build Coastguard Worker compile_multilib: "64", 324*76559068SAndroid Build Coastguard Worker static_libs: ["libscudo"], 325*76559068SAndroid Build Coastguard Worker include_dirs: [ 326*76559068SAndroid Build Coastguard Worker "external/scudo/standalone", 327*76559068SAndroid Build Coastguard Worker "external/scudo/standalone/include", 328*76559068SAndroid Build Coastguard Worker ], 329*76559068SAndroid Build Coastguard Worker cflags: [ 330*76559068SAndroid Build Coastguard Worker "-Wno-unneeded-internal-declaration", 331*76559068SAndroid Build Coastguard Worker ], 332*76559068SAndroid Build Coastguard Worker srcs: ["standalone/fuzz/get_error_info_fuzzer.cpp"], 333*76559068SAndroid Build Coastguard Worker fuzz_config: { 334*76559068SAndroid Build Coastguard Worker componentid: 87896, 335*76559068SAndroid Build Coastguard Worker }, 336*76559068SAndroid Build Coastguard Worker} 337*76559068SAndroid Build Coastguard Worker 338*76559068SAndroid Build Coastguard Workercc_test { 339*76559068SAndroid Build Coastguard Worker name: "size_map_verify_unit_tests", 340*76559068SAndroid Build Coastguard Worker host_supported: true, 341*76559068SAndroid Build Coastguard Worker static_libs: ["libscudo"], 342*76559068SAndroid Build Coastguard Worker 343*76559068SAndroid Build Coastguard Worker include_dirs: [ 344*76559068SAndroid Build Coastguard Worker "external/scudo/android/tools", 345*76559068SAndroid Build Coastguard Worker "external/scudo/standalone", 346*76559068SAndroid Build Coastguard Worker "external/scudo/standalone/include", 347*76559068SAndroid Build Coastguard Worker "external/scudo/standalone/tools", 348*76559068SAndroid Build Coastguard Worker ], 349*76559068SAndroid Build Coastguard Worker srcs: [ 350*76559068SAndroid Build Coastguard Worker "android/tests/size_map_verify_unit_tests.cpp", 351*76559068SAndroid Build Coastguard Worker ], 352*76559068SAndroid Build Coastguard Worker} 353*76559068SAndroid Build Coastguard Worker 354*76559068SAndroid Build Coastguard Workercc_binary { 355*76559068SAndroid Build Coastguard Worker name: "size_map_gen", 356*76559068SAndroid Build Coastguard Worker defaults: ["scudo_config_defaults"], 357*76559068SAndroid Build Coastguard Worker host_supported: true, 358*76559068SAndroid Build Coastguard Worker static_libs: ["libscudo"], 359*76559068SAndroid Build Coastguard Worker include_dirs: [ 360*76559068SAndroid Build Coastguard Worker "external/scudo/android/tools", 361*76559068SAndroid Build Coastguard Worker "external/scudo/standalone", 362*76559068SAndroid Build Coastguard Worker "external/scudo/standalone/include", 363*76559068SAndroid Build Coastguard Worker ], 364*76559068SAndroid Build Coastguard Worker srcs: ["android/tools/size_map_gen.cpp"], 365*76559068SAndroid Build Coastguard Worker} 366*76559068SAndroid Build Coastguard Worker 367*76559068SAndroid Build Coastguard Worker// The targets below verify that all configuration is set up properly for 368*76559068SAndroid Build Coastguard Worker// the library or tests. 369*76559068SAndroid Build Coastguard Workercc_defaults { 370*76559068SAndroid Build Coastguard Worker name: "scudo_verify_defaults", 371*76559068SAndroid Build Coastguard Worker host_supported: true, 372*76559068SAndroid Build Coastguard Worker srcs: ["config/config_build_check.cpp"], 373*76559068SAndroid Build Coastguard Worker 374*76559068SAndroid Build Coastguard Worker include_dirs: [ 375*76559068SAndroid Build Coastguard Worker "external/scudo/standalone", 376*76559068SAndroid Build Coastguard Worker ], 377*76559068SAndroid Build Coastguard Worker 378*76559068SAndroid Build Coastguard Worker product_variables: { 379*76559068SAndroid Build Coastguard Worker malloc_low_memory: { 380*76559068SAndroid Build Coastguard Worker cflags: ["-DSCUDO_LOW_MEMORY_CHECK"], 381*76559068SAndroid Build Coastguard Worker }, 382*76559068SAndroid Build Coastguard Worker }, 383*76559068SAndroid Build Coastguard Worker} 384*76559068SAndroid Build Coastguard Worker 385*76559068SAndroid Build Coastguard Workercc_test { 386*76559068SAndroid Build Coastguard Worker name: "scudo_verify_config", 387*76559068SAndroid Build Coastguard Worker defaults: [ 388*76559068SAndroid Build Coastguard Worker "scudo_verify_defaults", 389*76559068SAndroid Build Coastguard Worker "scudo_unit_tests_default", 390*76559068SAndroid Build Coastguard Worker ], 391*76559068SAndroid Build Coastguard Worker} 392*76559068SAndroid Build Coastguard Worker 393*76559068SAndroid Build Coastguard Workerdirgroup { 394*76559068SAndroid Build Coastguard Worker name: "trusty_dirgroup_external_scudo", 395*76559068SAndroid Build Coastguard Worker dirs: ["."], 396*76559068SAndroid Build Coastguard Worker visibility: ["//trusty/vendor/google/aosp/scripts"], 397*76559068SAndroid Build Coastguard Worker} 398