1*8d67ca89SAndroid Build Coastguard Workerpackage { 2*8d67ca89SAndroid Build Coastguard Worker default_applicable_licenses: ["bionic_libc_license"], 3*8d67ca89SAndroid Build Coastguard Worker} 4*8d67ca89SAndroid Build Coastguard Worker 5*8d67ca89SAndroid Build Coastguard Workerlicense { 6*8d67ca89SAndroid Build Coastguard Worker name: "bionic_libc_license", 7*8d67ca89SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 8*8d67ca89SAndroid Build Coastguard Worker license_kinds: [ 9*8d67ca89SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 10*8d67ca89SAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 11*8d67ca89SAndroid Build Coastguard Worker "SPDX-license-identifier-ISC", 12*8d67ca89SAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 13*8d67ca89SAndroid Build Coastguard Worker "legacy_notice", 14*8d67ca89SAndroid Build Coastguard Worker "legacy_unencumbered", 15*8d67ca89SAndroid Build Coastguard Worker ], 16*8d67ca89SAndroid Build Coastguard Worker license_text: [ 17*8d67ca89SAndroid Build Coastguard Worker "NOTICE", 18*8d67ca89SAndroid Build Coastguard Worker ], 19*8d67ca89SAndroid Build Coastguard Worker} 20*8d67ca89SAndroid Build Coastguard Worker 21*8d67ca89SAndroid Build Coastguard Workerlibc_common_flags = [ 22*8d67ca89SAndroid Build Coastguard Worker "-D_LIBC=1", 23*8d67ca89SAndroid Build Coastguard Worker "-D__BIONIC_LP32_USE_STAT64", 24*8d67ca89SAndroid Build Coastguard Worker "-Wall", 25*8d67ca89SAndroid Build Coastguard Worker "-Wextra", 26*8d67ca89SAndroid Build Coastguard Worker "-Wunused", 27*8d67ca89SAndroid Build Coastguard Worker "-Wno-char-subscripts", 28*8d67ca89SAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 29*8d67ca89SAndroid Build Coastguard Worker "-Wno-gcc-compat", 30*8d67ca89SAndroid Build Coastguard Worker "-Wframe-larger-than=2048", 31*8d67ca89SAndroid Build Coastguard Worker "-Wno-reorder-init-list", 32*8d67ca89SAndroid Build Coastguard Worker 33*8d67ca89SAndroid Build Coastguard Worker // Try to catch typical 32-bit assumptions that break with 64-bit pointers. 34*8d67ca89SAndroid Build Coastguard Worker "-Werror=pointer-to-int-cast", 35*8d67ca89SAndroid Build Coastguard Worker "-Werror=int-to-pointer-cast", 36*8d67ca89SAndroid Build Coastguard Worker "-Werror=type-limits", 37*8d67ca89SAndroid Build Coastguard Worker "-Werror", 38*8d67ca89SAndroid Build Coastguard Worker 39*8d67ca89SAndroid Build Coastguard Worker // Clang's exit-time destructor registration hides __dso_handle, but 40*8d67ca89SAndroid Build Coastguard Worker // __dso_handle needs to have default visibility on ARM32. See b/73485611. 41*8d67ca89SAndroid Build Coastguard Worker "-Wexit-time-destructors", 42*8d67ca89SAndroid Build Coastguard Worker 43*8d67ca89SAndroid Build Coastguard Worker // We know clang does a lot of harm by rewriting what we've said, and sadly 44*8d67ca89SAndroid Build Coastguard Worker // never see any good it does, so let's just ask it to do what we say... 45*8d67ca89SAndroid Build Coastguard Worker // (The specific motivating example was clang turning a loop that would only 46*8d67ca89SAndroid Build Coastguard Worker // ever touch 0, 1, or 2 bytes into a call to memset, which was never going 47*8d67ca89SAndroid Build Coastguard Worker // to amortize.) 48*8d67ca89SAndroid Build Coastguard Worker "-fno-builtin", 49*8d67ca89SAndroid Build Coastguard Worker] 50*8d67ca89SAndroid Build Coastguard Worker 51*8d67ca89SAndroid Build Coastguard Worker// Define some common cflags 52*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 53*8d67ca89SAndroid Build Coastguard Workercc_defaults { 54*8d67ca89SAndroid Build Coastguard Worker name: "libc_defaults", 55*8d67ca89SAndroid Build Coastguard Worker defaults: ["linux_bionic_supported"], 56*8d67ca89SAndroid Build Coastguard Worker cflags: libc_common_flags + [ 57*8d67ca89SAndroid Build Coastguard Worker "-DUSE_SCUDO", 58*8d67ca89SAndroid Build Coastguard Worker ], 59*8d67ca89SAndroid Build Coastguard Worker asflags: libc_common_flags, 60*8d67ca89SAndroid Build Coastguard Worker conlyflags: ["-std=gnu99"], 61*8d67ca89SAndroid Build Coastguard Worker cppflags: [], 62*8d67ca89SAndroid Build Coastguard Worker include_dirs: [ 63*8d67ca89SAndroid Build Coastguard Worker "bionic/libc/async_safe/include", 64*8d67ca89SAndroid Build Coastguard Worker "bionic/libc/platform", 65*8d67ca89SAndroid Build Coastguard Worker // For android_filesystem_config.h. 66*8d67ca89SAndroid Build Coastguard Worker "system/core/libcutils/include", 67*8d67ca89SAndroid Build Coastguard Worker ], 68*8d67ca89SAndroid Build Coastguard Worker 69*8d67ca89SAndroid Build Coastguard Worker header_libs: [ 70*8d67ca89SAndroid Build Coastguard Worker "libc_headers", 71*8d67ca89SAndroid Build Coastguard Worker "liblog_headers", // needed by bionic/libc/async_safe/include 72*8d67ca89SAndroid Build Coastguard Worker ], 73*8d67ca89SAndroid Build Coastguard Worker export_header_lib_headers: [ 74*8d67ca89SAndroid Build Coastguard Worker "libc_headers", 75*8d67ca89SAndroid Build Coastguard Worker ], 76*8d67ca89SAndroid Build Coastguard Worker 77*8d67ca89SAndroid Build Coastguard Worker stl: "none", 78*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 79*8d67ca89SAndroid Build Coastguard Worker sanitize: { 80*8d67ca89SAndroid Build Coastguard Worker address: false, 81*8d67ca89SAndroid Build Coastguard Worker integer_overflow: false, 82*8d67ca89SAndroid Build Coastguard Worker // TODO(b/132640749): Fix broken fuzzer support. 83*8d67ca89SAndroid Build Coastguard Worker fuzzer: false, 84*8d67ca89SAndroid Build Coastguard Worker }, 85*8d67ca89SAndroid Build Coastguard Worker ramdisk_available: true, 86*8d67ca89SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 87*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 88*8d67ca89SAndroid Build Coastguard Worker native_bridge_supported: true, 89*8d67ca89SAndroid Build Coastguard Worker 90*8d67ca89SAndroid Build Coastguard Worker product_variables: { 91*8d67ca89SAndroid Build Coastguard Worker malloc_zero_contents: { 92*8d67ca89SAndroid Build Coastguard Worker cflags: ["-DSCUDO_ZERO_CONTENTS"], 93*8d67ca89SAndroid Build Coastguard Worker }, 94*8d67ca89SAndroid Build Coastguard Worker malloc_pattern_fill_contents: { 95*8d67ca89SAndroid Build Coastguard Worker cflags: ["-DSCUDO_PATTERN_FILL_CONTENTS"], 96*8d67ca89SAndroid Build Coastguard Worker }, 97*8d67ca89SAndroid Build Coastguard Worker malloc_low_memory: { 98*8d67ca89SAndroid Build Coastguard Worker cflags: ["-UUSE_SCUDO"], 99*8d67ca89SAndroid Build Coastguard Worker }, 100*8d67ca89SAndroid Build Coastguard Worker }, 101*8d67ca89SAndroid Build Coastguard Worker 102*8d67ca89SAndroid Build Coastguard Worker lto: { 103*8d67ca89SAndroid Build Coastguard Worker never: true, 104*8d67ca89SAndroid Build Coastguard Worker }, 105*8d67ca89SAndroid Build Coastguard Worker 106*8d67ca89SAndroid Build Coastguard Worker apex_available: ["com.android.runtime"], 107*8d67ca89SAndroid Build Coastguard Worker 108*8d67ca89SAndroid Build Coastguard Worker tidy_disabled_srcs: ["upstream-*/**/*.c"], 109*8d67ca89SAndroid Build Coastguard Worker} 110*8d67ca89SAndroid Build Coastguard Worker 111*8d67ca89SAndroid Build Coastguard Worker// Workaround for b/24465209. 112*8d67ca89SAndroid Build Coastguard Worker// We're unlikely to be able to remove this before we just 113*8d67ca89SAndroid Build Coastguard Worker// remove ILP32 support completely. 114*8d67ca89SAndroid Build Coastguard Worker// Note that we also still have `pack_relocations: false` 115*8d67ca89SAndroid Build Coastguard Worker// for both libc and libm, even on LP64. 116*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 117*8d67ca89SAndroid Build Coastguard Workercc_defaults { 118*8d67ca89SAndroid Build Coastguard Worker name: "bug_24465209_workaround", 119*8d67ca89SAndroid Build Coastguard Worker target: { 120*8d67ca89SAndroid Build Coastguard Worker android_arm: { 121*8d67ca89SAndroid Build Coastguard Worker pack_relocations: false, 122*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--hash-style=both"], 123*8d67ca89SAndroid Build Coastguard Worker }, 124*8d67ca89SAndroid Build Coastguard Worker android_x86: { 125*8d67ca89SAndroid Build Coastguard Worker pack_relocations: false, 126*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--hash-style=both"], 127*8d67ca89SAndroid Build Coastguard Worker }, 128*8d67ca89SAndroid Build Coastguard Worker }, 129*8d67ca89SAndroid Build Coastguard Worker} 130*8d67ca89SAndroid Build Coastguard Worker 131*8d67ca89SAndroid Build Coastguard Worker// Leave the symbols in the shared library so that stack unwinders can produce 132*8d67ca89SAndroid Build Coastguard Worker// meaningful name resolution. This is a bit more ugly than it sounds because 133*8d67ca89SAndroid Build Coastguard Worker// arm32 is a bit broken. 134*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 135*8d67ca89SAndroid Build Coastguard Workercc_defaults { 136*8d67ca89SAndroid Build Coastguard Worker name: "keep_symbols", 137*8d67ca89SAndroid Build Coastguard Worker arch: { 138*8d67ca89SAndroid Build Coastguard Worker arm: { 139*8d67ca89SAndroid Build Coastguard Worker // arm32 does not produce complete exidx unwind information, 140*8d67ca89SAndroid Build Coastguard Worker // so keep the .debug_frame which is relatively small and does 141*8d67ca89SAndroid Build Coastguard Worker // include needed unwind information. 142*8d67ca89SAndroid Build Coastguard Worker // See b/132992102 for details. 143*8d67ca89SAndroid Build Coastguard Worker strip: { 144*8d67ca89SAndroid Build Coastguard Worker keep_symbols_and_debug_frame: true, 145*8d67ca89SAndroid Build Coastguard Worker }, 146*8d67ca89SAndroid Build Coastguard Worker }, 147*8d67ca89SAndroid Build Coastguard Worker arm64: { 148*8d67ca89SAndroid Build Coastguard Worker strip: { 149*8d67ca89SAndroid Build Coastguard Worker keep_symbols: true, 150*8d67ca89SAndroid Build Coastguard Worker }, 151*8d67ca89SAndroid Build Coastguard Worker }, 152*8d67ca89SAndroid Build Coastguard Worker riscv64: { 153*8d67ca89SAndroid Build Coastguard Worker strip: { 154*8d67ca89SAndroid Build Coastguard Worker keep_symbols: true, 155*8d67ca89SAndroid Build Coastguard Worker }, 156*8d67ca89SAndroid Build Coastguard Worker }, 157*8d67ca89SAndroid Build Coastguard Worker x86: { 158*8d67ca89SAndroid Build Coastguard Worker strip: { 159*8d67ca89SAndroid Build Coastguard Worker keep_symbols: true, 160*8d67ca89SAndroid Build Coastguard Worker }, 161*8d67ca89SAndroid Build Coastguard Worker }, 162*8d67ca89SAndroid Build Coastguard Worker x86_64: { 163*8d67ca89SAndroid Build Coastguard Worker strip: { 164*8d67ca89SAndroid Build Coastguard Worker keep_symbols: true, 165*8d67ca89SAndroid Build Coastguard Worker }, 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// Defaults for native allocator libs/includes to make it 171*8d67ca89SAndroid Build Coastguard Worker// easier to change. 172*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 173*8d67ca89SAndroid Build Coastguard Workercc_defaults { 174*8d67ca89SAndroid Build Coastguard Worker name: "libc_native_allocator_defaults", 175*8d67ca89SAndroid Build Coastguard Worker 176*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 177*8d67ca89SAndroid Build Coastguard Worker "libscudo", 178*8d67ca89SAndroid Build Coastguard Worker ], 179*8d67ca89SAndroid Build Coastguard Worker cflags: [ 180*8d67ca89SAndroid Build Coastguard Worker "-DUSE_SCUDO", 181*8d67ca89SAndroid Build Coastguard Worker ], 182*8d67ca89SAndroid Build Coastguard Worker header_libs: ["gwp_asan_headers"], 183*8d67ca89SAndroid Build Coastguard Worker product_variables: { 184*8d67ca89SAndroid Build Coastguard Worker malloc_low_memory: { 185*8d67ca89SAndroid Build Coastguard Worker cflags: ["-UUSE_SCUDO"], 186*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 187*8d67ca89SAndroid Build Coastguard Worker "libjemalloc5", 188*8d67ca89SAndroid Build Coastguard Worker "libc_jemalloc_wrapper", 189*8d67ca89SAndroid Build Coastguard Worker ], 190*8d67ca89SAndroid Build Coastguard Worker exclude_static_libs: [ 191*8d67ca89SAndroid Build Coastguard Worker "libscudo", 192*8d67ca89SAndroid Build Coastguard Worker ], 193*8d67ca89SAndroid Build Coastguard Worker }, 194*8d67ca89SAndroid Build Coastguard Worker }, 195*8d67ca89SAndroid Build Coastguard Worker} 196*8d67ca89SAndroid Build Coastguard Worker 197*8d67ca89SAndroid Build Coastguard Worker// Functions not implemented by jemalloc directly, or that need to 198*8d67ca89SAndroid Build Coastguard Worker// be modified for Android. 199*8d67ca89SAndroid Build Coastguard Workercc_library_static { 200*8d67ca89SAndroid Build Coastguard Worker name: "libc_jemalloc_wrapper", 201*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 202*8d67ca89SAndroid Build Coastguard Worker srcs: ["bionic/jemalloc_wrapper.cpp"], 203*8d67ca89SAndroid Build Coastguard Worker cflags: ["-fvisibility=hidden"], 204*8d67ca89SAndroid Build Coastguard Worker 205*8d67ca89SAndroid Build Coastguard Worker // Used to pull in the jemalloc include directory so that if the 206*8d67ca89SAndroid Build Coastguard Worker // library is removed, the include directory is also removed. 207*8d67ca89SAndroid Build Coastguard Worker static_libs: ["libjemalloc5"], 208*8d67ca89SAndroid Build Coastguard Worker} 209*8d67ca89SAndroid Build Coastguard Worker 210*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 211*8d67ca89SAndroid Build Coastguard Worker// libc_bootstrap.a - -fno-stack-protector and -ffreestanding 212*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 213*8d67ca89SAndroid Build Coastguard Worker// 214*8d67ca89SAndroid Build Coastguard Worker// Code that implements the stack protector (or that runs before TLS has been set up) needs to be 215*8d67ca89SAndroid Build Coastguard Worker// compiled with -fno-stack-protector, since it accesses the stack canary TLS slot. In the linker, 216*8d67ca89SAndroid Build Coastguard Worker// some of this code runs before ifunc resolvers have made string.h functions work, so compile with 217*8d67ca89SAndroid Build Coastguard Worker// -ffreestanding. 218*8d67ca89SAndroid Build Coastguard Worker 219*8d67ca89SAndroid Build Coastguard Workercc_library_static { 220*8d67ca89SAndroid Build Coastguard Worker 221*8d67ca89SAndroid Build Coastguard Worker srcs: [ 222*8d67ca89SAndroid Build Coastguard Worker "bionic/__libc_init_main_thread.cpp", 223*8d67ca89SAndroid Build Coastguard Worker "bionic/__stack_chk_fail.cpp", 224*8d67ca89SAndroid Build Coastguard Worker "bionic/bionic_call_ifunc_resolver.cpp", 225*8d67ca89SAndroid Build Coastguard Worker "bionic/getauxval.cpp", 226*8d67ca89SAndroid Build Coastguard Worker ], 227*8d67ca89SAndroid Build Coastguard Worker arch: { 228*8d67ca89SAndroid Build Coastguard Worker arm64: { 229*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-arm64/bionic/__set_tls.c"], 230*8d67ca89SAndroid Build Coastguard Worker }, 231*8d67ca89SAndroid Build Coastguard Worker riscv64: { 232*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-riscv64/bionic/__set_tls.c"], 233*8d67ca89SAndroid Build Coastguard Worker }, 234*8d67ca89SAndroid Build Coastguard Worker x86: { 235*8d67ca89SAndroid Build Coastguard Worker srcs: [ 236*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/__libc_init_sysinfo.cpp", 237*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/__libc_int0x80.S", 238*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/__set_tls.cpp", 239*8d67ca89SAndroid Build Coastguard Worker ], 240*8d67ca89SAndroid Build Coastguard Worker }, 241*8d67ca89SAndroid Build Coastguard Worker x86_64: { 242*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-x86_64/bionic/__set_tls.c"], 243*8d67ca89SAndroid Build Coastguard Worker }, 244*8d67ca89SAndroid Build Coastguard Worker }, 245*8d67ca89SAndroid Build Coastguard Worker 246*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 247*8d67ca89SAndroid Build Coastguard Worker cflags: [ 248*8d67ca89SAndroid Build Coastguard Worker "-fno-stack-protector", 249*8d67ca89SAndroid Build Coastguard Worker "-ffreestanding", 250*8d67ca89SAndroid Build Coastguard Worker ], 251*8d67ca89SAndroid Build Coastguard Worker name: "libc_bootstrap", 252*8d67ca89SAndroid Build Coastguard Worker} 253*8d67ca89SAndroid Build Coastguard Worker 254*8d67ca89SAndroid Build Coastguard Workerfilegroup { 255*8d67ca89SAndroid Build Coastguard Worker name: "elf_note_sources", 256*8d67ca89SAndroid Build Coastguard Worker srcs: ["bionic/elf_note.cpp"], 257*8d67ca89SAndroid Build Coastguard Worker} 258*8d67ca89SAndroid Build Coastguard Worker 259*8d67ca89SAndroid Build Coastguard Worker// libc_init_static.cpp and libc_init_dynamic.cpp need to be built without stack protector. 260*8d67ca89SAndroid Build Coastguard Worker// libc_init_static.cpp sets up TLS for static executables, and libc_init_dynamic.cpp initializes 261*8d67ca89SAndroid Build Coastguard Worker// the stack protector global variable. 262*8d67ca89SAndroid Build Coastguard Worker 263*8d67ca89SAndroid Build Coastguard Workercc_library_static { 264*8d67ca89SAndroid Build Coastguard Worker name: "libc_init_static", 265*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 266*8d67ca89SAndroid Build Coastguard Worker srcs: [ 267*8d67ca89SAndroid Build Coastguard Worker "bionic/libc_init_mte.cpp", 268*8d67ca89SAndroid Build Coastguard Worker "bionic/libc_init_static.cpp", 269*8d67ca89SAndroid Build Coastguard Worker ":elf_note_sources", 270*8d67ca89SAndroid Build Coastguard Worker ], 271*8d67ca89SAndroid Build Coastguard Worker cflags: [ 272*8d67ca89SAndroid Build Coastguard Worker "-fno-stack-protector", 273*8d67ca89SAndroid Build Coastguard Worker 274*8d67ca89SAndroid Build Coastguard Worker // Compile libc_init_static.cpp with -ffreestanding, because some of its code is called 275*8d67ca89SAndroid Build Coastguard Worker // from the linker before ifunc resolvers have made string.h functions available. 276*8d67ca89SAndroid Build Coastguard Worker "-ffreestanding", 277*8d67ca89SAndroid Build Coastguard Worker ], 278*8d67ca89SAndroid Build Coastguard Worker} 279*8d67ca89SAndroid Build Coastguard Worker 280*8d67ca89SAndroid Build Coastguard Workercc_library_static { 281*8d67ca89SAndroid Build Coastguard Worker name: "libc_init_dynamic", 282*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 283*8d67ca89SAndroid Build Coastguard Worker srcs: ["bionic/libc_init_dynamic.cpp"], 284*8d67ca89SAndroid Build Coastguard Worker cflags: ["-fno-stack-protector"], 285*8d67ca89SAndroid Build Coastguard Worker} 286*8d67ca89SAndroid Build Coastguard Worker 287*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 288*8d67ca89SAndroid Build Coastguard Worker// libc_tzcode.a - upstream 'tzcode' code 289*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 290*8d67ca89SAndroid Build Coastguard Worker 291*8d67ca89SAndroid Build Coastguard Workercc_library_static { 292*8d67ca89SAndroid Build Coastguard Worker 293*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 294*8d67ca89SAndroid Build Coastguard Worker srcs: [ 295*8d67ca89SAndroid Build Coastguard Worker "tzcode/**/*.c", 296*8d67ca89SAndroid Build Coastguard Worker "tzcode/bionic.cpp", 297*8d67ca89SAndroid Build Coastguard Worker // tzcode doesn't include strptime, so we use a fork of the 298*8d67ca89SAndroid Build Coastguard Worker // OpenBSD code which needs this global data. 299*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/_def_time.c", 300*8d67ca89SAndroid Build Coastguard Worker // tzcode doesn't include wcsftime, so we use the FreeBSD code. 301*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/locale/wcsftime.c", 302*8d67ca89SAndroid Build Coastguard Worker ], 303*8d67ca89SAndroid Build Coastguard Worker 304*8d67ca89SAndroid Build Coastguard Worker cflags: [ 305*8d67ca89SAndroid Build Coastguard Worker "-Wno-unused-parameter", 306*8d67ca89SAndroid Build Coastguard Worker // Don't use ridiculous amounts of stack. 307*8d67ca89SAndroid Build Coastguard Worker "-DALL_STATE", 308*8d67ca89SAndroid Build Coastguard Worker // Include tzsetwall, timelocal, timegm, time2posix, and posix2time. 309*8d67ca89SAndroid Build Coastguard Worker "-DSTD_INSPIRED", 310*8d67ca89SAndroid Build Coastguard Worker // Obviously, we want to be thread-safe. 311*8d67ca89SAndroid Build Coastguard Worker "-DTHREAD_SAFE=1", 312*8d67ca89SAndroid Build Coastguard Worker // The name of the tm_gmtoff field in our struct tm. 313*8d67ca89SAndroid Build Coastguard Worker "-DTM_GMTOFF=tm_gmtoff", 314*8d67ca89SAndroid Build Coastguard Worker // Android uses a system property instead of /etc/localtime, so make callers crash. 315*8d67ca89SAndroid Build Coastguard Worker "-DTZDEFAULT=NULL", 316*8d67ca89SAndroid Build Coastguard Worker // Where we store our tzdata. 317*8d67ca89SAndroid Build Coastguard Worker "-DTZDIR=\"/system/usr/share/zoneinfo\"", 318*8d67ca89SAndroid Build Coastguard Worker // Include `tzname`, `timezone`, and `daylight` globals. 319*8d67ca89SAndroid Build Coastguard Worker "-DHAVE_POSIX_DECLS=0", 320*8d67ca89SAndroid Build Coastguard Worker "-DUSG_COMPAT=2", 321*8d67ca89SAndroid Build Coastguard Worker "-DHAVE_TZNAME=2", 322*8d67ca89SAndroid Build Coastguard Worker // stdbool.h is available 323*8d67ca89SAndroid Build Coastguard Worker "-DHAVE_STDBOOL_H", 324*8d67ca89SAndroid Build Coastguard Worker // Use the empty string (instead of " ") as the timezone abbreviation 325*8d67ca89SAndroid Build Coastguard Worker // fallback. 326*8d67ca89SAndroid Build Coastguard Worker "-DWILDABBR=\"\"", 327*8d67ca89SAndroid Build Coastguard Worker "-Dlint", 328*8d67ca89SAndroid Build Coastguard Worker ], 329*8d67ca89SAndroid Build Coastguard Worker 330*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 331*8d67ca89SAndroid Build Coastguard Worker "tzcode/", 332*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/android/include", 333*8d67ca89SAndroid Build Coastguard Worker ], 334*8d67ca89SAndroid Build Coastguard Worker name: "libc_tzcode", 335*8d67ca89SAndroid Build Coastguard Worker} 336*8d67ca89SAndroid Build Coastguard Worker 337*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 338*8d67ca89SAndroid Build Coastguard Worker// libc_dns.a - modified NetBSD DNS code 339*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 340*8d67ca89SAndroid Build Coastguard Worker 341*8d67ca89SAndroid Build Coastguard Workercc_library_static { 342*8d67ca89SAndroid Build Coastguard Worker 343*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 344*8d67ca89SAndroid Build Coastguard Worker srcs: [ 345*8d67ca89SAndroid Build Coastguard Worker "dns/**/*.c*", 346*8d67ca89SAndroid Build Coastguard Worker 347*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/isc/ev_streams.c", 348*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/isc/ev_timers.c", 349*8d67ca89SAndroid Build Coastguard Worker ], 350*8d67ca89SAndroid Build Coastguard Worker 351*8d67ca89SAndroid Build Coastguard Worker cflags: [ 352*8d67ca89SAndroid Build Coastguard Worker "-DANDROID_CHANGES", 353*8d67ca89SAndroid Build Coastguard Worker "-DINET6", 354*8d67ca89SAndroid Build Coastguard Worker "-Wno-unused-parameter", 355*8d67ca89SAndroid Build Coastguard Worker "-include netbsd-compat.h", 356*8d67ca89SAndroid Build Coastguard Worker "-Wframe-larger-than=66000", 357*8d67ca89SAndroid Build Coastguard Worker ], 358*8d67ca89SAndroid Build Coastguard Worker 359*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 360*8d67ca89SAndroid Build Coastguard Worker "dns/include", 361*8d67ca89SAndroid Build Coastguard Worker "private", 362*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/include", 363*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/android/include", 364*8d67ca89SAndroid Build Coastguard Worker ], 365*8d67ca89SAndroid Build Coastguard Worker 366*8d67ca89SAndroid Build Coastguard Worker name: "libc_dns", 367*8d67ca89SAndroid Build Coastguard Worker} 368*8d67ca89SAndroid Build Coastguard Worker 369*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 370*8d67ca89SAndroid Build Coastguard Worker// libc_freebsd.a - upstream FreeBSD C library code 371*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 372*8d67ca89SAndroid Build Coastguard Worker// 373*8d67ca89SAndroid Build Coastguard Worker// These files are built with the freebsd-compat.h header file 374*8d67ca89SAndroid Build Coastguard Worker// automatically included. 375*8d67ca89SAndroid Build Coastguard Worker 376*8d67ca89SAndroid Build Coastguard Workercc_library_static { 377*8d67ca89SAndroid Build Coastguard Worker name: "libc_freebsd_ldexp", 378*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 379*8d67ca89SAndroid Build Coastguard Worker cflags: ["-Dscalbn=ldexp"], 380*8d67ca89SAndroid Build Coastguard Worker srcs: [":libc_ldexp_srcs"], 381*8d67ca89SAndroid Build Coastguard Worker} 382*8d67ca89SAndroid Build Coastguard Worker 383*8d67ca89SAndroid Build Coastguard Workercc_library_static { 384*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 385*8d67ca89SAndroid Build Coastguard Worker srcs: [ 386*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/stdlib/getopt_long.c", 387*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/stdlib/hcreate.c", 388*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/stdlib/hcreate_r.c", 389*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/stdlib/hdestroy_r.c", 390*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/stdlib/hsearch_r.c", 391*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/stdlib/qsort.c", 392*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/stdlib/qsort_r.c", 393*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/stdlib/quick_exit.c", 394*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcpcpy.c", 395*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcpncpy.c", 396*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcscasecmp.c", 397*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcscat.c", 398*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcschr.c", 399*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcscmp.c", 400*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcscpy.c", 401*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcscspn.c", 402*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsdup.c", 403*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcslcat.c", 404*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcslen.c", 405*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsncasecmp.c", 406*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsncat.c", 407*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsncmp.c", 408*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsncpy.c", 409*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsnlen.c", 410*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcspbrk.c", 411*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsrchr.c", 412*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsspn.c", 413*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcsstr.c", 414*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wcstok.c", 415*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wmemchr.c", 416*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wmemcmp.c", 417*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wmemcpy.c", 418*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wmemmove.c", 419*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/string/wmemset.c", 420*8d67ca89SAndroid Build Coastguard Worker ], 421*8d67ca89SAndroid Build Coastguard Worker 422*8d67ca89SAndroid Build Coastguard Worker cflags: [ 423*8d67ca89SAndroid Build Coastguard Worker "-Wno-sign-compare", 424*8d67ca89SAndroid Build Coastguard Worker "-Wno-unused-parameter", 425*8d67ca89SAndroid Build Coastguard Worker "-include freebsd-compat.h", 426*8d67ca89SAndroid Build Coastguard Worker ], 427*8d67ca89SAndroid Build Coastguard Worker 428*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 429*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/android/include", 430*8d67ca89SAndroid Build Coastguard Worker ], 431*8d67ca89SAndroid Build Coastguard Worker 432*8d67ca89SAndroid Build Coastguard Worker name: "libc_freebsd", 433*8d67ca89SAndroid Build Coastguard Worker} 434*8d67ca89SAndroid Build Coastguard Worker 435*8d67ca89SAndroid Build Coastguard Workercc_library_static { 436*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 437*8d67ca89SAndroid Build Coastguard Worker srcs: [ 438*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/lib/libc/gen/glob.c", 439*8d67ca89SAndroid Build Coastguard Worker ], 440*8d67ca89SAndroid Build Coastguard Worker 441*8d67ca89SAndroid Build Coastguard Worker cflags: [ 442*8d67ca89SAndroid Build Coastguard Worker "-Wno-sign-compare", 443*8d67ca89SAndroid Build Coastguard Worker "-include freebsd-compat.h", 444*8d67ca89SAndroid Build Coastguard Worker "-Wframe-larger-than=66000", 445*8d67ca89SAndroid Build Coastguard Worker ], 446*8d67ca89SAndroid Build Coastguard Worker 447*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 448*8d67ca89SAndroid Build Coastguard Worker "upstream-freebsd/android/include", 449*8d67ca89SAndroid Build Coastguard Worker ], 450*8d67ca89SAndroid Build Coastguard Worker 451*8d67ca89SAndroid Build Coastguard Worker name: "libc_freebsd_large_stack", 452*8d67ca89SAndroid Build Coastguard Worker} 453*8d67ca89SAndroid Build Coastguard Worker 454*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 455*8d67ca89SAndroid Build Coastguard Worker// libc_netbsd.a - upstream NetBSD C library code 456*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 457*8d67ca89SAndroid Build Coastguard Worker// 458*8d67ca89SAndroid Build Coastguard Worker// These files are built with the netbsd-compat.h header file 459*8d67ca89SAndroid Build Coastguard Worker// automatically included. 460*8d67ca89SAndroid Build Coastguard Worker 461*8d67ca89SAndroid Build Coastguard Workercc_library_static { 462*8d67ca89SAndroid Build Coastguard Worker 463*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 464*8d67ca89SAndroid Build Coastguard Worker srcs: [ 465*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/common/lib/libc/stdlib/random.c", 466*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/gen/nice.c", 467*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/gen/psignal.c", 468*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/gen/utime.c", 469*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/inet/nsap_addr.c", 470*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/regex/regcomp.c", 471*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/regex/regerror.c", 472*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/regex/regexec.c", 473*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/regex/regfree.c", 474*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/drand48.c", 475*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/erand48.c", 476*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/jrand48.c", 477*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/lcong48.c", 478*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/lrand48.c", 479*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/mrand48.c", 480*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/nrand48.c", 481*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/_rand48.c", 482*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/rand_r.c", 483*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/reallocarr.c", 484*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/seed48.c", 485*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/stdlib/srand48.c", 486*8d67ca89SAndroid Build Coastguard Worker ], 487*8d67ca89SAndroid Build Coastguard Worker multilib: { 488*8d67ca89SAndroid Build Coastguard Worker lib32: { 489*8d67ca89SAndroid Build Coastguard Worker // LP32 cruft 490*8d67ca89SAndroid Build Coastguard Worker srcs: ["upstream-netbsd/common/lib/libc/hash/sha1/sha1.c"], 491*8d67ca89SAndroid Build Coastguard Worker }, 492*8d67ca89SAndroid Build Coastguard Worker }, 493*8d67ca89SAndroid Build Coastguard Worker cflags: [ 494*8d67ca89SAndroid Build Coastguard Worker "-Wno-sign-compare", 495*8d67ca89SAndroid Build Coastguard Worker "-Wno-unused-parameter", 496*8d67ca89SAndroid Build Coastguard Worker "-DPOSIX_MISTAKE", 497*8d67ca89SAndroid Build Coastguard Worker "-include netbsd-compat.h", 498*8d67ca89SAndroid Build Coastguard Worker ], 499*8d67ca89SAndroid Build Coastguard Worker 500*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 501*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/android/include", 502*8d67ca89SAndroid Build Coastguard Worker "upstream-netbsd/lib/libc/include", 503*8d67ca89SAndroid Build Coastguard Worker ], 504*8d67ca89SAndroid Build Coastguard Worker 505*8d67ca89SAndroid Build Coastguard Worker name: "libc_netbsd", 506*8d67ca89SAndroid Build Coastguard Worker} 507*8d67ca89SAndroid Build Coastguard Worker 508*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 509*8d67ca89SAndroid Build Coastguard Worker// libc_openbsd.a - upstream OpenBSD C library code 510*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 511*8d67ca89SAndroid Build Coastguard Worker// 512*8d67ca89SAndroid Build Coastguard Worker// These files are built with the openbsd-compat.h header file 513*8d67ca89SAndroid Build Coastguard Worker// automatically included. 514*8d67ca89SAndroid Build Coastguard Workercc_library_static { 515*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 516*8d67ca89SAndroid Build Coastguard Worker srcs: [ 517*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/crypt/arc4random.c", 518*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/crypt/arc4random_uniform.c", 519*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/alarm.c", 520*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/ctype_.c", 521*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/daemon.c", 522*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/err.c", 523*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/errx.c", 524*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/fnmatch.c", 525*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/ftok.c", 526*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/getprogname.c", 527*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/setprogname.c", 528*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/verr.c", 529*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/verrx.c", 530*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/vwarn.c", 531*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/vwarnx.c", 532*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/warn.c", 533*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gen/warnx.c", 534*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/btowc.c", 535*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/mbrlen.c", 536*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/mbstowcs.c", 537*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/mbtowc.c", 538*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/wcscoll.c", 539*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/wcstombs.c", 540*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/wcsxfrm.c", 541*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/wctob.c", 542*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/locale/wctomb.c", 543*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/base64.c", 544*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/htonl.c", 545*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/htons.c", 546*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/inet_lnaof.c", 547*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/inet_makeaddr.c", 548*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/inet_netof.c", 549*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/inet_ntoa.c", 550*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/inet_ntop.c", 551*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/inet_pton.c", 552*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/ntohl.c", 553*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/ntohs.c", 554*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/net/res_random.c", 555*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/fgetln.c", 556*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/fgetwc.c", 557*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/fgetws.c", 558*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/flags.c", 559*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/fputwc.c", 560*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/fputws.c", 561*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/fvwrite.c", 562*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/fwide.c", 563*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/getdelim.c", 564*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/gets.c", 565*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/makebuf.c", 566*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/mktemp.c", 567*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/open_memstream.c", 568*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/open_wmemstream.c", 569*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/rget.c", 570*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/setvbuf.c", 571*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/ungetc.c", 572*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/ungetwc.c", 573*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/vasprintf.c", 574*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/vdprintf.c", 575*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/vsscanf.c", 576*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/vswprintf.c", 577*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/vswscanf.c", 578*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/wbuf.c", 579*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/wsetup.c", 580*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/abs.c", 581*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/div.c", 582*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/getenv.c", 583*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/getsubopt.c", 584*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/insque.c", 585*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/imaxabs.c", 586*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/imaxdiv.c", 587*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/labs.c", 588*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/ldiv.c", 589*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/llabs.c", 590*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/lldiv.c", 591*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/lsearch.c", 592*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/recallocarray.c", 593*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/remque.c", 594*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/setenv.c", 595*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/tfind.c", 596*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/tsearch.c", 597*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/memccpy.c", 598*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strcasecmp.c", 599*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strcasestr.c", 600*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strcoll.c", 601*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strcspn.c", 602*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strdup.c", 603*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strndup.c", 604*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strpbrk.c", 605*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strsep.c", 606*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strspn.c", 607*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strtok.c", 608*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strxfrm.c", 609*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/wcslcpy.c", 610*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/wcswidth.c", 611*8d67ca89SAndroid Build Coastguard Worker 612*8d67ca89SAndroid Build Coastguard Worker // These files are originally from OpenBSD, 613*8d67ca89SAndroid Build Coastguard Worker // and benefit from being compiled with openbsd-compat.h. 614*8d67ca89SAndroid Build Coastguard Worker // TODO: clean them up instead. 615*8d67ca89SAndroid Build Coastguard Worker "bionic/fts.c", 616*8d67ca89SAndroid Build Coastguard Worker "stdio/vfprintf.cpp", 617*8d67ca89SAndroid Build Coastguard Worker "stdio/vfwprintf.cpp", 618*8d67ca89SAndroid Build Coastguard Worker ], 619*8d67ca89SAndroid Build Coastguard Worker 620*8d67ca89SAndroid Build Coastguard Worker // Each architecture has optimized versions of some routines, 621*8d67ca89SAndroid Build Coastguard Worker // and only includes the portable C versions of ones it's missing. 622*8d67ca89SAndroid Build Coastguard Worker arch: { 623*8d67ca89SAndroid Build Coastguard Worker arm: { 624*8d67ca89SAndroid Build Coastguard Worker srcs: [ 625*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/memchr.c", 626*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/stpncpy.c", 627*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strncat.c", 628*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strncmp.c", 629*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strncpy.c", 630*8d67ca89SAndroid Build Coastguard Worker ], 631*8d67ca89SAndroid Build Coastguard Worker }, 632*8d67ca89SAndroid Build Coastguard Worker arm64: { 633*8d67ca89SAndroid Build Coastguard Worker srcs: [ 634*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strcat.c", 635*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/stpncpy.c", 636*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strncat.c", 637*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strncpy.c", 638*8d67ca89SAndroid Build Coastguard Worker ], 639*8d67ca89SAndroid Build Coastguard Worker }, 640*8d67ca89SAndroid Build Coastguard Worker riscv64: { 641*8d67ca89SAndroid Build Coastguard Worker srcs: [ 642*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/stpncpy.c", 643*8d67ca89SAndroid Build Coastguard Worker ], 644*8d67ca89SAndroid Build Coastguard Worker }, 645*8d67ca89SAndroid Build Coastguard Worker x86: { 646*8d67ca89SAndroid Build Coastguard Worker srcs: [ 647*8d67ca89SAndroid Build Coastguard Worker // x86 has custom implementations of all of these. 648*8d67ca89SAndroid Build Coastguard Worker ], 649*8d67ca89SAndroid Build Coastguard Worker }, 650*8d67ca89SAndroid Build Coastguard Worker x86_64: { 651*8d67ca89SAndroid Build Coastguard Worker srcs: [ 652*8d67ca89SAndroid Build Coastguard Worker // x86_64 has custom/llvm-libc implementations of all of these. 653*8d67ca89SAndroid Build Coastguard Worker ], 654*8d67ca89SAndroid Build Coastguard Worker }, 655*8d67ca89SAndroid Build Coastguard Worker }, 656*8d67ca89SAndroid Build Coastguard Worker 657*8d67ca89SAndroid Build Coastguard Worker cflags: [ 658*8d67ca89SAndroid Build Coastguard Worker "-Wno-sign-compare", 659*8d67ca89SAndroid Build Coastguard Worker "-Wno-unused-parameter", 660*8d67ca89SAndroid Build Coastguard Worker "-include openbsd-compat.h", 661*8d67ca89SAndroid Build Coastguard Worker ], 662*8d67ca89SAndroid Build Coastguard Worker 663*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 664*8d67ca89SAndroid Build Coastguard Worker "private", 665*8d67ca89SAndroid Build Coastguard Worker "stdio", 666*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/android/include/", 667*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/", 668*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/include/", 669*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdio/", 670*8d67ca89SAndroid Build Coastguard Worker ], 671*8d67ca89SAndroid Build Coastguard Worker 672*8d67ca89SAndroid Build Coastguard Worker name: "libc_openbsd", 673*8d67ca89SAndroid Build Coastguard Worker} 674*8d67ca89SAndroid Build Coastguard Worker 675*8d67ca89SAndroid Build Coastguard Workercc_library_static { 676*8d67ca89SAndroid Build Coastguard Worker name: "libc_openbsd_large_stack", 677*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 678*8d67ca89SAndroid Build Coastguard Worker srcs: [ 679*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/memmem.c", 680*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/string/strstr.c", 681*8d67ca89SAndroid Build Coastguard Worker ], 682*8d67ca89SAndroid Build Coastguard Worker cflags: [ 683*8d67ca89SAndroid Build Coastguard Worker "-include openbsd-compat.h", 684*8d67ca89SAndroid Build Coastguard Worker "-Wno-sign-compare", 685*8d67ca89SAndroid Build Coastguard Worker "-Wframe-larger-than=5000", 686*8d67ca89SAndroid Build Coastguard Worker ], 687*8d67ca89SAndroid Build Coastguard Worker 688*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 689*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/android/include/", 690*8d67ca89SAndroid Build Coastguard Worker ], 691*8d67ca89SAndroid Build Coastguard Worker} 692*8d67ca89SAndroid Build Coastguard Worker 693*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 694*8d67ca89SAndroid Build Coastguard Worker// libc_gdtoa.a - upstream OpenBSD C library gdtoa code 695*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 696*8d67ca89SAndroid Build Coastguard Worker// 697*8d67ca89SAndroid Build Coastguard Worker// These files are built with the openbsd-compat.h header file 698*8d67ca89SAndroid Build Coastguard Worker// automatically included. 699*8d67ca89SAndroid Build Coastguard Worker 700*8d67ca89SAndroid Build Coastguard Workercc_library_static { 701*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 702*8d67ca89SAndroid Build Coastguard Worker srcs: [ 703*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/android/gdtoa_support.cpp", 704*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/dmisc.c", 705*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/dtoa.c", 706*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/gdtoa.c", 707*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/gethex.c", 708*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/gmisc.c", 709*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/hd_init.c", 710*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/hdtoa.c", 711*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/hexnan.c", 712*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/ldtoa.c", 713*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/misc.c", 714*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/smisc.c", 715*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/strtod.c", 716*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/strtodg.c", 717*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/strtof.c", 718*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/strtord.c", 719*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/sum.c", 720*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/gdtoa/ulp.c", 721*8d67ca89SAndroid Build Coastguard Worker ], 722*8d67ca89SAndroid Build Coastguard Worker multilib: { 723*8d67ca89SAndroid Build Coastguard Worker lib64: { 724*8d67ca89SAndroid Build Coastguard Worker srcs: ["upstream-openbsd/lib/libc/gdtoa/strtorQ.c"], 725*8d67ca89SAndroid Build Coastguard Worker }, 726*8d67ca89SAndroid Build Coastguard Worker }, 727*8d67ca89SAndroid Build Coastguard Worker 728*8d67ca89SAndroid Build Coastguard Worker cflags: [ 729*8d67ca89SAndroid Build Coastguard Worker "-Wno-sign-compare", 730*8d67ca89SAndroid Build Coastguard Worker "-include openbsd-compat.h", 731*8d67ca89SAndroid Build Coastguard Worker ], 732*8d67ca89SAndroid Build Coastguard Worker 733*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 734*8d67ca89SAndroid Build Coastguard Worker "private", 735*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/android/include", 736*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/include", 737*8d67ca89SAndroid Build Coastguard Worker ], 738*8d67ca89SAndroid Build Coastguard Worker 739*8d67ca89SAndroid Build Coastguard Worker name: "libc_gdtoa", 740*8d67ca89SAndroid Build Coastguard Worker} 741*8d67ca89SAndroid Build Coastguard Worker 742*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 743*8d67ca89SAndroid Build Coastguard Worker// libc_fortify.a - container for our FORTIFY 744*8d67ca89SAndroid Build Coastguard Worker// implementation details 745*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 746*8d67ca89SAndroid Build Coastguard Workercc_library_static { 747*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 748*8d67ca89SAndroid Build Coastguard Worker srcs: ["bionic/fortify.cpp"], 749*8d67ca89SAndroid Build Coastguard Worker 750*8d67ca89SAndroid Build Coastguard Worker name: "libc_fortify", 751*8d67ca89SAndroid Build Coastguard Worker 752*8d67ca89SAndroid Build Coastguard Worker // Disable FORTIFY for the compilation of these, so we don't end up having 753*8d67ca89SAndroid Build Coastguard Worker // FORTIFY silently call itself. 754*8d67ca89SAndroid Build Coastguard Worker cflags: [ 755*8d67ca89SAndroid Build Coastguard Worker "-U_FORTIFY_SOURCE", 756*8d67ca89SAndroid Build Coastguard Worker "-D__BIONIC_DECLARE_FORTIFY_HELPERS", 757*8d67ca89SAndroid Build Coastguard Worker ], 758*8d67ca89SAndroid Build Coastguard Worker 759*8d67ca89SAndroid Build Coastguard Worker arch: { 760*8d67ca89SAndroid Build Coastguard Worker arm: { 761*8d67ca89SAndroid Build Coastguard Worker cflags: [ 762*8d67ca89SAndroid Build Coastguard Worker "-DRENAME___STRCAT_CHK", 763*8d67ca89SAndroid Build Coastguard Worker "-DRENAME___STRCPY_CHK", 764*8d67ca89SAndroid Build Coastguard Worker ], 765*8d67ca89SAndroid Build Coastguard Worker srcs: [ 766*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/__memcpy_chk.S", 767*8d67ca89SAndroid Build Coastguard Worker 768*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/__strcat_chk.S", 769*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/__strcpy_chk.S", 770*8d67ca89SAndroid Build Coastguard Worker 771*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a7/bionic/__strcat_chk.S", 772*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a7/bionic/__strcpy_chk.S", 773*8d67ca89SAndroid Build Coastguard Worker 774*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a9/bionic/__strcat_chk.S", 775*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a9/bionic/__strcpy_chk.S", 776*8d67ca89SAndroid Build Coastguard Worker 777*8d67ca89SAndroid Build Coastguard Worker "arch-arm/krait/bionic/__strcat_chk.S", 778*8d67ca89SAndroid Build Coastguard Worker "arch-arm/krait/bionic/__strcpy_chk.S", 779*8d67ca89SAndroid Build Coastguard Worker 780*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a53/bionic/__strcat_chk.S", 781*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a53/bionic/__strcpy_chk.S", 782*8d67ca89SAndroid Build Coastguard Worker 783*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a55/bionic/__strcat_chk.S", 784*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a55/bionic/__strcpy_chk.S", 785*8d67ca89SAndroid Build Coastguard Worker ], 786*8d67ca89SAndroid Build Coastguard Worker }, 787*8d67ca89SAndroid Build Coastguard Worker arm64: { 788*8d67ca89SAndroid Build Coastguard Worker srcs: [ 789*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/string/__memcpy_chk.S", 790*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/string/__memset_chk.S", 791*8d67ca89SAndroid Build Coastguard Worker ], 792*8d67ca89SAndroid Build Coastguard Worker }, 793*8d67ca89SAndroid Build Coastguard Worker riscv64: { 794*8d67ca89SAndroid Build Coastguard Worker srcs: [ 795*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/__memset_chk.S", 796*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/__memcpy_chk.S", 797*8d67ca89SAndroid Build Coastguard Worker ], 798*8d67ca89SAndroid Build Coastguard Worker }, 799*8d67ca89SAndroid Build Coastguard Worker }, 800*8d67ca89SAndroid Build Coastguard Worker} 801*8d67ca89SAndroid Build Coastguard Worker 802*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 803*8d67ca89SAndroid Build Coastguard Worker// libc_bionic.a - home-grown C library code 804*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 805*8d67ca89SAndroid Build Coastguard Worker 806*8d67ca89SAndroid Build Coastguard Workercc_library_static { 807*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 808*8d67ca89SAndroid Build Coastguard Worker srcs: [ 809*8d67ca89SAndroid Build Coastguard Worker "bionic/NetdClientDispatch.cpp", 810*8d67ca89SAndroid Build Coastguard Worker "bionic/__bionic_get_shell_path.cpp", 811*8d67ca89SAndroid Build Coastguard Worker "bionic/__cmsg_nxthdr.cpp", 812*8d67ca89SAndroid Build Coastguard Worker "bionic/__cxa_thread_atexit_impl.cpp", 813*8d67ca89SAndroid Build Coastguard Worker "bionic/__errno.cpp", 814*8d67ca89SAndroid Build Coastguard Worker "bionic/__gnu_basename.cpp", 815*8d67ca89SAndroid Build Coastguard Worker "bionic/__libc_current_sigrtmax.cpp", 816*8d67ca89SAndroid Build Coastguard Worker "bionic/__libc_current_sigrtmin.cpp", 817*8d67ca89SAndroid Build Coastguard Worker "bionic/abort.cpp", 818*8d67ca89SAndroid Build Coastguard Worker "bionic/accept.cpp", 819*8d67ca89SAndroid Build Coastguard Worker "bionic/access.cpp", 820*8d67ca89SAndroid Build Coastguard Worker "bionic/android_crash_detail.cpp", 821*8d67ca89SAndroid Build Coastguard Worker "bionic/android_set_abort_message.cpp", 822*8d67ca89SAndroid Build Coastguard Worker "bionic/android_unsafe_frame_pointer_chase.cpp", 823*8d67ca89SAndroid Build Coastguard Worker "bionic/arpa_inet.cpp", 824*8d67ca89SAndroid Build Coastguard Worker "bionic/assert.cpp", 825*8d67ca89SAndroid Build Coastguard Worker "bionic/atexit.cpp", 826*8d67ca89SAndroid Build Coastguard Worker "bionic/atof.cpp", 827*8d67ca89SAndroid Build Coastguard Worker "bionic/bionic_allocator.cpp", 828*8d67ca89SAndroid Build Coastguard Worker "bionic/bionic_arc4random.cpp", 829*8d67ca89SAndroid Build Coastguard Worker "bionic/bionic_elf_tls.cpp", 830*8d67ca89SAndroid Build Coastguard Worker "bionic/bionic_futex.cpp", 831*8d67ca89SAndroid Build Coastguard Worker "bionic/bionic_netlink.cpp", 832*8d67ca89SAndroid Build Coastguard Worker "bionic/bionic_systrace.cpp", 833*8d67ca89SAndroid Build Coastguard Worker "bionic/bionic_time_conversions.cpp", 834*8d67ca89SAndroid Build Coastguard Worker "bionic/brk.cpp", 835*8d67ca89SAndroid Build Coastguard Worker "bionic/c16rtomb.cpp", 836*8d67ca89SAndroid Build Coastguard Worker "bionic/c32rtomb.cpp", 837*8d67ca89SAndroid Build Coastguard Worker "bionic/chmod.cpp", 838*8d67ca89SAndroid Build Coastguard Worker "bionic/chown.cpp", 839*8d67ca89SAndroid Build Coastguard Worker "bionic/clearenv.cpp", 840*8d67ca89SAndroid Build Coastguard Worker "bionic/clock.cpp", 841*8d67ca89SAndroid Build Coastguard Worker "bionic/clock_getcpuclockid.cpp", 842*8d67ca89SAndroid Build Coastguard Worker "bionic/clock_nanosleep.cpp", 843*8d67ca89SAndroid Build Coastguard Worker "bionic/clone.cpp", 844*8d67ca89SAndroid Build Coastguard Worker "bionic/ctype.cpp", 845*8d67ca89SAndroid Build Coastguard Worker "bionic/dirent.cpp", 846*8d67ca89SAndroid Build Coastguard Worker "bionic/dup.cpp", 847*8d67ca89SAndroid Build Coastguard Worker "bionic/environ.cpp", 848*8d67ca89SAndroid Build Coastguard Worker "bionic/error.cpp", 849*8d67ca89SAndroid Build Coastguard Worker "bionic/eventfd.cpp", 850*8d67ca89SAndroid Build Coastguard Worker "bionic/exec.cpp", 851*8d67ca89SAndroid Build Coastguard Worker "bionic/execinfo.cpp", 852*8d67ca89SAndroid Build Coastguard Worker "bionic/exit.cpp", 853*8d67ca89SAndroid Build Coastguard Worker "bionic/faccessat.cpp", 854*8d67ca89SAndroid Build Coastguard Worker "bionic/fchmod.cpp", 855*8d67ca89SAndroid Build Coastguard Worker "bionic/fchmodat.cpp", 856*8d67ca89SAndroid Build Coastguard Worker "bionic/fcntl.cpp", 857*8d67ca89SAndroid Build Coastguard Worker "bionic/fdsan.cpp", 858*8d67ca89SAndroid Build Coastguard Worker "bionic/fdtrack.cpp", 859*8d67ca89SAndroid Build Coastguard Worker "bionic/ffs.cpp", 860*8d67ca89SAndroid Build Coastguard Worker "bionic/fgetxattr.cpp", 861*8d67ca89SAndroid Build Coastguard Worker "bionic/flistxattr.cpp", 862*8d67ca89SAndroid Build Coastguard Worker "bionic/fork.cpp", 863*8d67ca89SAndroid Build Coastguard Worker "bionic/fpclassify.cpp", 864*8d67ca89SAndroid Build Coastguard Worker "bionic/fsetxattr.cpp", 865*8d67ca89SAndroid Build Coastguard Worker "bionic/ftruncate.cpp", 866*8d67ca89SAndroid Build Coastguard Worker "bionic/ftw.cpp", 867*8d67ca89SAndroid Build Coastguard Worker "bionic/futimens.cpp", 868*8d67ca89SAndroid Build Coastguard Worker "bionic/getcwd.cpp", 869*8d67ca89SAndroid Build Coastguard Worker "bionic/getdomainname.cpp", 870*8d67ca89SAndroid Build Coastguard Worker "bionic/getentropy.cpp", 871*8d67ca89SAndroid Build Coastguard Worker "bionic/gethostname.cpp", 872*8d67ca89SAndroid Build Coastguard Worker "bionic/getloadavg.cpp", 873*8d67ca89SAndroid Build Coastguard Worker "bionic/getpagesize.cpp", 874*8d67ca89SAndroid Build Coastguard Worker "bionic/getpgrp.cpp", 875*8d67ca89SAndroid Build Coastguard Worker "bionic/getpid.cpp", 876*8d67ca89SAndroid Build Coastguard Worker "bionic/getpriority.cpp", 877*8d67ca89SAndroid Build Coastguard Worker "bionic/gettid.cpp", 878*8d67ca89SAndroid Build Coastguard Worker "bionic/get_device_api_level.cpp", 879*8d67ca89SAndroid Build Coastguard Worker "bionic/grp_pwd.cpp", 880*8d67ca89SAndroid Build Coastguard Worker "bionic/grp_pwd_file.cpp", 881*8d67ca89SAndroid Build Coastguard Worker "bionic/heap_zero_init.cpp", 882*8d67ca89SAndroid Build Coastguard Worker "bionic/iconv.cpp", 883*8d67ca89SAndroid Build Coastguard Worker "bionic/icu_wrappers.cpp", 884*8d67ca89SAndroid Build Coastguard Worker "bionic/ifaddrs.cpp", 885*8d67ca89SAndroid Build Coastguard Worker "bionic/inotify_init.cpp", 886*8d67ca89SAndroid Build Coastguard Worker "bionic/ioctl.cpp", 887*8d67ca89SAndroid Build Coastguard Worker "bionic/isatty.cpp", 888*8d67ca89SAndroid Build Coastguard Worker "bionic/killpg.cpp", 889*8d67ca89SAndroid Build Coastguard Worker "bionic/langinfo.cpp", 890*8d67ca89SAndroid Build Coastguard Worker "bionic/lchmod.cpp", 891*8d67ca89SAndroid Build Coastguard Worker "bionic/lchown.cpp", 892*8d67ca89SAndroid Build Coastguard Worker "bionic/lfs64_support.cpp", 893*8d67ca89SAndroid Build Coastguard Worker "bionic/libc_init_common.cpp", 894*8d67ca89SAndroid Build Coastguard Worker "bionic/libgen.cpp", 895*8d67ca89SAndroid Build Coastguard Worker "bionic/link.cpp", 896*8d67ca89SAndroid Build Coastguard Worker "bionic/locale.cpp", 897*8d67ca89SAndroid Build Coastguard Worker "bionic/lockf.cpp", 898*8d67ca89SAndroid Build Coastguard Worker "bionic/lstat.cpp", 899*8d67ca89SAndroid Build Coastguard Worker "bionic/mblen.cpp", 900*8d67ca89SAndroid Build Coastguard Worker "bionic/mbrtoc16.cpp", 901*8d67ca89SAndroid Build Coastguard Worker "bionic/mbrtoc32.cpp", 902*8d67ca89SAndroid Build Coastguard Worker "bionic/mempcpy.cpp", 903*8d67ca89SAndroid Build Coastguard Worker "bionic/memset_explicit.cpp", 904*8d67ca89SAndroid Build Coastguard Worker "bionic/mkdir.cpp", 905*8d67ca89SAndroid Build Coastguard Worker "bionic/mkfifo.cpp", 906*8d67ca89SAndroid Build Coastguard Worker "bionic/mknod.cpp", 907*8d67ca89SAndroid Build Coastguard Worker "bionic/mntent.cpp", 908*8d67ca89SAndroid Build Coastguard Worker "bionic/netdb.cpp", 909*8d67ca89SAndroid Build Coastguard Worker "bionic/net_if.cpp", 910*8d67ca89SAndroid Build Coastguard Worker "bionic/netinet_ether.cpp", 911*8d67ca89SAndroid Build Coastguard Worker "bionic/netinet_in.cpp", 912*8d67ca89SAndroid Build Coastguard Worker "bionic/nl_types.cpp", 913*8d67ca89SAndroid Build Coastguard Worker "bionic/open.cpp", 914*8d67ca89SAndroid Build Coastguard Worker "bionic/pathconf.cpp", 915*8d67ca89SAndroid Build Coastguard Worker "bionic/pause.cpp", 916*8d67ca89SAndroid Build Coastguard Worker "bionic/pidfd.cpp", 917*8d67ca89SAndroid Build Coastguard Worker "bionic/pipe.cpp", 918*8d67ca89SAndroid Build Coastguard Worker "bionic/poll.cpp", 919*8d67ca89SAndroid Build Coastguard Worker "bionic/posix_fadvise.cpp", 920*8d67ca89SAndroid Build Coastguard Worker "bionic/posix_fallocate.cpp", 921*8d67ca89SAndroid Build Coastguard Worker "bionic/posix_madvise.cpp", 922*8d67ca89SAndroid Build Coastguard Worker "bionic/posix_timers.cpp", 923*8d67ca89SAndroid Build Coastguard Worker "bionic/preadv_pwritev.cpp", 924*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_atfork.cpp", 925*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_attr.cpp", 926*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_barrier.cpp", 927*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_cond.cpp", 928*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_create.cpp", 929*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_detach.cpp", 930*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_equal.cpp", 931*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_exit.cpp", 932*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_getaffinity.cpp", 933*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_getcpuclockid.cpp", 934*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_getschedparam.cpp", 935*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_gettid_np.cpp", 936*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_internal.cpp", 937*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_join.cpp", 938*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_key.cpp", 939*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_kill.cpp", 940*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_mutex.cpp", 941*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_once.cpp", 942*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_rwlock.cpp", 943*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_sigqueue.cpp", 944*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_self.cpp", 945*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_setname_np.cpp", 946*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_setaffinity.cpp", 947*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_setschedparam.cpp", 948*8d67ca89SAndroid Build Coastguard Worker "bionic/pthread_spinlock.cpp", 949*8d67ca89SAndroid Build Coastguard Worker "bionic/ptrace.cpp", 950*8d67ca89SAndroid Build Coastguard Worker "bionic/pty.cpp", 951*8d67ca89SAndroid Build Coastguard Worker "bionic/raise.cpp", 952*8d67ca89SAndroid Build Coastguard Worker "bionic/rand.cpp", 953*8d67ca89SAndroid Build Coastguard Worker "bionic/readlink.cpp", 954*8d67ca89SAndroid Build Coastguard Worker "bionic/realpath.cpp", 955*8d67ca89SAndroid Build Coastguard Worker "bionic/reboot.cpp", 956*8d67ca89SAndroid Build Coastguard Worker "bionic/recv.cpp", 957*8d67ca89SAndroid Build Coastguard Worker "bionic/recvmsg.cpp", 958*8d67ca89SAndroid Build Coastguard Worker "bionic/rename.cpp", 959*8d67ca89SAndroid Build Coastguard Worker "bionic/rmdir.cpp", 960*8d67ca89SAndroid Build Coastguard Worker "bionic/scandir.cpp", 961*8d67ca89SAndroid Build Coastguard Worker "bionic/sched_cpualloc.cpp", 962*8d67ca89SAndroid Build Coastguard Worker "bionic/sched_cpucount.cpp", 963*8d67ca89SAndroid Build Coastguard Worker "bionic/sched_getaffinity.cpp", 964*8d67ca89SAndroid Build Coastguard Worker "bionic/sched_getcpu.cpp", 965*8d67ca89SAndroid Build Coastguard Worker "bionic/semaphore.cpp", 966*8d67ca89SAndroid Build Coastguard Worker "bionic/send.cpp", 967*8d67ca89SAndroid Build Coastguard Worker "bionic/setegid.cpp", 968*8d67ca89SAndroid Build Coastguard Worker "bionic/seteuid.cpp", 969*8d67ca89SAndroid Build Coastguard Worker "bionic/setjmp_cookie.cpp", 970*8d67ca89SAndroid Build Coastguard Worker "bionic/setpgrp.cpp", 971*8d67ca89SAndroid Build Coastguard Worker "bionic/sigaction.cpp", 972*8d67ca89SAndroid Build Coastguard Worker "bionic/signal.cpp", 973*8d67ca89SAndroid Build Coastguard Worker "bionic/sigprocmask.cpp", 974*8d67ca89SAndroid Build Coastguard Worker "bionic/sleep.cpp", 975*8d67ca89SAndroid Build Coastguard Worker "bionic/socketpair.cpp", 976*8d67ca89SAndroid Build Coastguard Worker "bionic/spawn.cpp", 977*8d67ca89SAndroid Build Coastguard Worker "bionic/stat.cpp", 978*8d67ca89SAndroid Build Coastguard Worker "bionic/stdlib_l.cpp", 979*8d67ca89SAndroid Build Coastguard Worker "bionic/strerror.cpp", 980*8d67ca89SAndroid Build Coastguard Worker "bionic/string_l.cpp", 981*8d67ca89SAndroid Build Coastguard Worker "bionic/strings_l.cpp", 982*8d67ca89SAndroid Build Coastguard Worker "bionic/strsignal.cpp", 983*8d67ca89SAndroid Build Coastguard Worker "bionic/strtol.cpp", 984*8d67ca89SAndroid Build Coastguard Worker "bionic/strtold.cpp", 985*8d67ca89SAndroid Build Coastguard Worker "bionic/swab.cpp", 986*8d67ca89SAndroid Build Coastguard Worker "bionic/symlink.cpp", 987*8d67ca89SAndroid Build Coastguard Worker "bionic/sync_file_range.cpp", 988*8d67ca89SAndroid Build Coastguard Worker "bionic/sysconf.cpp", 989*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_epoll.cpp", 990*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_msg.cpp", 991*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_sem.cpp", 992*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_shm.cpp", 993*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_signalfd.cpp", 994*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_statfs.cpp", 995*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_statvfs.cpp", 996*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_thread_properties.cpp", 997*8d67ca89SAndroid Build Coastguard Worker "bionic/sys_time.cpp", 998*8d67ca89SAndroid Build Coastguard Worker "bionic/sysinfo.cpp", 999*8d67ca89SAndroid Build Coastguard Worker "bionic/syslog.cpp", 1000*8d67ca89SAndroid Build Coastguard Worker "bionic/sysprop_helpers.cpp", 1001*8d67ca89SAndroid Build Coastguard Worker "bionic/system.cpp", 1002*8d67ca89SAndroid Build Coastguard Worker "bionic/system_property_api.cpp", 1003*8d67ca89SAndroid Build Coastguard Worker "bionic/system_property_set.cpp", 1004*8d67ca89SAndroid Build Coastguard Worker "bionic/tdestroy.cpp", 1005*8d67ca89SAndroid Build Coastguard Worker "bionic/termios.cpp", 1006*8d67ca89SAndroid Build Coastguard Worker "bionic/thread_private.cpp", 1007*8d67ca89SAndroid Build Coastguard Worker "bionic/threads.cpp", 1008*8d67ca89SAndroid Build Coastguard Worker "bionic/time.cpp", 1009*8d67ca89SAndroid Build Coastguard Worker "bionic/tmpfile.cpp", 1010*8d67ca89SAndroid Build Coastguard Worker "bionic/umount.cpp", 1011*8d67ca89SAndroid Build Coastguard Worker "bionic/unlink.cpp", 1012*8d67ca89SAndroid Build Coastguard Worker "bionic/usleep.cpp", 1013*8d67ca89SAndroid Build Coastguard Worker "bionic/utmp.cpp", 1014*8d67ca89SAndroid Build Coastguard Worker "bionic/vdso.cpp", 1015*8d67ca89SAndroid Build Coastguard Worker "bionic/wait.cpp", 1016*8d67ca89SAndroid Build Coastguard Worker "bionic/wchar.cpp", 1017*8d67ca89SAndroid Build Coastguard Worker "bionic/wchar_l.cpp", 1018*8d67ca89SAndroid Build Coastguard Worker "bionic/wcstod.cpp", 1019*8d67ca89SAndroid Build Coastguard Worker "bionic/wctype.cpp", 1020*8d67ca89SAndroid Build Coastguard Worker "bionic/wcwidth.cpp", 1021*8d67ca89SAndroid Build Coastguard Worker "bionic/wmempcpy.cpp", 1022*8d67ca89SAndroid Build Coastguard Worker 1023*8d67ca89SAndroid Build Coastguard Worker // Forked but not yet cleaned up/rewritten stdio code. 1024*8d67ca89SAndroid Build Coastguard Worker // TODO: finish cleanup. 1025*8d67ca89SAndroid Build Coastguard Worker "stdio/fmemopen.cpp", 1026*8d67ca89SAndroid Build Coastguard Worker "stdio/parsefloat.c", 1027*8d67ca89SAndroid Build Coastguard Worker "stdio/refill.c", 1028*8d67ca89SAndroid Build Coastguard Worker "stdio/stdio.cpp", 1029*8d67ca89SAndroid Build Coastguard Worker "stdio/stdio_ext.cpp", 1030*8d67ca89SAndroid Build Coastguard Worker "stdio/vfscanf.cpp", 1031*8d67ca89SAndroid Build Coastguard Worker "stdio/vfwscanf.cpp", 1032*8d67ca89SAndroid Build Coastguard Worker ], 1033*8d67ca89SAndroid Build Coastguard Worker 1034*8d67ca89SAndroid Build Coastguard Worker arch: { 1035*8d67ca89SAndroid Build Coastguard Worker arm: { 1036*8d67ca89SAndroid Build Coastguard Worker asflags: libc_common_flags + ["-mno-restrict-it"], 1037*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1038*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/__aeabi_read_tp.S", 1039*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/__bionic_clone.S", 1040*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/__restore.S", 1041*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/_exit_with_stack_teardown.S", 1042*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/atomics_arm.c", 1043*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/bpabi.c", 1044*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/libcrt_compat.c", 1045*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/popcount_tab.c", 1046*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/setjmp.S", 1047*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/syscall.S", 1048*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/vfork.S", 1049*8d67ca89SAndroid Build Coastguard Worker 1050*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a7/bionic/memcpy.S", 1051*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a7/bionic/memset.S", 1052*8d67ca89SAndroid Build Coastguard Worker 1053*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a9/bionic/memcpy.S", 1054*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a9/bionic/memset.S", 1055*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a9/bionic/stpcpy.S", 1056*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a9/bionic/strcat.S", 1057*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a9/bionic/strcpy.S", 1058*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a9/bionic/strlen.S", 1059*8d67ca89SAndroid Build Coastguard Worker 1060*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/memcpy.S", 1061*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/memmove.S", 1062*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/memset.S", 1063*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/stpcpy.S", 1064*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/strcat.S", 1065*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/strcmp.S", 1066*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/strcpy.S", 1067*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a15/bionic/strlen.S", 1068*8d67ca89SAndroid Build Coastguard Worker 1069*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a53/bionic/memcpy.S", 1070*8d67ca89SAndroid Build Coastguard Worker 1071*8d67ca89SAndroid Build Coastguard Worker "arch-arm/cortex-a55/bionic/memcpy.S", 1072*8d67ca89SAndroid Build Coastguard Worker 1073*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/memcmp.S", 1074*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/memmove.S", 1075*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/memset.S", 1076*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/stpcpy.c", 1077*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/strcat.c", 1078*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/strcmp.S", 1079*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/strcpy.S", 1080*8d67ca89SAndroid Build Coastguard Worker "arch-arm/generic/bionic/strlen.c", 1081*8d67ca89SAndroid Build Coastguard Worker 1082*8d67ca89SAndroid Build Coastguard Worker "arch-arm/krait/bionic/memcpy.S", 1083*8d67ca89SAndroid Build Coastguard Worker "arch-arm/krait/bionic/memset.S", 1084*8d67ca89SAndroid Build Coastguard Worker 1085*8d67ca89SAndroid Build Coastguard Worker "arch-arm/kryo/bionic/memcpy.S", 1086*8d67ca89SAndroid Build Coastguard Worker 1087*8d67ca89SAndroid Build Coastguard Worker "bionic/strchr.cpp", 1088*8d67ca89SAndroid Build Coastguard Worker "bionic/strchrnul.cpp", 1089*8d67ca89SAndroid Build Coastguard Worker "bionic/strnlen.cpp", 1090*8d67ca89SAndroid Build Coastguard Worker "bionic/strrchr.cpp", 1091*8d67ca89SAndroid Build Coastguard Worker ], 1092*8d67ca89SAndroid Build Coastguard Worker }, 1093*8d67ca89SAndroid Build Coastguard Worker arm64: { 1094*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1095*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/bionic/__bionic_clone.S", 1096*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/bionic/_exit_with_stack_teardown.S", 1097*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/bionic/setjmp.S", 1098*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/bionic/syscall.S", 1099*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/bionic/vfork.S", 1100*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/oryon/memcpy-nt.S", 1101*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/oryon/memset-nt.S", 1102*8d67ca89SAndroid Build Coastguard Worker ], 1103*8d67ca89SAndroid Build Coastguard Worker }, 1104*8d67ca89SAndroid Build Coastguard Worker 1105*8d67ca89SAndroid Build Coastguard Worker riscv64: { 1106*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1107*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/bionic/__bionic_clone.S", 1108*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/bionic/_exit_with_stack_teardown.S", 1109*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/bionic/setjmp.S", 1110*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/bionic/syscall.S", 1111*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/bionic/vfork.S", 1112*8d67ca89SAndroid Build Coastguard Worker 1113*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memchr_v.S", 1114*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memcmp_v.S", 1115*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memcpy_v.S", 1116*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memmove_v.S", 1117*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memset_v.S", 1118*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/stpcpy_v.S", 1119*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strcat_v.S", 1120*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strchr_v.S", 1121*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strcmp_v.S", 1122*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strcpy_v.S", 1123*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strlen_v.S", 1124*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strncat_v.S", 1125*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strncmp_v.S", 1126*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strncpy_v.S", 1127*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strnlen_v.S", 1128*8d67ca89SAndroid Build Coastguard Worker 1129*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memchr.c", 1130*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memcmp.c", 1131*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memcpy.c", 1132*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memmove.c", 1133*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/memset.c", 1134*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/stpcpy.c", 1135*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strcat.c", 1136*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strchr.c", 1137*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strcmp.c", 1138*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strcpy.c", 1139*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strlen.c", 1140*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strncat.c", 1141*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strncmp.c", 1142*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strncpy.c", 1143*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/strnlen.c", 1144*8d67ca89SAndroid Build Coastguard Worker 1145*8d67ca89SAndroid Build Coastguard Worker "bionic/strchrnul.cpp", 1146*8d67ca89SAndroid Build Coastguard Worker "bionic/strrchr.cpp", 1147*8d67ca89SAndroid Build Coastguard Worker ], 1148*8d67ca89SAndroid Build Coastguard Worker }, 1149*8d67ca89SAndroid Build Coastguard Worker 1150*8d67ca89SAndroid Build Coastguard Worker x86: { 1151*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1152*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/__bionic_clone.S", 1153*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/_exit_with_stack_teardown.S", 1154*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/libcrt_compat.c", 1155*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/setjmp.S", 1156*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/syscall.S", 1157*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/vfork.S", 1158*8d67ca89SAndroid Build Coastguard Worker "arch-x86/bionic/__x86.get_pc_thunk.S", 1159*8d67ca89SAndroid Build Coastguard Worker 1160*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-memchr-atom.S", 1161*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-memmove-slm.S", 1162*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-memset-slm.S", 1163*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-stpcpy-slm.S", 1164*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-stpncpy-slm.S", 1165*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-strchr-atom.S", 1166*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-strcpy-slm.S", 1167*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-strlen-slm.S", 1168*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-strncpy-slm.S", 1169*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-strnlen-atom.S", 1170*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse2-strrchr-atom.S", 1171*8d67ca89SAndroid Build Coastguard Worker 1172*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/ssse3-memcmp-atom.S", 1173*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/ssse3-strcat-atom.S", 1174*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/ssse3-strcmp-atom.S", 1175*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/ssse3-strncat-atom.S", 1176*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/ssse3-strncmp-atom.S", 1177*8d67ca89SAndroid Build Coastguard Worker 1178*8d67ca89SAndroid Build Coastguard Worker "arch-x86/string/sse4-memcmp-slm.S", 1179*8d67ca89SAndroid Build Coastguard Worker 1180*8d67ca89SAndroid Build Coastguard Worker "bionic/strchrnul.cpp", 1181*8d67ca89SAndroid Build Coastguard Worker ], 1182*8d67ca89SAndroid Build Coastguard Worker }, 1183*8d67ca89SAndroid Build Coastguard Worker x86_64: { 1184*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1185*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/bionic/__bionic_clone.S", 1186*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/bionic/_exit_with_stack_teardown.S", 1187*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/bionic/__restore_rt.S", 1188*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/bionic/setjmp.S", 1189*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/bionic/syscall.S", 1190*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/bionic/vfork.S", 1191*8d67ca89SAndroid Build Coastguard Worker 1192*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/avx2-memset-kbl.S", 1193*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-memmove-slm.S", 1194*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-memset-slm.S", 1195*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-stpcpy-slm.S", 1196*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-stpncpy-slm.S", 1197*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-strcat-slm.S", 1198*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-strcpy-slm.S", 1199*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-strlen-slm.S", 1200*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-strncat-slm.S", 1201*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse2-strncpy-slm.S", 1202*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/sse4-memcmp-slm.S", 1203*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/ssse3-strcmp-slm.S", 1204*8d67ca89SAndroid Build Coastguard Worker "arch-x86_64/string/ssse3-strncmp-slm.S", 1205*8d67ca89SAndroid Build Coastguard Worker ], 1206*8d67ca89SAndroid Build Coastguard Worker }, 1207*8d67ca89SAndroid Build Coastguard Worker }, 1208*8d67ca89SAndroid Build Coastguard Worker 1209*8d67ca89SAndroid Build Coastguard Worker multilib: { 1210*8d67ca89SAndroid Build Coastguard Worker lib32: { 1211*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1212*8d67ca89SAndroid Build Coastguard Worker // off64_t/time64_t support on LP32. 1213*8d67ca89SAndroid Build Coastguard Worker "bionic/legacy_32_bit_support.cpp", 1214*8d67ca89SAndroid Build Coastguard Worker "bionic/time64.c", 1215*8d67ca89SAndroid Build Coastguard Worker ], 1216*8d67ca89SAndroid Build Coastguard Worker }, 1217*8d67ca89SAndroid Build Coastguard Worker }, 1218*8d67ca89SAndroid Build Coastguard Worker 1219*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: ["stdio"], 1220*8d67ca89SAndroid Build Coastguard Worker generated_headers: ["generated_android_ids"], 1221*8d67ca89SAndroid Build Coastguard Worker 1222*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 1223*8d67ca89SAndroid Build Coastguard Worker "//external/llvm-libc:llvmlibc", 1224*8d67ca89SAndroid Build Coastguard Worker "libsystemproperties", 1225*8d67ca89SAndroid Build Coastguard Worker ], 1226*8d67ca89SAndroid Build Coastguard Worker 1227*8d67ca89SAndroid Build Coastguard Worker cppflags: ["-Wold-style-cast"], 1228*8d67ca89SAndroid Build Coastguard Worker include_dirs: ["bionic/libstdc++/include"], 1229*8d67ca89SAndroid Build Coastguard Worker name: "libc_bionic", 1230*8d67ca89SAndroid Build Coastguard Worker} 1231*8d67ca89SAndroid Build Coastguard Worker 1232*8d67ca89SAndroid Build Coastguard Workergenrule { 1233*8d67ca89SAndroid Build Coastguard Worker name: "generated_android_ids", 1234*8d67ca89SAndroid Build Coastguard Worker out: ["generated_android_ids.h"], 1235*8d67ca89SAndroid Build Coastguard Worker srcs: [":android_filesystem_config_header"], 1236*8d67ca89SAndroid Build Coastguard Worker tools: ["fs_config_generator"], 1237*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location fs_config_generator) aidarray $(in) > $(out)", 1238*8d67ca89SAndroid Build Coastguard Worker} 1239*8d67ca89SAndroid Build Coastguard Worker 1240*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1241*8d67ca89SAndroid Build Coastguard Worker// libc_syscalls.a 1242*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1243*8d67ca89SAndroid Build Coastguard Worker 1244*8d67ca89SAndroid Build Coastguard Workergenrule { 1245*8d67ca89SAndroid Build Coastguard Worker name: "syscalls-arm", 1246*8d67ca89SAndroid Build Coastguard Worker out: ["syscalls-arm.S"], 1247*8d67ca89SAndroid Build Coastguard Worker srcs: ["SYSCALLS.TXT"], 1248*8d67ca89SAndroid Build Coastguard Worker tools: ["gensyscalls"], 1249*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location gensyscalls) arm $(in) > $(out)", 1250*8d67ca89SAndroid Build Coastguard Worker} 1251*8d67ca89SAndroid Build Coastguard Worker 1252*8d67ca89SAndroid Build Coastguard Workergenrule { 1253*8d67ca89SAndroid Build Coastguard Worker name: "syscalls-arm64", 1254*8d67ca89SAndroid Build Coastguard Worker out: ["syscalls-arm64.S"], 1255*8d67ca89SAndroid Build Coastguard Worker srcs: ["SYSCALLS.TXT"], 1256*8d67ca89SAndroid Build Coastguard Worker tools: ["gensyscalls"], 1257*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location gensyscalls) arm64 $(in) > $(out)", 1258*8d67ca89SAndroid Build Coastguard Worker} 1259*8d67ca89SAndroid Build Coastguard Worker 1260*8d67ca89SAndroid Build Coastguard Workergenrule { 1261*8d67ca89SAndroid Build Coastguard Worker name: "syscalls-riscv64", 1262*8d67ca89SAndroid Build Coastguard Worker out: ["syscalls-riscv64.S"], 1263*8d67ca89SAndroid Build Coastguard Worker srcs: ["SYSCALLS.TXT"], 1264*8d67ca89SAndroid Build Coastguard Worker tools: ["gensyscalls"], 1265*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location gensyscalls) riscv64 $(in) > $(out)", 1266*8d67ca89SAndroid Build Coastguard Worker} 1267*8d67ca89SAndroid Build Coastguard Worker 1268*8d67ca89SAndroid Build Coastguard Workergenrule { 1269*8d67ca89SAndroid Build Coastguard Worker name: "syscalls-x86", 1270*8d67ca89SAndroid Build Coastguard Worker out: ["syscalls-x86.S"], 1271*8d67ca89SAndroid Build Coastguard Worker srcs: ["SYSCALLS.TXT"], 1272*8d67ca89SAndroid Build Coastguard Worker tools: ["gensyscalls"], 1273*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location gensyscalls) x86 $(in) > $(out)", 1274*8d67ca89SAndroid Build Coastguard Worker} 1275*8d67ca89SAndroid Build Coastguard Worker 1276*8d67ca89SAndroid Build Coastguard Workergenrule { 1277*8d67ca89SAndroid Build Coastguard Worker name: "syscalls-x86_64", 1278*8d67ca89SAndroid Build Coastguard Worker out: ["syscalls-x86_64.S"], 1279*8d67ca89SAndroid Build Coastguard Worker srcs: ["SYSCALLS.TXT"], 1280*8d67ca89SAndroid Build Coastguard Worker tools: ["gensyscalls"], 1281*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location gensyscalls) x86_64 $(in) > $(out)", 1282*8d67ca89SAndroid Build Coastguard Worker} 1283*8d67ca89SAndroid Build Coastguard Worker 1284*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1285*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 1286*8d67ca89SAndroid Build Coastguard Worker srcs: ["bionic/__set_errno.cpp"], 1287*8d67ca89SAndroid Build Coastguard Worker arch: { 1288*8d67ca89SAndroid Build Coastguard Worker arm: { 1289*8d67ca89SAndroid Build Coastguard Worker srcs: [":syscalls-arm"], 1290*8d67ca89SAndroid Build Coastguard Worker }, 1291*8d67ca89SAndroid Build Coastguard Worker arm64: { 1292*8d67ca89SAndroid Build Coastguard Worker srcs: [":syscalls-arm64"], 1293*8d67ca89SAndroid Build Coastguard Worker }, 1294*8d67ca89SAndroid Build Coastguard Worker riscv64: { 1295*8d67ca89SAndroid Build Coastguard Worker srcs: [":syscalls-riscv64"], 1296*8d67ca89SAndroid Build Coastguard Worker }, 1297*8d67ca89SAndroid Build Coastguard Worker x86: { 1298*8d67ca89SAndroid Build Coastguard Worker srcs: [":syscalls-x86"], 1299*8d67ca89SAndroid Build Coastguard Worker }, 1300*8d67ca89SAndroid Build Coastguard Worker x86_64: { 1301*8d67ca89SAndroid Build Coastguard Worker srcs: [":syscalls-x86_64"], 1302*8d67ca89SAndroid Build Coastguard Worker }, 1303*8d67ca89SAndroid Build Coastguard Worker }, 1304*8d67ca89SAndroid Build Coastguard Worker name: "libc_syscalls", 1305*8d67ca89SAndroid Build Coastguard Worker} 1306*8d67ca89SAndroid Build Coastguard Worker 1307*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1308*8d67ca89SAndroid Build Coastguard Worker// libc_aeabi.a 1309*8d67ca89SAndroid Build Coastguard Worker// This is an LP32 ARM-only library that needs to be built with -fno-builtin 1310*8d67ca89SAndroid Build Coastguard Worker// to avoid infinite recursion. For the other architectures we just build an 1311*8d67ca89SAndroid Build Coastguard Worker// empty library to keep this makefile simple. 1312*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1313*8d67ca89SAndroid Build Coastguard Worker 1314*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1315*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 1316*8d67ca89SAndroid Build Coastguard Worker arch: { 1317*8d67ca89SAndroid Build Coastguard Worker arm: { 1318*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-arm/bionic/__aeabi.c"], 1319*8d67ca89SAndroid Build Coastguard Worker }, 1320*8d67ca89SAndroid Build Coastguard Worker }, 1321*8d67ca89SAndroid Build Coastguard Worker name: "libc_aeabi", 1322*8d67ca89SAndroid Build Coastguard Worker cflags: ["-fno-builtin"], 1323*8d67ca89SAndroid Build Coastguard Worker} 1324*8d67ca89SAndroid Build Coastguard Worker 1325*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1326*8d67ca89SAndroid Build Coastguard Worker// libc_common.a --- everything shared by libc.a and libc.so 1327*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1328*8d67ca89SAndroid Build Coastguard Worker 1329*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1330*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 1331*8d67ca89SAndroid Build Coastguard Worker name: "libc_common", 1332*8d67ca89SAndroid Build Coastguard Worker 1333*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 1334*8d67ca89SAndroid Build Coastguard Worker "libarm-optimized-routines-string", 1335*8d67ca89SAndroid Build Coastguard Worker "libasync_safe", 1336*8d67ca89SAndroid Build Coastguard Worker "libc_bionic", 1337*8d67ca89SAndroid Build Coastguard Worker "libc_bootstrap", 1338*8d67ca89SAndroid Build Coastguard Worker "libc_dns", 1339*8d67ca89SAndroid Build Coastguard Worker "libc_fortify", 1340*8d67ca89SAndroid Build Coastguard Worker "libc_freebsd", 1341*8d67ca89SAndroid Build Coastguard Worker "libc_freebsd_large_stack", 1342*8d67ca89SAndroid Build Coastguard Worker "libc_freebsd_ldexp", 1343*8d67ca89SAndroid Build Coastguard Worker "libc_gdtoa", 1344*8d67ca89SAndroid Build Coastguard Worker "libc_netbsd", 1345*8d67ca89SAndroid Build Coastguard Worker "libc_openbsd", 1346*8d67ca89SAndroid Build Coastguard Worker "libc_openbsd_large_stack", 1347*8d67ca89SAndroid Build Coastguard Worker "libc_syscalls", 1348*8d67ca89SAndroid Build Coastguard Worker "libc_tzcode", 1349*8d67ca89SAndroid Build Coastguard Worker "libstdc++", 1350*8d67ca89SAndroid Build Coastguard Worker ], 1351*8d67ca89SAndroid Build Coastguard Worker 1352*8d67ca89SAndroid Build Coastguard Worker arch: { 1353*8d67ca89SAndroid Build Coastguard Worker arm: { 1354*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: ["libc_aeabi"], 1355*8d67ca89SAndroid Build Coastguard Worker }, 1356*8d67ca89SAndroid Build Coastguard Worker }, 1357*8d67ca89SAndroid Build Coastguard Worker} 1358*8d67ca89SAndroid Build Coastguard Worker 1359*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1360*8d67ca89SAndroid Build Coastguard Worker// libc_static_dispatch.a/libc_dynamic_dispatch.a --- string/memory "ifuncs" 1361*8d67ca89SAndroid Build Coastguard Worker// (Actually ifuncs for libc.so, but a home-grown alternative for libc.a.) 1362*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1363*8d67ca89SAndroid Build Coastguard Worker 1364*8d67ca89SAndroid Build Coastguard Workercc_defaults { 1365*8d67ca89SAndroid Build Coastguard Worker name: "libc_dispatch_defaults", 1366*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 1367*8d67ca89SAndroid Build Coastguard Worker arch: { 1368*8d67ca89SAndroid Build Coastguard Worker x86_64: { 1369*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-x86_64/dynamic_function_dispatch.cpp"], 1370*8d67ca89SAndroid Build Coastguard Worker }, 1371*8d67ca89SAndroid Build Coastguard Worker x86: { 1372*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-x86/dynamic_function_dispatch.cpp"], 1373*8d67ca89SAndroid Build Coastguard Worker }, 1374*8d67ca89SAndroid Build Coastguard Worker arm: { 1375*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-arm/dynamic_function_dispatch.cpp"], 1376*8d67ca89SAndroid Build Coastguard Worker }, 1377*8d67ca89SAndroid Build Coastguard Worker arm64: { 1378*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-arm64/dynamic_function_dispatch.cpp"], 1379*8d67ca89SAndroid Build Coastguard Worker }, 1380*8d67ca89SAndroid Build Coastguard Worker riscv64: { 1381*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-riscv64/dynamic_function_dispatch.cpp"], 1382*8d67ca89SAndroid Build Coastguard Worker }, 1383*8d67ca89SAndroid Build Coastguard Worker }, 1384*8d67ca89SAndroid Build Coastguard Worker // Prevent the compiler from inserting calls to libc/taking the address of 1385*8d67ca89SAndroid Build Coastguard Worker // a jump table from within an ifunc (or, in the static case, code that 1386*8d67ca89SAndroid Build Coastguard Worker // can be executed arbitrarily early). 1387*8d67ca89SAndroid Build Coastguard Worker cflags: [ 1388*8d67ca89SAndroid Build Coastguard Worker "-ffreestanding", 1389*8d67ca89SAndroid Build Coastguard Worker "-fno-stack-protector", 1390*8d67ca89SAndroid Build Coastguard Worker "-fno-jump-tables", 1391*8d67ca89SAndroid Build Coastguard Worker ], 1392*8d67ca89SAndroid Build Coastguard Worker} 1393*8d67ca89SAndroid Build Coastguard Worker 1394*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1395*8d67ca89SAndroid Build Coastguard Worker name: "libc_static_dispatch", 1396*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_dispatch_defaults"], 1397*8d67ca89SAndroid Build Coastguard Worker cflags: [ 1398*8d67ca89SAndroid Build Coastguard Worker "-DBIONIC_STATIC_DISPATCH", 1399*8d67ca89SAndroid Build Coastguard Worker ], 1400*8d67ca89SAndroid Build Coastguard Worker} 1401*8d67ca89SAndroid Build Coastguard Worker 1402*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1403*8d67ca89SAndroid Build Coastguard Worker name: "libc_dynamic_dispatch", 1404*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_dispatch_defaults"], 1405*8d67ca89SAndroid Build Coastguard Worker cflags: [ 1406*8d67ca89SAndroid Build Coastguard Worker "-DBIONIC_DYNAMIC_DISPATCH", 1407*8d67ca89SAndroid Build Coastguard Worker ], 1408*8d67ca89SAndroid Build Coastguard Worker} 1409*8d67ca89SAndroid Build Coastguard Worker 1410*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1411*8d67ca89SAndroid Build Coastguard Worker// libc_common_static.a For static binaries. 1412*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1413*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1414*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 1415*8d67ca89SAndroid Build Coastguard Worker name: "libc_common_static", 1416*8d67ca89SAndroid Build Coastguard Worker 1417*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 1418*8d67ca89SAndroid Build Coastguard Worker "libc_common", 1419*8d67ca89SAndroid Build Coastguard Worker "libc_static_dispatch", 1420*8d67ca89SAndroid Build Coastguard Worker ], 1421*8d67ca89SAndroid Build Coastguard Worker} 1422*8d67ca89SAndroid Build Coastguard Worker 1423*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1424*8d67ca89SAndroid Build Coastguard Worker// libc_common_shared.a For shared libraries. 1425*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1426*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1427*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 1428*8d67ca89SAndroid Build Coastguard Worker name: "libc_common_shared", 1429*8d67ca89SAndroid Build Coastguard Worker 1430*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 1431*8d67ca89SAndroid Build Coastguard Worker "libc_common", 1432*8d67ca89SAndroid Build Coastguard Worker "libc_dynamic_dispatch", 1433*8d67ca89SAndroid Build Coastguard Worker ], 1434*8d67ca89SAndroid Build Coastguard Worker} 1435*8d67ca89SAndroid Build Coastguard Worker 1436*8d67ca89SAndroid Build Coastguard Worker// Versions of dl_iterate_phdr and similar APIs used to lookup unwinding information in a static 1437*8d67ca89SAndroid Build Coastguard Worker// executable. 1438*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1439*8d67ca89SAndroid Build Coastguard Worker name: "libc_unwind_static", 1440*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 1441*8d67ca89SAndroid Build Coastguard Worker cflags: ["-DLIBC_STATIC"], 1442*8d67ca89SAndroid Build Coastguard Worker 1443*8d67ca89SAndroid Build Coastguard Worker srcs: ["bionic/dl_iterate_phdr_static.cpp"], 1444*8d67ca89SAndroid Build Coastguard Worker arch: { 1445*8d67ca89SAndroid Build Coastguard Worker // arm32-specific dl_unwind_find_exidx and __gnu_Unwind_Find_exidx APIs 1446*8d67ca89SAndroid Build Coastguard Worker arm: { 1447*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-arm/bionic/exidx_static.c"], 1448*8d67ca89SAndroid Build Coastguard Worker }, 1449*8d67ca89SAndroid Build Coastguard Worker }, 1450*8d67ca89SAndroid Build Coastguard Worker} 1451*8d67ca89SAndroid Build Coastguard Worker 1452*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1453*8d67ca89SAndroid Build Coastguard Worker// libc_nomalloc.a 1454*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1455*8d67ca89SAndroid Build Coastguard Worker// 1456*8d67ca89SAndroid Build Coastguard Worker// This is a version of the static C library used by the dynamic linker that exclude malloc. It also 1457*8d67ca89SAndroid Build Coastguard Worker// excludes functions selected using ifunc's (e.g. for string.h). Link in either 1458*8d67ca89SAndroid Build Coastguard Worker// libc_static_dispatch or libc_dynamic_dispatch to provide those functions. 1459*8d67ca89SAndroid Build Coastguard Worker 1460*8d67ca89SAndroid Build Coastguard Workercc_library_static { 1461*8d67ca89SAndroid Build Coastguard Worker name: "libc_nomalloc", 1462*8d67ca89SAndroid Build Coastguard Worker defaults: ["libc_defaults"], 1463*8d67ca89SAndroid Build Coastguard Worker 1464*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 1465*8d67ca89SAndroid Build Coastguard Worker "libc_common", 1466*8d67ca89SAndroid Build Coastguard Worker "libc_init_static", 1467*8d67ca89SAndroid Build Coastguard Worker "libc_unwind_static", 1468*8d67ca89SAndroid Build Coastguard Worker ], 1469*8d67ca89SAndroid Build Coastguard Worker} 1470*8d67ca89SAndroid Build Coastguard Worker 1471*8d67ca89SAndroid Build Coastguard Workerfilegroup { 1472*8d67ca89SAndroid Build Coastguard Worker name: "libc_sources_shared", 1473*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1474*8d67ca89SAndroid Build Coastguard Worker "arch-common/bionic/crtbegin_so.c", 1475*8d67ca89SAndroid Build Coastguard Worker "arch-common/bionic/crtbrand.S", 1476*8d67ca89SAndroid Build Coastguard Worker "bionic/android_mallopt.cpp", 1477*8d67ca89SAndroid Build Coastguard Worker "bionic/gwp_asan_wrappers.cpp", 1478*8d67ca89SAndroid Build Coastguard Worker "bionic/heap_tagging.cpp", 1479*8d67ca89SAndroid Build Coastguard Worker "bionic/icu.cpp", 1480*8d67ca89SAndroid Build Coastguard Worker "bionic/malloc_common.cpp", 1481*8d67ca89SAndroid Build Coastguard Worker "bionic/malloc_common_dynamic.cpp", 1482*8d67ca89SAndroid Build Coastguard Worker "bionic/android_profiling_dynamic.cpp", 1483*8d67ca89SAndroid Build Coastguard Worker "bionic/malloc_heapprofd.cpp", 1484*8d67ca89SAndroid Build Coastguard Worker "bionic/malloc_limit.cpp", 1485*8d67ca89SAndroid Build Coastguard Worker "bionic/ndk_cruft.cpp", 1486*8d67ca89SAndroid Build Coastguard Worker "bionic/ndk_cruft_data.cpp", 1487*8d67ca89SAndroid Build Coastguard Worker "bionic/NetdClient.cpp", 1488*8d67ca89SAndroid Build Coastguard Worker "arch-common/bionic/crtend_so.S", 1489*8d67ca89SAndroid Build Coastguard Worker ], 1490*8d67ca89SAndroid Build Coastguard Worker} 1491*8d67ca89SAndroid Build Coastguard Worker 1492*8d67ca89SAndroid Build Coastguard Workerfilegroup { 1493*8d67ca89SAndroid Build Coastguard Worker name: "libc_sources_static", 1494*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1495*8d67ca89SAndroid Build Coastguard Worker "bionic/android_mallopt.cpp", 1496*8d67ca89SAndroid Build Coastguard Worker "bionic/gwp_asan_wrappers.cpp", 1497*8d67ca89SAndroid Build Coastguard Worker "bionic/heap_tagging.cpp", 1498*8d67ca89SAndroid Build Coastguard Worker "bionic/icu_static.cpp", 1499*8d67ca89SAndroid Build Coastguard Worker "bionic/malloc_common.cpp", 1500*8d67ca89SAndroid Build Coastguard Worker "bionic/malloc_limit.cpp", 1501*8d67ca89SAndroid Build Coastguard Worker ], 1502*8d67ca89SAndroid Build Coastguard Worker} 1503*8d67ca89SAndroid Build Coastguard Worker 1504*8d67ca89SAndroid Build Coastguard Workerfilegroup { 1505*8d67ca89SAndroid Build Coastguard Worker name: "libc_sources_shared_arm", 1506*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1507*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/exidx_dynamic.c", 1508*8d67ca89SAndroid Build Coastguard Worker "arch-arm/bionic/atexit_legacy.c", 1509*8d67ca89SAndroid Build Coastguard Worker ], 1510*8d67ca89SAndroid Build Coastguard Worker} 1511*8d67ca89SAndroid Build Coastguard Worker 1512*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1513*8d67ca89SAndroid Build Coastguard Worker// libc.a + libc.so 1514*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1515*8d67ca89SAndroid Build Coastguard Workercc_defaults { 1516*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1517*8d67ca89SAndroid Build Coastguard Worker "libc_defaults", 1518*8d67ca89SAndroid Build Coastguard Worker "libc_native_allocator_defaults", 1519*8d67ca89SAndroid Build Coastguard Worker "bug_24465209_workaround", 1520*8d67ca89SAndroid Build Coastguard Worker "keep_symbols", 1521*8d67ca89SAndroid Build Coastguard Worker ], 1522*8d67ca89SAndroid Build Coastguard Worker name: "libc_library_defaults", 1523*8d67ca89SAndroid Build Coastguard Worker product_variables: { 1524*8d67ca89SAndroid Build Coastguard Worker platform_sdk_version: { 1525*8d67ca89SAndroid Build Coastguard Worker asflags: ["-DPLATFORM_SDK_VERSION=%d"], 1526*8d67ca89SAndroid Build Coastguard Worker }, 1527*8d67ca89SAndroid Build Coastguard Worker }, 1528*8d67ca89SAndroid Build Coastguard Worker static: { 1529*8d67ca89SAndroid Build Coastguard Worker srcs: [":libc_sources_static"], 1530*8d67ca89SAndroid Build Coastguard Worker cflags: ["-DLIBC_STATIC"], 1531*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 1532*8d67ca89SAndroid Build Coastguard Worker "gwp_asan", 1533*8d67ca89SAndroid Build Coastguard Worker "libc_init_static", 1534*8d67ca89SAndroid Build Coastguard Worker "libc_common_static", 1535*8d67ca89SAndroid Build Coastguard Worker "libc_unwind_static", 1536*8d67ca89SAndroid Build Coastguard Worker ], 1537*8d67ca89SAndroid Build Coastguard Worker }, 1538*8d67ca89SAndroid Build Coastguard Worker shared: { 1539*8d67ca89SAndroid Build Coastguard Worker srcs: [":libc_sources_shared"], 1540*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 1541*8d67ca89SAndroid Build Coastguard Worker "gwp_asan", 1542*8d67ca89SAndroid Build Coastguard Worker "libc_init_dynamic", 1543*8d67ca89SAndroid Build Coastguard Worker "libc_common_shared", 1544*8d67ca89SAndroid Build Coastguard Worker "libunwind-exported", 1545*8d67ca89SAndroid Build Coastguard Worker ], 1546*8d67ca89SAndroid Build Coastguard Worker }, 1547*8d67ca89SAndroid Build Coastguard Worker 1548*8d67ca89SAndroid Build Coastguard Worker required: [ 1549*8d67ca89SAndroid Build Coastguard Worker "tzdata_prebuilt", 1550*8d67ca89SAndroid Build Coastguard Worker "tz_version_prebuilt", // Version metadata for tzdata to help debugging. 1551*8d67ca89SAndroid Build Coastguard Worker ], 1552*8d67ca89SAndroid Build Coastguard Worker 1553*8d67ca89SAndroid Build Coastguard Worker // Do not pack libc.so relocations; see http://b/20645321 for details. 1554*8d67ca89SAndroid Build Coastguard Worker pack_relocations: false, 1555*8d67ca89SAndroid Build Coastguard Worker 1556*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1557*8d67ca89SAndroid Build Coastguard Worker "ld-android", 1558*8d67ca89SAndroid Build Coastguard Worker "libdl", 1559*8d67ca89SAndroid Build Coastguard Worker ], 1560*8d67ca89SAndroid Build Coastguard Worker static_libs: [ 1561*8d67ca89SAndroid Build Coastguard Worker "libdl_android", 1562*8d67ca89SAndroid Build Coastguard Worker ], 1563*8d67ca89SAndroid Build Coastguard Worker 1564*8d67ca89SAndroid Build Coastguard Worker nocrt: true, 1565*8d67ca89SAndroid Build Coastguard Worker 1566*8d67ca89SAndroid Build Coastguard Worker arch: { 1567*8d67ca89SAndroid Build Coastguard Worker arm: { 1568*8d67ca89SAndroid Build Coastguard Worker version_script: ":libc.arm.map", 1569*8d67ca89SAndroid Build Coastguard Worker no_libcrt: true, 1570*8d67ca89SAndroid Build Coastguard Worker 1571*8d67ca89SAndroid Build Coastguard Worker shared: { 1572*8d67ca89SAndroid Build Coastguard Worker srcs: [":libc_sources_shared_arm"], 1573*8d67ca89SAndroid Build Coastguard Worker // special for arm 1574*8d67ca89SAndroid Build Coastguard Worker cflags: ["-DCRT_LEGACY_WORKAROUND"], 1575*8d67ca89SAndroid Build Coastguard Worker // For backwards compatibility, some arm32 builtins are exported from libc.so. 1576*8d67ca89SAndroid Build Coastguard Worker static_libs: ["libclang_rt.builtins-exported"], 1577*8d67ca89SAndroid Build Coastguard Worker }, 1578*8d67ca89SAndroid Build Coastguard Worker 1579*8d67ca89SAndroid Build Coastguard Worker ldflags: [ 1580*8d67ca89SAndroid Build Coastguard Worker // Since we preserve the debug_frame for libc, do not compress 1581*8d67ca89SAndroid Build Coastguard Worker // in this case to make unwinds as fast as possible. 1582*8d67ca89SAndroid Build Coastguard Worker "-Wl,--compress-debug-sections=none", 1583*8d67ca89SAndroid Build Coastguard Worker ], 1584*8d67ca89SAndroid Build Coastguard Worker }, 1585*8d67ca89SAndroid Build Coastguard Worker arm64: { 1586*8d67ca89SAndroid Build Coastguard Worker version_script: ":libc.arm64.map", 1587*8d67ca89SAndroid Build Coastguard Worker }, 1588*8d67ca89SAndroid Build Coastguard Worker riscv64: { 1589*8d67ca89SAndroid Build Coastguard Worker version_script: ":libc.riscv64.map", 1590*8d67ca89SAndroid Build Coastguard Worker }, 1591*8d67ca89SAndroid Build Coastguard Worker x86: { 1592*8d67ca89SAndroid Build Coastguard Worker version_script: ":libc.x86.map", 1593*8d67ca89SAndroid Build Coastguard Worker no_libcrt: true, 1594*8d67ca89SAndroid Build Coastguard Worker 1595*8d67ca89SAndroid Build Coastguard Worker shared: { 1596*8d67ca89SAndroid Build Coastguard Worker // For backwards compatibility, some x86 builtins are exported from libc.so. 1597*8d67ca89SAndroid Build Coastguard Worker static_libs: ["libclang_rt.builtins-exported"], 1598*8d67ca89SAndroid Build Coastguard Worker }, 1599*8d67ca89SAndroid Build Coastguard Worker }, 1600*8d67ca89SAndroid Build Coastguard Worker x86_64: { 1601*8d67ca89SAndroid Build Coastguard Worker version_script: ":libc.x86_64.map", 1602*8d67ca89SAndroid Build Coastguard Worker }, 1603*8d67ca89SAndroid Build Coastguard Worker }, 1604*8d67ca89SAndroid Build Coastguard Worker 1605*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 1606*8d67ca89SAndroid Build Coastguard Worker "com.android.runtime", 1607*8d67ca89SAndroid Build Coastguard Worker ], 1608*8d67ca89SAndroid Build Coastguard Worker 1609*8d67ca89SAndroid Build Coastguard Worker target: { 1610*8d67ca89SAndroid Build Coastguard Worker native_bridge: { 1611*8d67ca89SAndroid Build Coastguard Worker shared: { 1612*8d67ca89SAndroid Build Coastguard Worker installable: false, 1613*8d67ca89SAndroid Build Coastguard Worker }, 1614*8d67ca89SAndroid Build Coastguard Worker }, 1615*8d67ca89SAndroid Build Coastguard Worker }, 1616*8d67ca89SAndroid Build Coastguard Worker} 1617*8d67ca89SAndroid Build Coastguard Worker 1618*8d67ca89SAndroid Build Coastguard Workercc_library { 1619*8d67ca89SAndroid Build Coastguard Worker name: "libc", 1620*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1621*8d67ca89SAndroid Build Coastguard Worker "libc_library_defaults", 1622*8d67ca89SAndroid Build Coastguard Worker ], 1623*8d67ca89SAndroid Build Coastguard Worker stubs: { 1624*8d67ca89SAndroid Build Coastguard Worker symbol_file: "libc.map.txt", 1625*8d67ca89SAndroid Build Coastguard Worker versions: [ 1626*8d67ca89SAndroid Build Coastguard Worker "29", 1627*8d67ca89SAndroid Build Coastguard Worker "R", 1628*8d67ca89SAndroid Build Coastguard Worker "current", 1629*8d67ca89SAndroid Build Coastguard Worker ], 1630*8d67ca89SAndroid Build Coastguard Worker }, 1631*8d67ca89SAndroid Build Coastguard Worker static_ndk_lib: true, 1632*8d67ca89SAndroid Build Coastguard Worker llndk: { 1633*8d67ca89SAndroid Build Coastguard Worker symbol_file: "libc.map.txt", 1634*8d67ca89SAndroid Build Coastguard Worker export_headers_as_system: true, 1635*8d67ca89SAndroid Build Coastguard Worker export_llndk_headers: ["libc_headers"], 1636*8d67ca89SAndroid Build Coastguard Worker }, 1637*8d67ca89SAndroid Build Coastguard Worker} 1638*8d67ca89SAndroid Build Coastguard Worker 1639*8d67ca89SAndroid Build Coastguard Workercc_library { 1640*8d67ca89SAndroid Build Coastguard Worker name: "libc_hwasan", 1641*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1642*8d67ca89SAndroid Build Coastguard Worker "libc_library_defaults", 1643*8d67ca89SAndroid Build Coastguard Worker ], 1644*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1645*8d67ca89SAndroid Build Coastguard Worker hwaddress: true, 1646*8d67ca89SAndroid Build Coastguard Worker }, 1647*8d67ca89SAndroid Build Coastguard Worker enabled: false, 1648*8d67ca89SAndroid Build Coastguard Worker target: { 1649*8d67ca89SAndroid Build Coastguard Worker android_arm64: { 1650*8d67ca89SAndroid Build Coastguard Worker enabled: true, 1651*8d67ca89SAndroid Build Coastguard Worker }, 1652*8d67ca89SAndroid Build Coastguard Worker }, 1653*8d67ca89SAndroid Build Coastguard Worker stem: "libc", 1654*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "hwasan", 1655*8d67ca89SAndroid Build Coastguard Worker // We don't really need the stubs, but this needs to stay to trigger the 1656*8d67ca89SAndroid Build Coastguard Worker // symlink logic in soong. 1657*8d67ca89SAndroid Build Coastguard Worker stubs: { 1658*8d67ca89SAndroid Build Coastguard Worker symbol_file: "libc.map.txt", 1659*8d67ca89SAndroid Build Coastguard Worker }, 1660*8d67ca89SAndroid Build Coastguard Worker native_bridge_supported: false, 1661*8d67ca89SAndroid Build Coastguard Worker // It is never correct to depend on this directly. This is only 1662*8d67ca89SAndroid Build Coastguard Worker // needed for the runtime apex, and in base_system.mk, and system_image_defaults 1663*8d67ca89SAndroid Build Coastguard Worker // which is default module for soong-defined system image. 1664*8d67ca89SAndroid Build Coastguard Worker visibility: [ 1665*8d67ca89SAndroid Build Coastguard Worker "//bionic/apex", 1666*8d67ca89SAndroid Build Coastguard Worker "//build/make/target/product/generic", 1667*8d67ca89SAndroid Build Coastguard Worker //TODO(b/381985636) : Remove visibility to Soong-defined GSI once resolved 1668*8d67ca89SAndroid Build Coastguard Worker "//build/make/target/product/gsi", 1669*8d67ca89SAndroid Build Coastguard Worker ], 1670*8d67ca89SAndroid Build Coastguard Worker} 1671*8d67ca89SAndroid Build Coastguard Worker 1672*8d67ca89SAndroid Build Coastguard Workergenrule { 1673*8d67ca89SAndroid Build Coastguard Worker name: "libc.arm.map", 1674*8d67ca89SAndroid Build Coastguard Worker out: ["libc.arm.map.txt"], 1675*8d67ca89SAndroid Build Coastguard Worker srcs: ["libc.map.txt"], 1676*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1677*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) arm $(in) $(out)", 1678*8d67ca89SAndroid Build Coastguard Worker} 1679*8d67ca89SAndroid Build Coastguard Worker 1680*8d67ca89SAndroid Build Coastguard Workergenrule { 1681*8d67ca89SAndroid Build Coastguard Worker name: "libc.arm64.map", 1682*8d67ca89SAndroid Build Coastguard Worker out: ["libc.arm64.map.txt"], 1683*8d67ca89SAndroid Build Coastguard Worker srcs: ["libc.map.txt"], 1684*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1685*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) arm64 $(in) $(out)", 1686*8d67ca89SAndroid Build Coastguard Worker} 1687*8d67ca89SAndroid Build Coastguard Worker 1688*8d67ca89SAndroid Build Coastguard Workergenrule { 1689*8d67ca89SAndroid Build Coastguard Worker name: "libc.riscv64.map", 1690*8d67ca89SAndroid Build Coastguard Worker out: ["libc.riscv64.map.txt"], 1691*8d67ca89SAndroid Build Coastguard Worker srcs: ["libc.map.txt"], 1692*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1693*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) riscv64 $(in) $(out)", 1694*8d67ca89SAndroid Build Coastguard Worker} 1695*8d67ca89SAndroid Build Coastguard Worker 1696*8d67ca89SAndroid Build Coastguard Workergenrule { 1697*8d67ca89SAndroid Build Coastguard Worker name: "libc.x86.map", 1698*8d67ca89SAndroid Build Coastguard Worker out: ["libc.x86.map.txt"], 1699*8d67ca89SAndroid Build Coastguard Worker srcs: ["libc.map.txt"], 1700*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1701*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) x86 $(in) $(out)", 1702*8d67ca89SAndroid Build Coastguard Worker} 1703*8d67ca89SAndroid Build Coastguard Worker 1704*8d67ca89SAndroid Build Coastguard Workergenrule { 1705*8d67ca89SAndroid Build Coastguard Worker name: "libc.x86_64.map", 1706*8d67ca89SAndroid Build Coastguard Worker out: ["libc.x86_64.map.txt"], 1707*8d67ca89SAndroid Build Coastguard Worker srcs: ["libc.map.txt"], 1708*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1709*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) x86_64 $(in) $(out)", 1710*8d67ca89SAndroid Build Coastguard Worker} 1711*8d67ca89SAndroid Build Coastguard Worker 1712*8d67ca89SAndroid Build Coastguard Worker// Headers that only other parts of the platform can include. 1713*8d67ca89SAndroid Build Coastguard Workercc_library_headers { 1714*8d67ca89SAndroid Build Coastguard Worker name: "bionic_libc_platform_headers", 1715*8d67ca89SAndroid Build Coastguard Worker defaults: ["linux_bionic_supported"], 1716*8d67ca89SAndroid Build Coastguard Worker visibility: [ 1717*8d67ca89SAndroid Build Coastguard Worker "//art:__subpackages__", 1718*8d67ca89SAndroid Build Coastguard Worker "//bionic:__subpackages__", 1719*8d67ca89SAndroid Build Coastguard Worker "//frameworks:__subpackages__", 1720*8d67ca89SAndroid Build Coastguard Worker "//device/generic/goldfish-opengl:__subpackages__", 1721*8d67ca89SAndroid Build Coastguard Worker "//external/gwp_asan:__subpackages__", 1722*8d67ca89SAndroid Build Coastguard Worker "//external/perfetto:__subpackages__", 1723*8d67ca89SAndroid Build Coastguard Worker "//external/scudo:__subpackages__", 1724*8d67ca89SAndroid Build Coastguard Worker "//system/core/debuggerd:__subpackages__", 1725*8d67ca89SAndroid Build Coastguard Worker "//system/core/init:__subpackages__", 1726*8d67ca89SAndroid Build Coastguard Worker "//system/core/libcutils:__subpackages__", 1727*8d67ca89SAndroid Build Coastguard Worker "//system/memory/libmemunreachable:__subpackages__", 1728*8d67ca89SAndroid Build Coastguard Worker "//system/unwinding/libunwindstack:__subpackages__", 1729*8d67ca89SAndroid Build Coastguard Worker "//tools/security/sanitizer-status:__subpackages__", 1730*8d67ca89SAndroid Build Coastguard Worker ], 1731*8d67ca89SAndroid Build Coastguard Worker vendor_available: true, 1732*8d67ca89SAndroid Build Coastguard Worker product_available: true, 1733*8d67ca89SAndroid Build Coastguard Worker ramdisk_available: true, 1734*8d67ca89SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 1735*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 1736*8d67ca89SAndroid Build Coastguard Worker native_bridge_supported: true, 1737*8d67ca89SAndroid Build Coastguard Worker export_include_dirs: [ 1738*8d67ca89SAndroid Build Coastguard Worker "platform", 1739*8d67ca89SAndroid Build Coastguard Worker ], 1740*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 1741*8d67ca89SAndroid Build Coastguard Worker stl: "none", 1742*8d67ca89SAndroid Build Coastguard Worker sdk_version: "current", 1743*8d67ca89SAndroid Build Coastguard Worker 1744*8d67ca89SAndroid Build Coastguard Worker min_sdk_version: "29", 1745*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 1746*8d67ca89SAndroid Build Coastguard Worker "//apex_available:platform", 1747*8d67ca89SAndroid Build Coastguard Worker "//apex_available:anyapex", 1748*8d67ca89SAndroid Build Coastguard Worker ], 1749*8d67ca89SAndroid Build Coastguard Worker} 1750*8d67ca89SAndroid Build Coastguard Worker 1751*8d67ca89SAndroid Build Coastguard Workercc_library_headers { 1752*8d67ca89SAndroid Build Coastguard Worker name: "libc_uapi_headers", 1753*8d67ca89SAndroid Build Coastguard Worker visibility: [ 1754*8d67ca89SAndroid Build Coastguard Worker "//external/musl", 1755*8d67ca89SAndroid Build Coastguard Worker "//external/rust/crates/v4l2r/android", 1756*8d67ca89SAndroid Build Coastguard Worker ], 1757*8d67ca89SAndroid Build Coastguard Worker llndk: { 1758*8d67ca89SAndroid Build Coastguard Worker llndk_headers: true, 1759*8d67ca89SAndroid Build Coastguard Worker }, 1760*8d67ca89SAndroid Build Coastguard Worker host_supported: true, 1761*8d67ca89SAndroid Build Coastguard Worker vendor_available: true, 1762*8d67ca89SAndroid Build Coastguard Worker product_available: true, 1763*8d67ca89SAndroid Build Coastguard Worker ramdisk_available: true, 1764*8d67ca89SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 1765*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 1766*8d67ca89SAndroid Build Coastguard Worker native_bridge_supported: true, 1767*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 1768*8d67ca89SAndroid Build Coastguard Worker "//apex_available:platform", 1769*8d67ca89SAndroid Build Coastguard Worker "//apex_available:anyapex", 1770*8d67ca89SAndroid Build Coastguard Worker ], 1771*8d67ca89SAndroid Build Coastguard Worker // used by most APEXes indirectly via libunwind_llvm 1772*8d67ca89SAndroid Build Coastguard Worker min_sdk_version: "apex_inherit", 1773*8d67ca89SAndroid Build Coastguard Worker 1774*8d67ca89SAndroid Build Coastguard Worker no_libcrt: true, 1775*8d67ca89SAndroid Build Coastguard Worker stl: "none", 1776*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 1777*8d67ca89SAndroid Build Coastguard Worker 1778*8d67ca89SAndroid Build Coastguard Worker // The build system generally requires that any dependencies of a target 1779*8d67ca89SAndroid Build Coastguard Worker // with an sdk_version must have a lower sdk_version. By setting sdk_version 1780*8d67ca89SAndroid Build Coastguard Worker // to 1 we let targets with an sdk_version that need to depend on the libc 1781*8d67ca89SAndroid Build Coastguard Worker // headers but cannot depend on libc itself due to circular dependencies 1782*8d67ca89SAndroid Build Coastguard Worker // (such as libunwind_llvm) depend on the headers. Setting sdk_version to 1 1783*8d67ca89SAndroid Build Coastguard Worker // is correct because the headers can support any sdk_version. 1784*8d67ca89SAndroid Build Coastguard Worker sdk_version: "1", 1785*8d67ca89SAndroid Build Coastguard Worker 1786*8d67ca89SAndroid Build Coastguard Worker export_system_include_dirs: [ 1787*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi", 1788*8d67ca89SAndroid Build Coastguard Worker "kernel/android/scsi", 1789*8d67ca89SAndroid Build Coastguard Worker "kernel/android/uapi", 1790*8d67ca89SAndroid Build Coastguard Worker ], 1791*8d67ca89SAndroid Build Coastguard Worker 1792*8d67ca89SAndroid Build Coastguard Worker arch: { 1793*8d67ca89SAndroid Build Coastguard Worker arm: { 1794*8d67ca89SAndroid Build Coastguard Worker export_system_include_dirs: ["kernel/uapi/asm-arm"], 1795*8d67ca89SAndroid Build Coastguard Worker }, 1796*8d67ca89SAndroid Build Coastguard Worker arm64: { 1797*8d67ca89SAndroid Build Coastguard Worker export_system_include_dirs: ["kernel/uapi/asm-arm64"], 1798*8d67ca89SAndroid Build Coastguard Worker }, 1799*8d67ca89SAndroid Build Coastguard Worker riscv64: { 1800*8d67ca89SAndroid Build Coastguard Worker export_system_include_dirs: ["kernel/uapi/asm-riscv"], 1801*8d67ca89SAndroid Build Coastguard Worker }, 1802*8d67ca89SAndroid Build Coastguard Worker x86: { 1803*8d67ca89SAndroid Build Coastguard Worker export_system_include_dirs: ["kernel/uapi/asm-x86"], 1804*8d67ca89SAndroid Build Coastguard Worker }, 1805*8d67ca89SAndroid Build Coastguard Worker x86_64: { 1806*8d67ca89SAndroid Build Coastguard Worker export_system_include_dirs: ["kernel/uapi/asm-x86"], 1807*8d67ca89SAndroid Build Coastguard Worker }, 1808*8d67ca89SAndroid Build Coastguard Worker }, 1809*8d67ca89SAndroid Build Coastguard Worker} 1810*8d67ca89SAndroid Build Coastguard Worker 1811*8d67ca89SAndroid Build Coastguard Workercc_library_headers { 1812*8d67ca89SAndroid Build Coastguard Worker name: "libc_headers", 1813*8d67ca89SAndroid Build Coastguard Worker host_supported: true, 1814*8d67ca89SAndroid Build Coastguard Worker native_bridge_supported: true, 1815*8d67ca89SAndroid Build Coastguard Worker vendor_available: true, 1816*8d67ca89SAndroid Build Coastguard Worker product_available: true, 1817*8d67ca89SAndroid Build Coastguard Worker ramdisk_available: true, 1818*8d67ca89SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 1819*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 1820*8d67ca89SAndroid Build Coastguard Worker sdk_version: "1", 1821*8d67ca89SAndroid Build Coastguard Worker 1822*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 1823*8d67ca89SAndroid Build Coastguard Worker "//apex_available:platform", 1824*8d67ca89SAndroid Build Coastguard Worker "//apex_available:anyapex", 1825*8d67ca89SAndroid Build Coastguard Worker ], 1826*8d67ca89SAndroid Build Coastguard Worker // used by most APEXes indirectly via libunwind_llvm 1827*8d67ca89SAndroid Build Coastguard Worker min_sdk_version: "apex_inherit", 1828*8d67ca89SAndroid Build Coastguard Worker visibility: [ 1829*8d67ca89SAndroid Build Coastguard Worker "//bionic:__subpackages__", // visible to bionic 1830*8d67ca89SAndroid Build Coastguard Worker // ... and only to these places (b/152668052) 1831*8d67ca89SAndroid Build Coastguard Worker "//external/arm-optimized-routines", 1832*8d67ca89SAndroid Build Coastguard Worker "//external/gwp_asan", 1833*8d67ca89SAndroid Build Coastguard Worker "//external/jemalloc_new", 1834*8d67ca89SAndroid Build Coastguard Worker "//external/libunwind_llvm", 1835*8d67ca89SAndroid Build Coastguard Worker "//external/llvm-libc", 1836*8d67ca89SAndroid Build Coastguard Worker "//external/scudo", 1837*8d67ca89SAndroid Build Coastguard Worker "//system/core/property_service/libpropertyinfoparser", 1838*8d67ca89SAndroid Build Coastguard Worker "//system/extras/toolchain-extras", 1839*8d67ca89SAndroid Build Coastguard Worker ], 1840*8d67ca89SAndroid Build Coastguard Worker 1841*8d67ca89SAndroid Build Coastguard Worker stl: "none", 1842*8d67ca89SAndroid Build Coastguard Worker no_libcrt: true, 1843*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 1844*8d67ca89SAndroid Build Coastguard Worker 1845*8d67ca89SAndroid Build Coastguard Worker target: { 1846*8d67ca89SAndroid Build Coastguard Worker android: { 1847*8d67ca89SAndroid Build Coastguard Worker export_system_include_dirs: ["include"], 1848*8d67ca89SAndroid Build Coastguard Worker header_libs: ["libc_uapi_headers"], 1849*8d67ca89SAndroid Build Coastguard Worker export_header_lib_headers: ["libc_uapi_headers"], 1850*8d67ca89SAndroid Build Coastguard Worker }, 1851*8d67ca89SAndroid Build Coastguard Worker linux_bionic: { 1852*8d67ca89SAndroid Build Coastguard Worker export_system_include_dirs: ["include"], 1853*8d67ca89SAndroid Build Coastguard Worker header_libs: ["libc_uapi_headers"], 1854*8d67ca89SAndroid Build Coastguard Worker export_header_lib_headers: ["libc_uapi_headers"], 1855*8d67ca89SAndroid Build Coastguard Worker }, 1856*8d67ca89SAndroid Build Coastguard Worker }, 1857*8d67ca89SAndroid Build Coastguard Worker} 1858*8d67ca89SAndroid Build Coastguard Worker 1859*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1860*8d67ca89SAndroid Build Coastguard Worker// libstdc++.so and libstdc++.a. 1861*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1862*8d67ca89SAndroid Build Coastguard Worker 1863*8d67ca89SAndroid Build Coastguard Workercc_library { 1864*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1865*8d67ca89SAndroid Build Coastguard Worker "libc_defaults", 1866*8d67ca89SAndroid Build Coastguard Worker "bug_24465209_workaround", 1867*8d67ca89SAndroid Build Coastguard Worker ], 1868*8d67ca89SAndroid Build Coastguard Worker include_dirs: ["bionic/libstdc++/include"], 1869*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1870*8d67ca89SAndroid Build Coastguard Worker "bionic/__cxa_guard.cpp", 1871*8d67ca89SAndroid Build Coastguard Worker "bionic/__cxa_pure_virtual.cpp", 1872*8d67ca89SAndroid Build Coastguard Worker "bionic/new.cpp", 1873*8d67ca89SAndroid Build Coastguard Worker ], 1874*8d67ca89SAndroid Build Coastguard Worker name: "libstdc++", 1875*8d67ca89SAndroid Build Coastguard Worker static_ndk_lib: true, 1876*8d67ca89SAndroid Build Coastguard Worker static_libs: ["libasync_safe"], 1877*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 1878*8d67ca89SAndroid Build Coastguard Worker "//apex_available:platform", 1879*8d67ca89SAndroid Build Coastguard Worker ], 1880*8d67ca89SAndroid Build Coastguard Worker 1881*8d67ca89SAndroid Build Coastguard Worker static: { 1882*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 1883*8d67ca89SAndroid Build Coastguard Worker }, 1884*8d67ca89SAndroid Build Coastguard Worker target: { 1885*8d67ca89SAndroid Build Coastguard Worker bionic: { 1886*8d67ca89SAndroid Build Coastguard Worker shared: { 1887*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: ["libc"], 1888*8d67ca89SAndroid Build Coastguard Worker }, 1889*8d67ca89SAndroid Build Coastguard Worker }, 1890*8d67ca89SAndroid Build Coastguard Worker }, 1891*8d67ca89SAndroid Build Coastguard Worker 1892*8d67ca89SAndroid Build Coastguard Worker arch: { 1893*8d67ca89SAndroid Build Coastguard Worker arm: { 1894*8d67ca89SAndroid Build Coastguard Worker version_script: ":libstdc++.arm.map", 1895*8d67ca89SAndroid Build Coastguard Worker }, 1896*8d67ca89SAndroid Build Coastguard Worker arm64: { 1897*8d67ca89SAndroid Build Coastguard Worker version_script: ":libstdc++.arm64.map", 1898*8d67ca89SAndroid Build Coastguard Worker }, 1899*8d67ca89SAndroid Build Coastguard Worker riscv64: { 1900*8d67ca89SAndroid Build Coastguard Worker version_script: ":libstdc++.riscv64.map", 1901*8d67ca89SAndroid Build Coastguard Worker }, 1902*8d67ca89SAndroid Build Coastguard Worker x86: { 1903*8d67ca89SAndroid Build Coastguard Worker version_script: ":libstdc++.x86.map", 1904*8d67ca89SAndroid Build Coastguard Worker }, 1905*8d67ca89SAndroid Build Coastguard Worker x86_64: { 1906*8d67ca89SAndroid Build Coastguard Worker version_script: ":libstdc++.x86_64.map", 1907*8d67ca89SAndroid Build Coastguard Worker }, 1908*8d67ca89SAndroid Build Coastguard Worker }, 1909*8d67ca89SAndroid Build Coastguard Worker} 1910*8d67ca89SAndroid Build Coastguard Worker 1911*8d67ca89SAndroid Build Coastguard Workergenrule { 1912*8d67ca89SAndroid Build Coastguard Worker name: "libstdc++.arm.map", 1913*8d67ca89SAndroid Build Coastguard Worker out: ["libstdc++.arm.map.txt"], 1914*8d67ca89SAndroid Build Coastguard Worker srcs: ["libstdc++.map.txt"], 1915*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1916*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) arm $(in) $(out)", 1917*8d67ca89SAndroid Build Coastguard Worker} 1918*8d67ca89SAndroid Build Coastguard Worker 1919*8d67ca89SAndroid Build Coastguard Workergenrule { 1920*8d67ca89SAndroid Build Coastguard Worker name: "libstdc++.arm64.map", 1921*8d67ca89SAndroid Build Coastguard Worker out: ["libstdc++.arm64.map.txt"], 1922*8d67ca89SAndroid Build Coastguard Worker srcs: ["libstdc++.map.txt"], 1923*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1924*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) arm64 $(in) $(out)", 1925*8d67ca89SAndroid Build Coastguard Worker} 1926*8d67ca89SAndroid Build Coastguard Worker 1927*8d67ca89SAndroid Build Coastguard Workergenrule { 1928*8d67ca89SAndroid Build Coastguard Worker name: "libstdc++.riscv64.map", 1929*8d67ca89SAndroid Build Coastguard Worker out: ["libstdc++.riscv64.map.txt"], 1930*8d67ca89SAndroid Build Coastguard Worker srcs: ["libstdc++.map.txt"], 1931*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1932*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) riscv64 $(in) $(out)", 1933*8d67ca89SAndroid Build Coastguard Worker} 1934*8d67ca89SAndroid Build Coastguard Worker 1935*8d67ca89SAndroid Build Coastguard Workergenrule { 1936*8d67ca89SAndroid Build Coastguard Worker name: "libstdc++.x86.map", 1937*8d67ca89SAndroid Build Coastguard Worker out: ["libstdc++.x86.map.txt"], 1938*8d67ca89SAndroid Build Coastguard Worker srcs: ["libstdc++.map.txt"], 1939*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1940*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) x86 $(in) $(out)", 1941*8d67ca89SAndroid Build Coastguard Worker} 1942*8d67ca89SAndroid Build Coastguard Worker 1943*8d67ca89SAndroid Build Coastguard Workergenrule { 1944*8d67ca89SAndroid Build Coastguard Worker name: "libstdc++.x86_64.map", 1945*8d67ca89SAndroid Build Coastguard Worker out: ["libstdc++.x86_64.map.txt"], 1946*8d67ca89SAndroid Build Coastguard Worker srcs: ["libstdc++.map.txt"], 1947*8d67ca89SAndroid Build Coastguard Worker tools: ["generate-version-script"], 1948*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location generate-version-script) x86_64 $(in) $(out)", 1949*8d67ca89SAndroid Build Coastguard Worker} 1950*8d67ca89SAndroid Build Coastguard Worker 1951*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1952*8d67ca89SAndroid Build Coastguard Worker// crt object files. 1953*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 1954*8d67ca89SAndroid Build Coastguard Worker 1955*8d67ca89SAndroid Build Coastguard Workercc_defaults { 1956*8d67ca89SAndroid Build Coastguard Worker name: "crt_and_memtag_defaults", 1957*8d67ca89SAndroid Build Coastguard Worker defaults: ["linux_bionic_supported"], 1958*8d67ca89SAndroid Build Coastguard Worker vendor_available: true, 1959*8d67ca89SAndroid Build Coastguard Worker product_available: true, 1960*8d67ca89SAndroid Build Coastguard Worker ramdisk_available: true, 1961*8d67ca89SAndroid Build Coastguard Worker vendor_ramdisk_available: true, 1962*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 1963*8d67ca89SAndroid Build Coastguard Worker native_bridge_supported: true, 1964*8d67ca89SAndroid Build Coastguard Worker apex_available: [ 1965*8d67ca89SAndroid Build Coastguard Worker "//apex_available:platform", 1966*8d67ca89SAndroid Build Coastguard Worker "//apex_available:anyapex", 1967*8d67ca89SAndroid Build Coastguard Worker ], 1968*8d67ca89SAndroid Build Coastguard Worker // Generate NDK variants of the CRT objects for every supported API level. 1969*8d67ca89SAndroid Build Coastguard Worker min_sdk_version: "16", 1970*8d67ca89SAndroid Build Coastguard Worker stl: "none", 1971*8d67ca89SAndroid Build Coastguard Worker crt: true, 1972*8d67ca89SAndroid Build Coastguard Worker cflags: [ 1973*8d67ca89SAndroid Build Coastguard Worker "-Wno-gcc-compat", 1974*8d67ca89SAndroid Build Coastguard Worker "-Wall", 1975*8d67ca89SAndroid Build Coastguard Worker "-Werror", 1976*8d67ca89SAndroid Build Coastguard Worker ], 1977*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1978*8d67ca89SAndroid Build Coastguard Worker never: true, 1979*8d67ca89SAndroid Build Coastguard Worker }, 1980*8d67ca89SAndroid Build Coastguard Worker} 1981*8d67ca89SAndroid Build Coastguard Worker 1982*8d67ca89SAndroid Build Coastguard Workercc_defaults { 1983*8d67ca89SAndroid Build Coastguard Worker name: "crt_defaults", 1984*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_and_memtag_defaults"], 1985*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 1986*8d67ca89SAndroid Build Coastguard Worker} 1987*8d67ca89SAndroid Build Coastguard Worker 1988*8d67ca89SAndroid Build Coastguard Workercc_defaults { 1989*8d67ca89SAndroid Build Coastguard Worker name: "crt_so_defaults", 1990*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_defaults"], 1991*8d67ca89SAndroid Build Coastguard Worker stl: "none", 1992*8d67ca89SAndroid Build Coastguard Worker} 1993*8d67ca89SAndroid Build Coastguard Worker 1994*8d67ca89SAndroid Build Coastguard Workercc_object { 1995*8d67ca89SAndroid Build Coastguard Worker name: "crtbrand", 1996*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 1997*8d67ca89SAndroid Build Coastguard Worker "private", // crtbrand.S depends on private/bionic_asm_note.h 1998*8d67ca89SAndroid Build Coastguard Worker ], 1999*8d67ca89SAndroid Build Coastguard Worker // crtbrand.S needs to know the platform SDK version. 2000*8d67ca89SAndroid Build Coastguard Worker product_variables: { 2001*8d67ca89SAndroid Build Coastguard Worker platform_sdk_version: { 2002*8d67ca89SAndroid Build Coastguard Worker asflags: ["-DPLATFORM_SDK_VERSION=%d"], 2003*8d67ca89SAndroid Build Coastguard Worker }, 2004*8d67ca89SAndroid Build Coastguard Worker }, 2005*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-common/bionic/crtbrand.S"], 2006*8d67ca89SAndroid Build Coastguard Worker 2007*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_so_defaults"], 2008*8d67ca89SAndroid Build Coastguard Worker // crtbrand is an intermediate artifact, not a final CRT object. 2009*8d67ca89SAndroid Build Coastguard Worker exclude_from_ndk_sysroot: true, 2010*8d67ca89SAndroid Build Coastguard Worker} 2011*8d67ca89SAndroid Build Coastguard Worker 2012*8d67ca89SAndroid Build Coastguard Workercc_object { 2013*8d67ca89SAndroid Build Coastguard Worker name: "crtbegin_so", 2014*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: ["include"], 2015*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-common/bionic/crtbegin_so.c"], 2016*8d67ca89SAndroid Build Coastguard Worker 2017*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_so_defaults"], 2018*8d67ca89SAndroid Build Coastguard Worker objs: [ 2019*8d67ca89SAndroid Build Coastguard Worker "crtbrand", 2020*8d67ca89SAndroid Build Coastguard Worker ], 2021*8d67ca89SAndroid Build Coastguard Worker} 2022*8d67ca89SAndroid Build Coastguard Worker 2023*8d67ca89SAndroid Build Coastguard Workercc_object { 2024*8d67ca89SAndroid Build Coastguard Worker name: "crtend_so", 2025*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2026*8d67ca89SAndroid Build Coastguard Worker "private", // crtend_so.S depends on private/bionic_asm_arm64.h 2027*8d67ca89SAndroid Build Coastguard Worker ], 2028*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-common/bionic/crtend_so.S"], 2029*8d67ca89SAndroid Build Coastguard Worker 2030*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_so_defaults"], 2031*8d67ca89SAndroid Build Coastguard Worker} 2032*8d67ca89SAndroid Build Coastguard Worker 2033*8d67ca89SAndroid Build Coastguard Workercc_object { 2034*8d67ca89SAndroid Build Coastguard Worker name: "crtbegin_static", 2035*8d67ca89SAndroid Build Coastguard Worker 2036*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2037*8d67ca89SAndroid Build Coastguard Worker "include", 2038*8d67ca89SAndroid Build Coastguard Worker "bionic", // crtbegin.c includes bionic/libc_init_common.h 2039*8d67ca89SAndroid Build Coastguard Worker ], 2040*8d67ca89SAndroid Build Coastguard Worker 2041*8d67ca89SAndroid Build Coastguard Worker cflags: ["-DCRTBEGIN_STATIC"], 2042*8d67ca89SAndroid Build Coastguard Worker 2043*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-common/bionic/crtbegin.c"], 2044*8d67ca89SAndroid Build Coastguard Worker objs: [ 2045*8d67ca89SAndroid Build Coastguard Worker "crtbrand", 2046*8d67ca89SAndroid Build Coastguard Worker ], 2047*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_defaults"], 2048*8d67ca89SAndroid Build Coastguard Worker // When using libc.a, we're using the latest library regardless of target API level. 2049*8d67ca89SAndroid Build Coastguard Worker min_sdk_version: "current", 2050*8d67ca89SAndroid Build Coastguard Worker} 2051*8d67ca89SAndroid Build Coastguard Worker 2052*8d67ca89SAndroid Build Coastguard Workercc_object { 2053*8d67ca89SAndroid Build Coastguard Worker name: "crtbegin_dynamic", 2054*8d67ca89SAndroid Build Coastguard Worker 2055*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2056*8d67ca89SAndroid Build Coastguard Worker "include", 2057*8d67ca89SAndroid Build Coastguard Worker "bionic", // crtbegin.c includes bionic/libc_init_common.h 2058*8d67ca89SAndroid Build Coastguard Worker ], 2059*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-common/bionic/crtbegin.c"], 2060*8d67ca89SAndroid Build Coastguard Worker objs: [ 2061*8d67ca89SAndroid Build Coastguard Worker "crtbrand", 2062*8d67ca89SAndroid Build Coastguard Worker ], 2063*8d67ca89SAndroid Build Coastguard Worker target: { 2064*8d67ca89SAndroid Build Coastguard Worker linux_bionic: { 2065*8d67ca89SAndroid Build Coastguard Worker generated_sources: ["host_bionic_linker_asm"], 2066*8d67ca89SAndroid Build Coastguard Worker objs: [ 2067*8d67ca89SAndroid Build Coastguard Worker "linker_wrapper", 2068*8d67ca89SAndroid Build Coastguard Worker ], 2069*8d67ca89SAndroid Build Coastguard Worker }, 2070*8d67ca89SAndroid Build Coastguard Worker }, 2071*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_defaults"], 2072*8d67ca89SAndroid Build Coastguard Worker} 2073*8d67ca89SAndroid Build Coastguard Worker 2074*8d67ca89SAndroid Build Coastguard Workercc_object { 2075*8d67ca89SAndroid Build Coastguard Worker // We rename crtend.o to crtend_android.o to avoid a 2076*8d67ca89SAndroid Build Coastguard Worker // name clash between gcc and bionic. 2077*8d67ca89SAndroid Build Coastguard Worker name: "crtend_android", 2078*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2079*8d67ca89SAndroid Build Coastguard Worker "private", // crtend.S depends on private/bionic_asm_arm64.h 2080*8d67ca89SAndroid Build Coastguard Worker ], 2081*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-common/bionic/crtend.S"], 2082*8d67ca89SAndroid Build Coastguard Worker 2083*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_defaults"], 2084*8d67ca89SAndroid Build Coastguard Worker} 2085*8d67ca89SAndroid Build Coastguard Worker 2086*8d67ca89SAndroid Build Coastguard Workercc_object { 2087*8d67ca89SAndroid Build Coastguard Worker name: "crt_pad_segment", 2088*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2089*8d67ca89SAndroid Build Coastguard Worker "private", // crt_pad_segment.S depends on private/bionic_asm_note.h 2090*8d67ca89SAndroid Build Coastguard Worker ], 2091*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-common/bionic/crt_pad_segment.S"], 2092*8d67ca89SAndroid Build Coastguard Worker 2093*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_defaults"], 2094*8d67ca89SAndroid Build Coastguard Worker} 2095*8d67ca89SAndroid Build Coastguard Worker 2096*8d67ca89SAndroid Build Coastguard Workercc_library_static { 2097*8d67ca89SAndroid Build Coastguard Worker name: "note_memtag_heap_async", 2098*8d67ca89SAndroid Build Coastguard Worker arch: { 2099*8d67ca89SAndroid Build Coastguard Worker arm64: { 2100*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-arm64/bionic/note_memtag_heap_async.S"], 2101*8d67ca89SAndroid Build Coastguard Worker }, 2102*8d67ca89SAndroid Build Coastguard Worker }, 2103*8d67ca89SAndroid Build Coastguard Worker sdk_version: "minimum", 2104*8d67ca89SAndroid Build Coastguard Worker 2105*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_and_memtag_defaults"], 2106*8d67ca89SAndroid Build Coastguard Worker} 2107*8d67ca89SAndroid Build Coastguard Worker 2108*8d67ca89SAndroid Build Coastguard Workercc_library_static { 2109*8d67ca89SAndroid Build Coastguard Worker name: "note_memtag_heap_sync", 2110*8d67ca89SAndroid Build Coastguard Worker arch: { 2111*8d67ca89SAndroid Build Coastguard Worker arm64: { 2112*8d67ca89SAndroid Build Coastguard Worker srcs: ["arch-arm64/bionic/note_memtag_heap_sync.S"], 2113*8d67ca89SAndroid Build Coastguard Worker }, 2114*8d67ca89SAndroid Build Coastguard Worker }, 2115*8d67ca89SAndroid Build Coastguard Worker sdk_version: "minimum", 2116*8d67ca89SAndroid Build Coastguard Worker 2117*8d67ca89SAndroid Build Coastguard Worker defaults: ["crt_and_memtag_defaults"], 2118*8d67ca89SAndroid Build Coastguard Worker} 2119*8d67ca89SAndroid Build Coastguard Worker 2120*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 2121*8d67ca89SAndroid Build Coastguard Worker// libc dependencies for baremetal Rust projects. 2122*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 2123*8d67ca89SAndroid Build Coastguard Worker 2124*8d67ca89SAndroid Build Coastguard Worker// This library contains the following unresolved symbols: 2125*8d67ca89SAndroid Build Coastguard Worker// __errno 2126*8d67ca89SAndroid Build Coastguard Worker// abort 2127*8d67ca89SAndroid Build Coastguard Worker// async_safe_fatal_va_list 2128*8d67ca89SAndroid Build Coastguard Workercc_library_static { 2129*8d67ca89SAndroid Build Coastguard Worker name: "librust_baremetal", 2130*8d67ca89SAndroid Build Coastguard Worker defaults: ["cc_baremetal_defaults"], 2131*8d67ca89SAndroid Build Coastguard Worker header_libs: ["libc_headers"], 2132*8d67ca89SAndroid Build Coastguard Worker include_dirs: [ 2133*8d67ca89SAndroid Build Coastguard Worker "bionic/libc/async_safe/include", 2134*8d67ca89SAndroid Build Coastguard Worker "bionic/libc/platform", 2135*8d67ca89SAndroid Build Coastguard Worker ], 2136*8d67ca89SAndroid Build Coastguard Worker cflags: [ 2137*8d67ca89SAndroid Build Coastguard Worker "-Wall", 2138*8d67ca89SAndroid Build Coastguard Worker "-Werror", 2139*8d67ca89SAndroid Build Coastguard Worker ], 2140*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2141*8d67ca89SAndroid Build Coastguard Worker "bionic/fortify.cpp", 2142*8d67ca89SAndroid Build Coastguard Worker "bionic/strtol.cpp", 2143*8d67ca89SAndroid Build Coastguard Worker ], 2144*8d67ca89SAndroid Build Coastguard Worker arch: { 2145*8d67ca89SAndroid Build Coastguard Worker arm64: { 2146*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2147*8d67ca89SAndroid Build Coastguard Worker "arch-arm64/string/__memcpy_chk.S", 2148*8d67ca89SAndroid Build Coastguard Worker ], 2149*8d67ca89SAndroid Build Coastguard Worker }, 2150*8d67ca89SAndroid Build Coastguard Worker riscv64: { 2151*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2152*8d67ca89SAndroid Build Coastguard Worker "arch-riscv64/string/__memcpy_chk.S", 2153*8d67ca89SAndroid Build Coastguard Worker ], 2154*8d67ca89SAndroid Build Coastguard Worker }, 2155*8d67ca89SAndroid Build Coastguard Worker }, 2156*8d67ca89SAndroid Build Coastguard Worker whole_static_libs: [ 2157*8d67ca89SAndroid Build Coastguard Worker "//external/llvm-libc:llvmlibc", 2158*8d67ca89SAndroid Build Coastguard Worker "libarm-optimized-routines-mem", 2159*8d67ca89SAndroid Build Coastguard Worker "libc_netbsd", 2160*8d67ca89SAndroid Build Coastguard Worker ], 2161*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 2162*8d67ca89SAndroid Build Coastguard Worker nocrt: true, 2163*8d67ca89SAndroid Build Coastguard Worker stl: "none", 2164*8d67ca89SAndroid Build Coastguard Worker visibility: [ 2165*8d67ca89SAndroid Build Coastguard Worker "//packages/modules/Virtualization/libs/libvmbase", 2166*8d67ca89SAndroid Build Coastguard Worker ], 2167*8d67ca89SAndroid Build Coastguard Worker 2168*8d67ca89SAndroid Build Coastguard Worker // b/358211032: This library gets linked into a rust rlib. Disable LTO 2169*8d67ca89SAndroid Build Coastguard Worker // until cross-language lto is supported. 2170*8d67ca89SAndroid Build Coastguard Worker lto: { 2171*8d67ca89SAndroid Build Coastguard Worker never: true, 2172*8d67ca89SAndroid Build Coastguard Worker }, 2173*8d67ca89SAndroid Build Coastguard Worker} 2174*8d67ca89SAndroid Build Coastguard Worker 2175*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 2176*8d67ca89SAndroid Build Coastguard Worker// NDK headers. 2177*8d67ca89SAndroid Build Coastguard Worker// ======================================================== 2178*8d67ca89SAndroid Build Coastguard Worker 2179*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2180*8d67ca89SAndroid Build Coastguard Worker name: "common_libc", 2181*8d67ca89SAndroid Build Coastguard Worker from: "include", 2182*8d67ca89SAndroid Build Coastguard Worker to: "", 2183*8d67ca89SAndroid Build Coastguard Worker srcs: ["include/**/*.h"], 2184*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2185*8d67ca89SAndroid Build Coastguard Worker // These don't pass the bad verification we do because many of them are 2186*8d67ca89SAndroid Build Coastguard Worker // arch-specific, and they aren't necessarily independently includable. 2187*8d67ca89SAndroid Build Coastguard Worker // That's not much of a problem though, since C-incompaitibilities in the 2188*8d67ca89SAndroid Build Coastguard Worker // UAPI headers should run into problems long before they reach us. 2189*8d67ca89SAndroid Build Coastguard Worker skip_verification: true, 2190*8d67ca89SAndroid Build Coastguard Worker} 2191*8d67ca89SAndroid Build Coastguard Worker 2192*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2193*8d67ca89SAndroid Build Coastguard Worker name: "libc_uapi", 2194*8d67ca89SAndroid Build Coastguard Worker from: "kernel/uapi", 2195*8d67ca89SAndroid Build Coastguard Worker to: "", 2196*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2197*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/asm-generic/**/*.h", 2198*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/drm/**/*.h", 2199*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/linux/**/*.h", 2200*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/misc/**/*.h", 2201*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/mtd/**/*.h", 2202*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/rdma/**/*.h", 2203*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/scsi/**/*.h", 2204*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/sound/**/*.h", 2205*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/video/**/*.h", 2206*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/xen/**/*.h", 2207*8d67ca89SAndroid Build Coastguard Worker ], 2208*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2209*8d67ca89SAndroid Build Coastguard Worker skip_verification: true, 2210*8d67ca89SAndroid Build Coastguard Worker} 2211*8d67ca89SAndroid Build Coastguard Worker 2212*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2213*8d67ca89SAndroid Build Coastguard Worker name: "libc_kernel_android_uapi_linux", 2214*8d67ca89SAndroid Build Coastguard Worker from: "kernel/android/uapi/linux", 2215*8d67ca89SAndroid Build Coastguard Worker to: "linux", 2216*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/android/uapi/linux/**/*.h"], 2217*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2218*8d67ca89SAndroid Build Coastguard Worker} 2219*8d67ca89SAndroid Build Coastguard Worker 2220*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2221*8d67ca89SAndroid Build Coastguard Worker name: "libc_kernel_android_scsi", 2222*8d67ca89SAndroid Build Coastguard Worker from: "kernel/android/scsi/scsi", 2223*8d67ca89SAndroid Build Coastguard Worker to: "scsi", 2224*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/android/scsi/**/*.h"], 2225*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2226*8d67ca89SAndroid Build Coastguard Worker skip_verification: true, 2227*8d67ca89SAndroid Build Coastguard Worker} 2228*8d67ca89SAndroid Build Coastguard Worker 2229*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2230*8d67ca89SAndroid Build Coastguard Worker name: "libc_asm_arm", 2231*8d67ca89SAndroid Build Coastguard Worker from: "kernel/uapi/asm-arm", 2232*8d67ca89SAndroid Build Coastguard Worker to: "arm-linux-androideabi", 2233*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-arm/**/*.h"], 2234*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2235*8d67ca89SAndroid Build Coastguard Worker skip_verification: true, 2236*8d67ca89SAndroid Build Coastguard Worker} 2237*8d67ca89SAndroid Build Coastguard Worker 2238*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2239*8d67ca89SAndroid Build Coastguard Worker name: "libc_asm_arm64", 2240*8d67ca89SAndroid Build Coastguard Worker from: "kernel/uapi/asm-arm64", 2241*8d67ca89SAndroid Build Coastguard Worker to: "aarch64-linux-android", 2242*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-arm64/**/*.h"], 2243*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2244*8d67ca89SAndroid Build Coastguard Worker skip_verification: true, 2245*8d67ca89SAndroid Build Coastguard Worker} 2246*8d67ca89SAndroid Build Coastguard Worker 2247*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2248*8d67ca89SAndroid Build Coastguard Worker name: "libc_asm_riscv64", 2249*8d67ca89SAndroid Build Coastguard Worker from: "kernel/uapi/asm-riscv", 2250*8d67ca89SAndroid Build Coastguard Worker to: "riscv64-linux-android", 2251*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-riscv/**/*.h"], 2252*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2253*8d67ca89SAndroid Build Coastguard Worker skip_verification: true, 2254*8d67ca89SAndroid Build Coastguard Worker} 2255*8d67ca89SAndroid Build Coastguard Worker 2256*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2257*8d67ca89SAndroid Build Coastguard Worker name: "libc_asm_x86", 2258*8d67ca89SAndroid Build Coastguard Worker from: "kernel/uapi/asm-x86", 2259*8d67ca89SAndroid Build Coastguard Worker to: "i686-linux-android", 2260*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-x86/**/*.h"], 2261*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2262*8d67ca89SAndroid Build Coastguard Worker skip_verification: true, 2263*8d67ca89SAndroid Build Coastguard Worker} 2264*8d67ca89SAndroid Build Coastguard Worker 2265*8d67ca89SAndroid Build Coastguard Workerndk_headers { 2266*8d67ca89SAndroid Build Coastguard Worker name: "libc_asm_x86_64", 2267*8d67ca89SAndroid Build Coastguard Worker from: "kernel/uapi/asm-x86", 2268*8d67ca89SAndroid Build Coastguard Worker to: "x86_64-linux-android", 2269*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-x86/**/*.h"], 2270*8d67ca89SAndroid Build Coastguard Worker license: "NOTICE", 2271*8d67ca89SAndroid Build Coastguard Worker skip_verification: true, 2272*8d67ca89SAndroid Build Coastguard Worker} 2273*8d67ca89SAndroid Build Coastguard Worker 2274*8d67ca89SAndroid Build Coastguard Workerndk_library { 2275*8d67ca89SAndroid Build Coastguard Worker name: "libc", 2276*8d67ca89SAndroid Build Coastguard Worker symbol_file: "libc.map.txt", 2277*8d67ca89SAndroid Build Coastguard Worker first_version: "9", 2278*8d67ca89SAndroid Build Coastguard Worker} 2279*8d67ca89SAndroid Build Coastguard Worker 2280*8d67ca89SAndroid Build Coastguard Workerndk_library { 2281*8d67ca89SAndroid Build Coastguard Worker name: "libstdc++", 2282*8d67ca89SAndroid Build Coastguard Worker symbol_file: "libstdc++.map.txt", 2283*8d67ca89SAndroid Build Coastguard Worker first_version: "9", 2284*8d67ca89SAndroid Build Coastguard Worker} 2285*8d67ca89SAndroid Build Coastguard Worker 2286*8d67ca89SAndroid Build Coastguard Worker// Export these headers for toolbox to process 2287*8d67ca89SAndroid Build Coastguard Workerfilegroup { 2288*8d67ca89SAndroid Build Coastguard Worker name: "kernel_input_headers", 2289*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2290*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/linux/input.h", 2291*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/linux/input-event-codes.h", 2292*8d67ca89SAndroid Build Coastguard Worker ], 2293*8d67ca89SAndroid Build Coastguard Worker} 2294*8d67ca89SAndroid Build Coastguard Worker 2295*8d67ca89SAndroid Build Coastguard Worker// Generate a syscall name / number mapping. These objects are text files 2296*8d67ca89SAndroid Build Coastguard Worker// (thanks to the -dD -E flags) and not binary files. They will then be 2297*8d67ca89SAndroid Build Coastguard Worker// consumed by the genseccomp.py script and converted into C++ code. 2298*8d67ca89SAndroid Build Coastguard Workercc_defaults { 2299*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_gen_syscall_nrs_defaults", 2300*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2301*8d67ca89SAndroid Build Coastguard Worker srcs: ["seccomp/gen_syscall_nrs.cpp"], 2302*8d67ca89SAndroid Build Coastguard Worker cflags: [ 2303*8d67ca89SAndroid Build Coastguard Worker "-dD", 2304*8d67ca89SAndroid Build Coastguard Worker "-E", 2305*8d67ca89SAndroid Build Coastguard Worker "-Wall", 2306*8d67ca89SAndroid Build Coastguard Worker "-Werror", 2307*8d67ca89SAndroid Build Coastguard Worker "-nostdinc", 2308*8d67ca89SAndroid Build Coastguard Worker ], 2309*8d67ca89SAndroid Build Coastguard Worker} 2310*8d67ca89SAndroid Build Coastguard Worker 2311*8d67ca89SAndroid Build Coastguard Workercc_object { 2312*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_gen_syscall_nrs_arm", 2313*8d67ca89SAndroid Build Coastguard Worker defaults: ["libseccomp_gen_syscall_nrs_defaults"], 2314*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2315*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/asm-arm", 2316*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi", 2317*8d67ca89SAndroid Build Coastguard Worker ], 2318*8d67ca89SAndroid Build Coastguard Worker} 2319*8d67ca89SAndroid Build Coastguard Worker 2320*8d67ca89SAndroid Build Coastguard Workercc_object { 2321*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_gen_syscall_nrs_arm64", 2322*8d67ca89SAndroid Build Coastguard Worker defaults: ["libseccomp_gen_syscall_nrs_defaults"], 2323*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2324*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/asm-arm64", 2325*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi", 2326*8d67ca89SAndroid Build Coastguard Worker ], 2327*8d67ca89SAndroid Build Coastguard Worker} 2328*8d67ca89SAndroid Build Coastguard Worker 2329*8d67ca89SAndroid Build Coastguard Workercc_object { 2330*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_gen_syscall_nrs_riscv64", 2331*8d67ca89SAndroid Build Coastguard Worker defaults: ["libseccomp_gen_syscall_nrs_defaults"], 2332*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2333*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/asm-riscv", 2334*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi", 2335*8d67ca89SAndroid Build Coastguard Worker ], 2336*8d67ca89SAndroid Build Coastguard Worker} 2337*8d67ca89SAndroid Build Coastguard Worker 2338*8d67ca89SAndroid Build Coastguard Workercc_object { 2339*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_gen_syscall_nrs_x86", 2340*8d67ca89SAndroid Build Coastguard Worker defaults: ["libseccomp_gen_syscall_nrs_defaults"], 2341*8d67ca89SAndroid Build Coastguard Worker srcs: ["seccomp/gen_syscall_nrs_x86.cpp"], 2342*8d67ca89SAndroid Build Coastguard Worker exclude_srcs: ["seccomp/gen_syscall_nrs.cpp"], 2343*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2344*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/asm-x86", 2345*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi", 2346*8d67ca89SAndroid Build Coastguard Worker ], 2347*8d67ca89SAndroid Build Coastguard Worker} 2348*8d67ca89SAndroid Build Coastguard Worker 2349*8d67ca89SAndroid Build Coastguard Workercc_object { 2350*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_gen_syscall_nrs_x86_64", 2351*8d67ca89SAndroid Build Coastguard Worker defaults: ["libseccomp_gen_syscall_nrs_defaults"], 2352*8d67ca89SAndroid Build Coastguard Worker srcs: ["seccomp/gen_syscall_nrs_x86_64.cpp"], 2353*8d67ca89SAndroid Build Coastguard Worker exclude_srcs: ["seccomp/gen_syscall_nrs.cpp"], 2354*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2355*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/asm-x86", 2356*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi", 2357*8d67ca89SAndroid Build Coastguard Worker ], 2358*8d67ca89SAndroid Build Coastguard Worker} 2359*8d67ca89SAndroid Build Coastguard Worker 2360*8d67ca89SAndroid Build Coastguard Workerfilegroup { 2361*8d67ca89SAndroid Build Coastguard Worker name: "all_kernel_uapi_headers", 2362*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/**/*.h"], 2363*8d67ca89SAndroid Build Coastguard Worker} 2364*8d67ca89SAndroid Build Coastguard Worker 2365*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2366*8d67ca89SAndroid Build Coastguard Worker name: "func_to_syscall_nrs", 2367*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2368*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genfunctosyscallnrs) --out-dir=$(genDir) $(in)", 2369*8d67ca89SAndroid Build Coastguard Worker 2370*8d67ca89SAndroid Build Coastguard Worker tools: ["genfunctosyscallnrs"], 2371*8d67ca89SAndroid Build Coastguard Worker 2372*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2373*8d67ca89SAndroid Build Coastguard Worker "SYSCALLS.TXT", 2374*8d67ca89SAndroid Build Coastguard Worker ], 2375*8d67ca89SAndroid Build Coastguard Worker 2376*8d67ca89SAndroid Build Coastguard Worker arch: { 2377*8d67ca89SAndroid Build Coastguard Worker arm: { 2378*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2379*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm", 2380*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm64", 2381*8d67ca89SAndroid Build Coastguard Worker ], 2382*8d67ca89SAndroid Build Coastguard Worker }, 2383*8d67ca89SAndroid Build Coastguard Worker arm64: { 2384*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2385*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm", 2386*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm64", 2387*8d67ca89SAndroid Build Coastguard Worker ], 2388*8d67ca89SAndroid Build Coastguard Worker }, 2389*8d67ca89SAndroid Build Coastguard Worker riscv64: { 2390*8d67ca89SAndroid Build Coastguard Worker srcs: [":libseccomp_gen_syscall_nrs_riscv64"], 2391*8d67ca89SAndroid Build Coastguard Worker }, 2392*8d67ca89SAndroid Build Coastguard Worker x86: { 2393*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2394*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86", 2395*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86_64", 2396*8d67ca89SAndroid Build Coastguard Worker ], 2397*8d67ca89SAndroid Build Coastguard Worker }, 2398*8d67ca89SAndroid Build Coastguard Worker x86_64: { 2399*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2400*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86", 2401*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86_64", 2402*8d67ca89SAndroid Build Coastguard Worker ], 2403*8d67ca89SAndroid Build Coastguard Worker }, 2404*8d67ca89SAndroid Build Coastguard Worker }, 2405*8d67ca89SAndroid Build Coastguard Worker 2406*8d67ca89SAndroid Build Coastguard Worker out: [ 2407*8d67ca89SAndroid Build Coastguard Worker "func_to_syscall_nrs.h", 2408*8d67ca89SAndroid Build Coastguard Worker ], 2409*8d67ca89SAndroid Build Coastguard Worker} 2410*8d67ca89SAndroid Build Coastguard Worker 2411*8d67ca89SAndroid Build Coastguard Worker// SECCOMP_BLOCKLIST_APP_ZYGOTE.TXT = SECCOMP_BLOCKLIST_APP.txt - setresgid* 2412*8d67ca89SAndroid Build Coastguard Workergenrule { 2413*8d67ca89SAndroid Build Coastguard Worker name: "generate_app_zygote_blocklist", 2414*8d67ca89SAndroid Build Coastguard Worker out: ["SECCOMP_BLOCKLIST_APP_ZYGOTE.TXT"], 2415*8d67ca89SAndroid Build Coastguard Worker srcs: ["SECCOMP_BLOCKLIST_APP.TXT"], 2416*8d67ca89SAndroid Build Coastguard Worker cmd: "grep -v '^int[ \t]*setresgid' $(in) > $(out)", 2417*8d67ca89SAndroid Build Coastguard Worker} 2418*8d67ca89SAndroid Build Coastguard Worker 2419*8d67ca89SAndroid Build Coastguard Workerfilegroup { 2420*8d67ca89SAndroid Build Coastguard Worker name: "seccomp_syscalls_sources_zygote", 2421*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2422*8d67ca89SAndroid Build Coastguard Worker "SYSCALLS.TXT", 2423*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_ALLOWLIST_COMMON.TXT", 2424*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_ALLOWLIST_APP.TXT", 2425*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_BLOCKLIST_COMMON.TXT", 2426*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_PRIORITY.TXT", 2427*8d67ca89SAndroid Build Coastguard Worker ":generate_app_zygote_blocklist", 2428*8d67ca89SAndroid Build Coastguard Worker ], 2429*8d67ca89SAndroid Build Coastguard Worker} 2430*8d67ca89SAndroid Build Coastguard Worker 2431*8d67ca89SAndroid Build Coastguard Workerfilegroup { 2432*8d67ca89SAndroid Build Coastguard Worker name: "seccomp_syscalls_sources_app", 2433*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2434*8d67ca89SAndroid Build Coastguard Worker "SYSCALLS.TXT", 2435*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_ALLOWLIST_COMMON.TXT", 2436*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_ALLOWLIST_APP.TXT", 2437*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_BLOCKLIST_COMMON.TXT", 2438*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_BLOCKLIST_APP.TXT", 2439*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_PRIORITY.TXT", 2440*8d67ca89SAndroid Build Coastguard Worker ], 2441*8d67ca89SAndroid Build Coastguard Worker} 2442*8d67ca89SAndroid Build Coastguard Worker 2443*8d67ca89SAndroid Build Coastguard Workerfilegroup { 2444*8d67ca89SAndroid Build Coastguard Worker name: "seccomp_syscalls_sources_system", 2445*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2446*8d67ca89SAndroid Build Coastguard Worker "SYSCALLS.TXT", 2447*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_ALLOWLIST_COMMON.TXT", 2448*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_ALLOWLIST_SYSTEM.TXT", 2449*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_BLOCKLIST_COMMON.TXT", 2450*8d67ca89SAndroid Build Coastguard Worker "SECCOMP_PRIORITY.TXT", 2451*8d67ca89SAndroid Build Coastguard Worker ], 2452*8d67ca89SAndroid Build Coastguard Worker} 2453*8d67ca89SAndroid Build Coastguard Worker 2454*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2455*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_app_zygote_sources_x86", 2456*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2457*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app_zygote $(in)", 2458*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2459*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2460*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_zygote", 2461*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86", 2462*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86_64", 2463*8d67ca89SAndroid Build Coastguard Worker ], 2464*8d67ca89SAndroid Build Coastguard Worker out: [ 2465*8d67ca89SAndroid Build Coastguard Worker "x86_app_zygote_policy.cpp", 2466*8d67ca89SAndroid Build Coastguard Worker "x86_64_app_zygote_policy.cpp", 2467*8d67ca89SAndroid Build Coastguard Worker ], 2468*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2469*8d67ca89SAndroid Build Coastguard Worker arch: { 2470*8d67ca89SAndroid Build Coastguard Worker x86: { 2471*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2472*8d67ca89SAndroid Build Coastguard Worker }, 2473*8d67ca89SAndroid Build Coastguard Worker x86_64: { 2474*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2475*8d67ca89SAndroid Build Coastguard Worker }, 2476*8d67ca89SAndroid Build Coastguard Worker }, 2477*8d67ca89SAndroid Build Coastguard Worker} 2478*8d67ca89SAndroid Build Coastguard Worker 2479*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2480*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_app_zygote_sources_arm", 2481*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2482*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app_zygote $(in)", 2483*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2484*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2485*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_zygote", 2486*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm", 2487*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm64", 2488*8d67ca89SAndroid Build Coastguard Worker ], 2489*8d67ca89SAndroid Build Coastguard Worker out: [ 2490*8d67ca89SAndroid Build Coastguard Worker "arm_app_zygote_policy.cpp", 2491*8d67ca89SAndroid Build Coastguard Worker "arm64_app_zygote_policy.cpp", 2492*8d67ca89SAndroid Build Coastguard Worker ], 2493*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2494*8d67ca89SAndroid Build Coastguard Worker arch: { 2495*8d67ca89SAndroid Build Coastguard Worker arm: { 2496*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2497*8d67ca89SAndroid Build Coastguard Worker }, 2498*8d67ca89SAndroid Build Coastguard Worker arm64: { 2499*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2500*8d67ca89SAndroid Build Coastguard Worker }, 2501*8d67ca89SAndroid Build Coastguard Worker }, 2502*8d67ca89SAndroid Build Coastguard Worker} 2503*8d67ca89SAndroid Build Coastguard Worker 2504*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2505*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_app_zygote_sources_riscv64", 2506*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2507*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app_zygote $(in)", 2508*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2509*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2510*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_zygote", 2511*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_riscv64", 2512*8d67ca89SAndroid Build Coastguard Worker ], 2513*8d67ca89SAndroid Build Coastguard Worker out: [ 2514*8d67ca89SAndroid Build Coastguard Worker "riscv64_app_zygote_policy.cpp", 2515*8d67ca89SAndroid Build Coastguard Worker ], 2516*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2517*8d67ca89SAndroid Build Coastguard Worker arch: { 2518*8d67ca89SAndroid Build Coastguard Worker riscv64: { 2519*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2520*8d67ca89SAndroid Build Coastguard Worker }, 2521*8d67ca89SAndroid Build Coastguard Worker }, 2522*8d67ca89SAndroid Build Coastguard Worker} 2523*8d67ca89SAndroid Build Coastguard Worker 2524*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2525*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_app_sources_x86", 2526*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2527*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app $(in)", 2528*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2529*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2530*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_app", 2531*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86", 2532*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86_64", 2533*8d67ca89SAndroid Build Coastguard Worker ], 2534*8d67ca89SAndroid Build Coastguard Worker out: [ 2535*8d67ca89SAndroid Build Coastguard Worker "x86_app_policy.cpp", 2536*8d67ca89SAndroid Build Coastguard Worker "x86_64_app_policy.cpp", 2537*8d67ca89SAndroid Build Coastguard Worker ], 2538*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2539*8d67ca89SAndroid Build Coastguard Worker arch: { 2540*8d67ca89SAndroid Build Coastguard Worker x86: { 2541*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2542*8d67ca89SAndroid Build Coastguard Worker }, 2543*8d67ca89SAndroid Build Coastguard Worker x86_64: { 2544*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2545*8d67ca89SAndroid Build Coastguard Worker }, 2546*8d67ca89SAndroid Build Coastguard Worker }, 2547*8d67ca89SAndroid Build Coastguard Worker} 2548*8d67ca89SAndroid Build Coastguard Worker 2549*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2550*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_app_sources_arm", 2551*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2552*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app $(in)", 2553*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2554*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2555*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_app", 2556*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm", 2557*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm64", 2558*8d67ca89SAndroid Build Coastguard Worker ], 2559*8d67ca89SAndroid Build Coastguard Worker out: [ 2560*8d67ca89SAndroid Build Coastguard Worker "arm_app_policy.cpp", 2561*8d67ca89SAndroid Build Coastguard Worker "arm64_app_policy.cpp", 2562*8d67ca89SAndroid Build Coastguard Worker ], 2563*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2564*8d67ca89SAndroid Build Coastguard Worker arch: { 2565*8d67ca89SAndroid Build Coastguard Worker arm: { 2566*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2567*8d67ca89SAndroid Build Coastguard Worker }, 2568*8d67ca89SAndroid Build Coastguard Worker arm64: { 2569*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2570*8d67ca89SAndroid Build Coastguard Worker }, 2571*8d67ca89SAndroid Build Coastguard Worker }, 2572*8d67ca89SAndroid Build Coastguard Worker} 2573*8d67ca89SAndroid Build Coastguard Worker 2574*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2575*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_app_sources_riscv64", 2576*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2577*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app $(in)", 2578*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2579*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2580*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_app", 2581*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_riscv64", 2582*8d67ca89SAndroid Build Coastguard Worker ], 2583*8d67ca89SAndroid Build Coastguard Worker out: [ 2584*8d67ca89SAndroid Build Coastguard Worker "riscv64_app_policy.cpp", 2585*8d67ca89SAndroid Build Coastguard Worker ], 2586*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2587*8d67ca89SAndroid Build Coastguard Worker arch: { 2588*8d67ca89SAndroid Build Coastguard Worker riscv64: { 2589*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2590*8d67ca89SAndroid Build Coastguard Worker }, 2591*8d67ca89SAndroid Build Coastguard Worker }, 2592*8d67ca89SAndroid Build Coastguard Worker} 2593*8d67ca89SAndroid Build Coastguard Worker 2594*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2595*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_system_sources_x86", 2596*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2597*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=system $(in)", 2598*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2599*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2600*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_system", 2601*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86", 2602*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_x86_64", 2603*8d67ca89SAndroid Build Coastguard Worker ], 2604*8d67ca89SAndroid Build Coastguard Worker out: [ 2605*8d67ca89SAndroid Build Coastguard Worker "x86_system_policy.cpp", 2606*8d67ca89SAndroid Build Coastguard Worker "x86_64_system_policy.cpp", 2607*8d67ca89SAndroid Build Coastguard Worker ], 2608*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2609*8d67ca89SAndroid Build Coastguard Worker arch: { 2610*8d67ca89SAndroid Build Coastguard Worker x86: { 2611*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2612*8d67ca89SAndroid Build Coastguard Worker }, 2613*8d67ca89SAndroid Build Coastguard Worker x86_64: { 2614*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2615*8d67ca89SAndroid Build Coastguard Worker }, 2616*8d67ca89SAndroid Build Coastguard Worker }, 2617*8d67ca89SAndroid Build Coastguard Worker} 2618*8d67ca89SAndroid Build Coastguard Worker 2619*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2620*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_system_sources_arm", 2621*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2622*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=system $(in)", 2623*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2624*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2625*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_system", 2626*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm", 2627*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_arm64", 2628*8d67ca89SAndroid Build Coastguard Worker ], 2629*8d67ca89SAndroid Build Coastguard Worker out: [ 2630*8d67ca89SAndroid Build Coastguard Worker "arm_system_policy.cpp", 2631*8d67ca89SAndroid Build Coastguard Worker "arm64_system_policy.cpp", 2632*8d67ca89SAndroid Build Coastguard Worker ], 2633*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2634*8d67ca89SAndroid Build Coastguard Worker arch: { 2635*8d67ca89SAndroid Build Coastguard Worker arm: { 2636*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2637*8d67ca89SAndroid Build Coastguard Worker }, 2638*8d67ca89SAndroid Build Coastguard Worker arm64: { 2639*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2640*8d67ca89SAndroid Build Coastguard Worker }, 2641*8d67ca89SAndroid Build Coastguard Worker }, 2642*8d67ca89SAndroid Build Coastguard Worker} 2643*8d67ca89SAndroid Build Coastguard Worker 2644*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2645*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy_system_sources_riscv64", 2646*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2647*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=system $(in)", 2648*8d67ca89SAndroid Build Coastguard Worker tools: ["genseccomp"], 2649*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2650*8d67ca89SAndroid Build Coastguard Worker ":seccomp_syscalls_sources_system", 2651*8d67ca89SAndroid Build Coastguard Worker ":libseccomp_gen_syscall_nrs_riscv64", 2652*8d67ca89SAndroid Build Coastguard Worker ], 2653*8d67ca89SAndroid Build Coastguard Worker out: [ 2654*8d67ca89SAndroid Build Coastguard Worker "riscv64_system_policy.cpp", 2655*8d67ca89SAndroid Build Coastguard Worker ], 2656*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2657*8d67ca89SAndroid Build Coastguard Worker arch: { 2658*8d67ca89SAndroid Build Coastguard Worker riscv64: { 2659*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2660*8d67ca89SAndroid Build Coastguard Worker }, 2661*8d67ca89SAndroid Build Coastguard Worker }, 2662*8d67ca89SAndroid Build Coastguard Worker} 2663*8d67ca89SAndroid Build Coastguard Worker 2664*8d67ca89SAndroid Build Coastguard Workercc_library { 2665*8d67ca89SAndroid Build Coastguard Worker name: "libseccomp_policy", 2666*8d67ca89SAndroid Build Coastguard Worker recovery_available: true, 2667*8d67ca89SAndroid Build Coastguard Worker generated_headers: ["func_to_syscall_nrs"], 2668*8d67ca89SAndroid Build Coastguard Worker 2669*8d67ca89SAndroid Build Coastguard Worker arch: { 2670*8d67ca89SAndroid Build Coastguard Worker arm: { 2671*8d67ca89SAndroid Build Coastguard Worker generated_sources: [ 2672*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_sources_arm", 2673*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_zygote_sources_arm", 2674*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_system_sources_arm", 2675*8d67ca89SAndroid Build Coastguard Worker ], 2676*8d67ca89SAndroid Build Coastguard Worker }, 2677*8d67ca89SAndroid Build Coastguard Worker arm64: { 2678*8d67ca89SAndroid Build Coastguard Worker generated_sources: [ 2679*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_sources_arm", 2680*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_zygote_sources_arm", 2681*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_system_sources_arm", 2682*8d67ca89SAndroid Build Coastguard Worker ], 2683*8d67ca89SAndroid Build Coastguard Worker }, 2684*8d67ca89SAndroid Build Coastguard Worker riscv64: { 2685*8d67ca89SAndroid Build Coastguard Worker generated_sources: [ 2686*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_sources_riscv64", 2687*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_zygote_sources_riscv64", 2688*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_system_sources_riscv64", 2689*8d67ca89SAndroid Build Coastguard Worker ], 2690*8d67ca89SAndroid Build Coastguard Worker }, 2691*8d67ca89SAndroid Build Coastguard Worker x86: { 2692*8d67ca89SAndroid Build Coastguard Worker generated_sources: [ 2693*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_sources_x86", 2694*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_zygote_sources_x86", 2695*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_system_sources_x86", 2696*8d67ca89SAndroid Build Coastguard Worker ], 2697*8d67ca89SAndroid Build Coastguard Worker }, 2698*8d67ca89SAndroid Build Coastguard Worker x86_64: { 2699*8d67ca89SAndroid Build Coastguard Worker generated_sources: [ 2700*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_sources_x86", 2701*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_app_zygote_sources_x86", 2702*8d67ca89SAndroid Build Coastguard Worker "libseccomp_policy_system_sources_x86", 2703*8d67ca89SAndroid Build Coastguard Worker ], 2704*8d67ca89SAndroid Build Coastguard Worker }, 2705*8d67ca89SAndroid Build Coastguard Worker }, 2706*8d67ca89SAndroid Build Coastguard Worker 2707*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2708*8d67ca89SAndroid Build Coastguard Worker "seccomp/seccomp_policy.cpp", 2709*8d67ca89SAndroid Build Coastguard Worker ], 2710*8d67ca89SAndroid Build Coastguard Worker 2711*8d67ca89SAndroid Build Coastguard Worker export_include_dirs: ["seccomp/include"], 2712*8d67ca89SAndroid Build Coastguard Worker cflags: [ 2713*8d67ca89SAndroid Build Coastguard Worker "-Wall", 2714*8d67ca89SAndroid Build Coastguard Worker "-Werror", 2715*8d67ca89SAndroid Build Coastguard Worker ], 2716*8d67ca89SAndroid Build Coastguard Worker shared: { 2717*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libbase"], 2718*8d67ca89SAndroid Build Coastguard Worker }, 2719*8d67ca89SAndroid Build Coastguard Worker static: { 2720*8d67ca89SAndroid Build Coastguard Worker static_libs: ["libbase"], 2721*8d67ca89SAndroid Build Coastguard Worker }, 2722*8d67ca89SAndroid Build Coastguard Worker} 2723*8d67ca89SAndroid Build Coastguard Worker 2724*8d67ca89SAndroid Build Coastguard Workercc_library_host_static { 2725*8d67ca89SAndroid Build Coastguard Worker name: "libfts", 2726*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2727*8d67ca89SAndroid Build Coastguard Worker "bionic/fts.c", 2728*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/lib/libc/stdlib/recallocarray.c", 2729*8d67ca89SAndroid Build Coastguard Worker ], 2730*8d67ca89SAndroid Build Coastguard Worker export_include_dirs: ["fts/include"], 2731*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2732*8d67ca89SAndroid Build Coastguard Worker "private", 2733*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/android/include", 2734*8d67ca89SAndroid Build Coastguard Worker ], 2735*8d67ca89SAndroid Build Coastguard Worker cflags: [ 2736*8d67ca89SAndroid Build Coastguard Worker "-include openbsd-compat.h", 2737*8d67ca89SAndroid Build Coastguard Worker "-Wno-unused-parameter", 2738*8d67ca89SAndroid Build Coastguard Worker ], 2739*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2740*8d67ca89SAndroid Build Coastguard Worker target: { 2741*8d67ca89SAndroid Build Coastguard Worker musl: { 2742*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2743*8d67ca89SAndroid Build Coastguard Worker }, 2744*8d67ca89SAndroid Build Coastguard Worker }, 2745*8d67ca89SAndroid Build Coastguard Worker stl: "none", 2746*8d67ca89SAndroid Build Coastguard Worker} 2747*8d67ca89SAndroid Build Coastguard Worker 2748*8d67ca89SAndroid Build Coastguard Workercc_library_host_static { 2749*8d67ca89SAndroid Build Coastguard Worker name: "libexecinfo", 2750*8d67ca89SAndroid Build Coastguard Worker visibility: ["//external/musl"], 2751*8d67ca89SAndroid Build Coastguard Worker srcs: ["bionic/execinfo.cpp"], 2752*8d67ca89SAndroid Build Coastguard Worker export_include_dirs: ["execinfo/include"], 2753*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: ["private"], 2754*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2755*8d67ca89SAndroid Build Coastguard Worker target: { 2756*8d67ca89SAndroid Build Coastguard Worker musl: { 2757*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2758*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 2759*8d67ca89SAndroid Build Coastguard Worker header_libs: ["libc_musl_headers"], 2760*8d67ca89SAndroid Build Coastguard Worker }, 2761*8d67ca89SAndroid Build Coastguard Worker }, 2762*8d67ca89SAndroid Build Coastguard Worker stl: "none", 2763*8d67ca89SAndroid Build Coastguard Worker} 2764*8d67ca89SAndroid Build Coastguard Worker 2765*8d67ca89SAndroid Build Coastguard Workercc_library_host_static { 2766*8d67ca89SAndroid Build Coastguard Worker name: "libb64", 2767*8d67ca89SAndroid Build Coastguard Worker visibility: ["//external/musl"], 2768*8d67ca89SAndroid Build Coastguard Worker srcs: ["upstream-openbsd/lib/libc/net/base64.c"], 2769*8d67ca89SAndroid Build Coastguard Worker export_include_dirs: ["b64/include"], 2770*8d67ca89SAndroid Build Coastguard Worker local_include_dirs: [ 2771*8d67ca89SAndroid Build Coastguard Worker "private", 2772*8d67ca89SAndroid Build Coastguard Worker "upstream-openbsd/android/include", 2773*8d67ca89SAndroid Build Coastguard Worker ], 2774*8d67ca89SAndroid Build Coastguard Worker cflags: [ 2775*8d67ca89SAndroid Build Coastguard Worker "-include openbsd-compat.h", 2776*8d67ca89SAndroid Build Coastguard Worker ], 2777*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2778*8d67ca89SAndroid Build Coastguard Worker target: { 2779*8d67ca89SAndroid Build Coastguard Worker musl: { 2780*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2781*8d67ca89SAndroid Build Coastguard Worker system_shared_libs: [], 2782*8d67ca89SAndroid Build Coastguard Worker header_libs: ["libc_musl_headers"], 2783*8d67ca89SAndroid Build Coastguard Worker }, 2784*8d67ca89SAndroid Build Coastguard Worker }, 2785*8d67ca89SAndroid Build Coastguard Worker stl: "none", 2786*8d67ca89SAndroid Build Coastguard Worker} 2787*8d67ca89SAndroid Build Coastguard Worker 2788*8d67ca89SAndroid Build Coastguard Worker// Export kernel uapi headers to be used in the musl sysroot. 2789*8d67ca89SAndroid Build Coastguard Worker// Also include the execinfo headers for the libexecinfo and the 2790*8d67ca89SAndroid Build Coastguard Worker// b64 headers for libb64 embedded in musl libc. 2791*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2792*8d67ca89SAndroid Build Coastguard Worker name: "libc_musl_sysroot_bionic_headers", 2793*8d67ca89SAndroid Build Coastguard Worker visibility: ["//external/musl"], 2794*8d67ca89SAndroid Build Coastguard Worker host_supported: true, 2795*8d67ca89SAndroid Build Coastguard Worker device_supported: false, 2796*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2797*8d67ca89SAndroid Build Coastguard Worker target: { 2798*8d67ca89SAndroid Build Coastguard Worker musl: { 2799*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2800*8d67ca89SAndroid Build Coastguard Worker }, 2801*8d67ca89SAndroid Build Coastguard Worker }, 2802*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2803*8d67ca89SAndroid Build Coastguard Worker "kernel/uapi/**/*.h", 2804*8d67ca89SAndroid Build Coastguard Worker "kernel/android/**/*.h", 2805*8d67ca89SAndroid Build Coastguard Worker "execinfo/include/**/*.h", 2806*8d67ca89SAndroid Build Coastguard Worker "b64/include/**/*.h", 2807*8d67ca89SAndroid Build Coastguard Worker 2808*8d67ca89SAndroid Build Coastguard Worker "NOTICE", 2809*8d67ca89SAndroid Build Coastguard Worker 2810*8d67ca89SAndroid Build Coastguard Worker ":libc_musl_sysroot_bionic_arch_headers", 2811*8d67ca89SAndroid Build Coastguard Worker ], 2812*8d67ca89SAndroid Build Coastguard Worker out: ["libc_musl_sysroot_bionic_headers.zip"], 2813*8d67ca89SAndroid Build Coastguard Worker tools: [ 2814*8d67ca89SAndroid Build Coastguard Worker "soong_zip", 2815*8d67ca89SAndroid Build Coastguard Worker "merge_zips", 2816*8d67ca89SAndroid Build Coastguard Worker "zip2zip", 2817*8d67ca89SAndroid Build Coastguard Worker ], 2818*8d67ca89SAndroid Build Coastguard Worker cmd: "BIONIC_LIBC_DIR=$$(dirname $(location NOTICE)) && " + 2819*8d67ca89SAndroid Build Coastguard Worker "$(location soong_zip) -o $(genDir)/sysroot.zip -symlinks=false" + 2820*8d67ca89SAndroid Build Coastguard Worker // NOTICE 2821*8d67ca89SAndroid Build Coastguard Worker " -j -f $(location NOTICE) " + 2822*8d67ca89SAndroid Build Coastguard Worker // headers 2823*8d67ca89SAndroid Build Coastguard Worker " -P include " + 2824*8d67ca89SAndroid Build Coastguard Worker " -C $${BIONIC_LIBC_DIR}/kernel/uapi " + 2825*8d67ca89SAndroid Build Coastguard Worker " -D $${BIONIC_LIBC_DIR}/kernel/uapi " + 2826*8d67ca89SAndroid Build Coastguard Worker " -C $${BIONIC_LIBC_DIR}/kernel/android/scsi " + 2827*8d67ca89SAndroid Build Coastguard Worker " -D $${BIONIC_LIBC_DIR}/kernel/android/scsi " + 2828*8d67ca89SAndroid Build Coastguard Worker " -C $${BIONIC_LIBC_DIR}/kernel/android/uapi " + 2829*8d67ca89SAndroid Build Coastguard Worker " -D $${BIONIC_LIBC_DIR}/kernel/android/uapi " + 2830*8d67ca89SAndroid Build Coastguard Worker " -C $${BIONIC_LIBC_DIR}/execinfo/include " + 2831*8d67ca89SAndroid Build Coastguard Worker " -D $${BIONIC_LIBC_DIR}/execinfo/include " + 2832*8d67ca89SAndroid Build Coastguard Worker " -C $${BIONIC_LIBC_DIR}/b64/include " + 2833*8d67ca89SAndroid Build Coastguard Worker " -D $${BIONIC_LIBC_DIR}/b64/include " + 2834*8d67ca89SAndroid Build Coastguard Worker " && " + 2835*8d67ca89SAndroid Build Coastguard Worker "$(location zip2zip) -i $(genDir)/sysroot.zip -o $(genDir)/sysroot-renamed.zip " + 2836*8d67ca89SAndroid Build Coastguard Worker " -x **/BUILD " + 2837*8d67ca89SAndroid Build Coastguard Worker " include/**/*:include/ " + 2838*8d67ca89SAndroid Build Coastguard Worker " NOTICE:NOTICE.bionic " + 2839*8d67ca89SAndroid Build Coastguard Worker " && " + 2840*8d67ca89SAndroid Build Coastguard Worker "$(location merge_zips) $(out) $(location :libc_musl_sysroot_bionic_arch_headers) $(genDir)/sysroot-renamed.zip", 2841*8d67ca89SAndroid Build Coastguard Worker} 2842*8d67ca89SAndroid Build Coastguard Worker 2843*8d67ca89SAndroid Build Coastguard Worker// The architecture-specific bits have to be handled separately because the label varies based 2844*8d67ca89SAndroid Build Coastguard Worker// on architecture, which prevents using $(locations) to find them and requires using $(in) 2845*8d67ca89SAndroid Build Coastguard Worker// instead, which would mix in all the other files if this were part of the main libc_musl_sysroot 2846*8d67ca89SAndroid Build Coastguard Worker// genrule. 2847*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2848*8d67ca89SAndroid Build Coastguard Worker name: "libc_musl_sysroot_bionic_arch_headers", 2849*8d67ca89SAndroid Build Coastguard Worker visibility: ["//visibility:private"], 2850*8d67ca89SAndroid Build Coastguard Worker host_supported: true, 2851*8d67ca89SAndroid Build Coastguard Worker device_supported: false, 2852*8d67ca89SAndroid Build Coastguard Worker enabled: false, 2853*8d67ca89SAndroid Build Coastguard Worker target: { 2854*8d67ca89SAndroid Build Coastguard Worker musl: { 2855*8d67ca89SAndroid Build Coastguard Worker enabled: true, 2856*8d67ca89SAndroid Build Coastguard Worker }, 2857*8d67ca89SAndroid Build Coastguard Worker }, 2858*8d67ca89SAndroid Build Coastguard Worker arch: { 2859*8d67ca89SAndroid Build Coastguard Worker arm: { 2860*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-arm/**/*.h"], 2861*8d67ca89SAndroid Build Coastguard Worker }, 2862*8d67ca89SAndroid Build Coastguard Worker arm64: { 2863*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-arm64/**/*.h"], 2864*8d67ca89SAndroid Build Coastguard Worker }, 2865*8d67ca89SAndroid Build Coastguard Worker x86: { 2866*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-x86/**/*.h"], 2867*8d67ca89SAndroid Build Coastguard Worker }, 2868*8d67ca89SAndroid Build Coastguard Worker x86_64: { 2869*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/asm-x86/**/*.h"], 2870*8d67ca89SAndroid Build Coastguard Worker }, 2871*8d67ca89SAndroid Build Coastguard Worker }, 2872*8d67ca89SAndroid Build Coastguard Worker out: ["libc_musl_sysroot_bionic_arch_headers.zip"], 2873*8d67ca89SAndroid Build Coastguard Worker tools: ["soong_zip"], 2874*8d67ca89SAndroid Build Coastguard Worker cmd: "includes=($(in)) && $(location soong_zip) -o $(out) -P include/asm -j -D $$(dirname $${includes[0]})", 2875*8d67ca89SAndroid Build Coastguard Worker} 2876*8d67ca89SAndroid Build Coastguard Worker 2877*8d67ca89SAndroid Build Coastguard Workercc_genrule { 2878*8d67ca89SAndroid Build Coastguard Worker name: "bionic_sysroot_crt_objects", 2879*8d67ca89SAndroid Build Coastguard Worker visibility: ["//visibility:private"], 2880*8d67ca89SAndroid Build Coastguard Worker out: ["bionic_sysroot_crt_objects.zip"], 2881*8d67ca89SAndroid Build Coastguard Worker tools: ["soong_zip"], 2882*8d67ca89SAndroid Build Coastguard Worker srcs: [ 2883*8d67ca89SAndroid Build Coastguard Worker ":crtbegin_dynamic", 2884*8d67ca89SAndroid Build Coastguard Worker ":crtbegin_so", 2885*8d67ca89SAndroid Build Coastguard Worker ":crtbegin_static", 2886*8d67ca89SAndroid Build Coastguard Worker ":crtend_android", 2887*8d67ca89SAndroid Build Coastguard Worker ":crtend_so", 2888*8d67ca89SAndroid Build Coastguard Worker ], 2889*8d67ca89SAndroid Build Coastguard Worker cmd: "$(location soong_zip) -o $(out) -j " + 2890*8d67ca89SAndroid Build Coastguard Worker "-f $(location :crtbegin_dynamic) " + 2891*8d67ca89SAndroid Build Coastguard Worker "-f $(location :crtbegin_so) " + 2892*8d67ca89SAndroid Build Coastguard Worker "-f $(location :crtbegin_static) " + 2893*8d67ca89SAndroid Build Coastguard Worker "-f $(location :crtend_android) " + 2894*8d67ca89SAndroid Build Coastguard Worker "-f $(location :crtend_so)", 2895*8d67ca89SAndroid Build Coastguard Worker dist: { 2896*8d67ca89SAndroid Build Coastguard Worker targets: ["bionic_sysroot_crt_objects"], 2897*8d67ca89SAndroid Build Coastguard Worker }, 2898*8d67ca89SAndroid Build Coastguard Worker arch: { 2899*8d67ca89SAndroid Build Coastguard Worker arm: { 2900*8d67ca89SAndroid Build Coastguard Worker dist: { 2901*8d67ca89SAndroid Build Coastguard Worker suffix: "_arm", 2902*8d67ca89SAndroid Build Coastguard Worker }, 2903*8d67ca89SAndroid Build Coastguard Worker }, 2904*8d67ca89SAndroid Build Coastguard Worker arm64: { 2905*8d67ca89SAndroid Build Coastguard Worker dist: { 2906*8d67ca89SAndroid Build Coastguard Worker suffix: "_arm64", 2907*8d67ca89SAndroid Build Coastguard Worker }, 2908*8d67ca89SAndroid Build Coastguard Worker }, 2909*8d67ca89SAndroid Build Coastguard Worker riscv64: { 2910*8d67ca89SAndroid Build Coastguard Worker dist: { 2911*8d67ca89SAndroid Build Coastguard Worker suffix: "_riscv64", 2912*8d67ca89SAndroid Build Coastguard Worker }, 2913*8d67ca89SAndroid Build Coastguard Worker }, 2914*8d67ca89SAndroid Build Coastguard Worker x86: { 2915*8d67ca89SAndroid Build Coastguard Worker dist: { 2916*8d67ca89SAndroid Build Coastguard Worker suffix: "_x86", 2917*8d67ca89SAndroid Build Coastguard Worker }, 2918*8d67ca89SAndroid Build Coastguard Worker }, 2919*8d67ca89SAndroid Build Coastguard Worker x86_64: { 2920*8d67ca89SAndroid Build Coastguard Worker dist: { 2921*8d67ca89SAndroid Build Coastguard Worker suffix: "_x86_64", 2922*8d67ca89SAndroid Build Coastguard Worker }, 2923*8d67ca89SAndroid Build Coastguard Worker }, 2924*8d67ca89SAndroid Build Coastguard Worker }, 2925*8d67ca89SAndroid Build Coastguard Worker} 2926*8d67ca89SAndroid Build Coastguard Worker 2927*8d67ca89SAndroid Build Coastguard Workerfilegroup { 2928*8d67ca89SAndroid Build Coastguard Worker name: "linux_capability_header", 2929*8d67ca89SAndroid Build Coastguard Worker srcs: ["kernel/uapi/linux/capability.h"], 2930*8d67ca89SAndroid Build Coastguard Worker} 2931