1*7c3d14c8STreehugger Robot// 2*7c3d14c8STreehugger Robot// Copyright (C) 2012 The Android Open Source Project 3*7c3d14c8STreehugger Robot// 4*7c3d14c8STreehugger Robot// Licensed under the Apache License, Version 2.0 (the "License"); 5*7c3d14c8STreehugger Robot// you may not use this file except in compliance with the License. 6*7c3d14c8STreehugger Robot// You may obtain a copy of the License at 7*7c3d14c8STreehugger Robot// 8*7c3d14c8STreehugger Robot// http://www.apache.org/licenses/LICENSE-2.0 9*7c3d14c8STreehugger Robot// 10*7c3d14c8STreehugger Robot// Unless required by applicable law or agreed to in writing, software 11*7c3d14c8STreehugger Robot// distributed under the License is distributed on an "AS IS" BASIS, 12*7c3d14c8STreehugger Robot// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*7c3d14c8STreehugger Robot// See the License for the specific language governing permissions and 14*7c3d14c8STreehugger Robot// limitations under the License. 15*7c3d14c8STreehugger Robot// 16*7c3d14c8STreehugger Robot// 17*7c3d14c8STreehugger Robot 18*7c3d14c8STreehugger Robot//===================================================================== 19*7c3d14c8STreehugger Robot// Static Library: libcompiler_rt-extras 20*7c3d14c8STreehugger Robot//===================================================================== 21*7c3d14c8STreehugger Robot 22*7c3d14c8STreehugger Robotpackage { 23*7c3d14c8STreehugger Robot default_applicable_licenses: ["external_compiler-rt_license"], 24*7c3d14c8STreehugger Robot} 25*7c3d14c8STreehugger Robot 26*7c3d14c8STreehugger Robot// Added automatically by a large-scale-change that took the approach of 27*7c3d14c8STreehugger Robot// 'apply every license found to every target'. While this makes sure we respect 28*7c3d14c8STreehugger Robot// every license restriction, it may not be entirely correct. 29*7c3d14c8STreehugger Robot// 30*7c3d14c8STreehugger Robot// e.g. GPL in an MIT project might only apply to the contrib/ directory. 31*7c3d14c8STreehugger Robot// 32*7c3d14c8STreehugger Robot// Please consider splitting the single license below into multiple licenses, 33*7c3d14c8STreehugger Robot// taking care not to lose any license_kind information, and overriding the 34*7c3d14c8STreehugger Robot// default license using the 'licenses: [...]' property on targets as needed. 35*7c3d14c8STreehugger Robot// 36*7c3d14c8STreehugger Robot// For unused files, consider creating a 'fileGroup' with "//visibility:private" 37*7c3d14c8STreehugger Robot// to attach the license to, and including a comment whether the files may be 38*7c3d14c8STreehugger Robot// used in the current project. 39*7c3d14c8STreehugger Robot// 40*7c3d14c8STreehugger Robot// large-scale-change included anything that looked like it might be a license 41*7c3d14c8STreehugger Robot// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. 42*7c3d14c8STreehugger Robot// 43*7c3d14c8STreehugger Robot// Please consider removing redundant or irrelevant files from 'license_text:'. 44*7c3d14c8STreehugger Robot// See: http://go/android-license-faq 45*7c3d14c8STreehugger Robotlicense { 46*7c3d14c8STreehugger Robot name: "external_compiler-rt_license", 47*7c3d14c8STreehugger Robot visibility: [":__subpackages__"], 48*7c3d14c8STreehugger Robot license_kinds: [ 49*7c3d14c8STreehugger Robot "SPDX-license-identifier-BSD", 50*7c3d14c8STreehugger Robot "SPDX-license-identifier-MIT", 51*7c3d14c8STreehugger Robot "SPDX-license-identifier-NCSA", 52*7c3d14c8STreehugger Robot "legacy_unencumbered", 53*7c3d14c8STreehugger Robot ], 54*7c3d14c8STreehugger Robot license_text: [ 55*7c3d14c8STreehugger Robot "LICENSE.TXT", 56*7c3d14c8STreehugger Robot "NOTICE", 57*7c3d14c8STreehugger Robot ], 58*7c3d14c8STreehugger Robot} 59*7c3d14c8STreehugger Robot 60*7c3d14c8STreehugger Robotcc_library_static { 61*7c3d14c8STreehugger Robot name: "libcompiler_rt-extras", 62*7c3d14c8STreehugger Robot host_supported: true, 63*7c3d14c8STreehugger Robot static_ndk_lib: true, 64*7c3d14c8STreehugger Robot vendor_available: true, 65*7c3d14c8STreehugger Robot recovery_available: true, 66*7c3d14c8STreehugger Robot sdk_version: "minimum", 67*7c3d14c8STreehugger Robot // The following list contains functions that are not available in libgcc.a, so 68*7c3d14c8STreehugger Robot // we potentially need them when using a Clang-built component (e.g., -ftrapv 69*7c3d14c8STreehugger Robot // with 64-bit integer multiplies. See http://llvm.org/bugs/show_bug.cgi?id=14469.) 70*7c3d14c8STreehugger Robot srcs: ["lib/builtins/mulodi4.c"], 71*7c3d14c8STreehugger Robot sanitize: { 72*7c3d14c8STreehugger Robot never: true, 73*7c3d14c8STreehugger Robot }, 74*7c3d14c8STreehugger Robot stl: "none", 75*7c3d14c8STreehugger Robot 76*7c3d14c8STreehugger Robot cflags: [ 77*7c3d14c8STreehugger Robot "-Wno-unused-parameter", 78*7c3d14c8STreehugger Robot "-Wno-visibility", 79*7c3d14c8STreehugger Robot "-Wno-incompatible-pointer-types", 80*7c3d14c8STreehugger Robot "-Werror", 81*7c3d14c8STreehugger Robot ], 82*7c3d14c8STreehugger Robot 83*7c3d14c8STreehugger Robot arch: { 84*7c3d14c8STreehugger Robot // Clang generates call to __unorddf2 builtin when compiling s_fmal.c 85*7c3d14c8STreehugger Robot // in bionic. Generate this builtin from compiler-rt for arm64 and 86*7c3d14c8STreehugger Robot // x86_64 (where the corresponding libgcc does not have this builtin. 87*7c3d14c8STreehugger Robot arm64: { 88*7c3d14c8STreehugger Robot srcs: ["lib/builtins/comparedf2.c"], 89*7c3d14c8STreehugger Robot }, 90*7c3d14c8STreehugger Robot x86_64: { 91*7c3d14c8STreehugger Robot srcs: ["lib/builtins/comparedf2.c"], 92*7c3d14c8STreehugger Robot }, 93*7c3d14c8STreehugger Robot }, 94*7c3d14c8STreehugger Robot 95*7c3d14c8STreehugger Robot target: { 96*7c3d14c8STreehugger Robot linux_bionic: { 97*7c3d14c8STreehugger Robot enabled: true, 98*7c3d14c8STreehugger Robot }, 99*7c3d14c8STreehugger Robot windows: { 100*7c3d14c8STreehugger Robot enabled: true, 101*7c3d14c8STreehugger Robot }, 102*7c3d14c8STreehugger Robot }, 103*7c3d14c8STreehugger Robot} 104*7c3d14c8STreehugger Robot 105*7c3d14c8STreehugger Robot//===================================================================== 106*7c3d14c8STreehugger Robot// Device and Host Static Library: libcompiler_rt 107*7c3d14c8STreehugger Robot//===================================================================== 108*7c3d14c8STreehugger Robot 109*7c3d14c8STreehugger Robotcc_library { 110*7c3d14c8STreehugger Robot name: "libcompiler_rt", 111*7c3d14c8STreehugger Robot vendor_available: true, 112*7c3d14c8STreehugger Robot product_available: true, 113*7c3d14c8STreehugger Robot double_loadable: true, 114*7c3d14c8STreehugger Robot host_supported: true, 115*7c3d14c8STreehugger Robot native_bridge_supported: true, 116*7c3d14c8STreehugger Robot // The following list contains platform-independent functionalities. 117*7c3d14c8STreehugger Robot // 118*7c3d14c8STreehugger Robot // Skip apple_versioning.c since it is unused. 119*7c3d14c8STreehugger Robot // Skip atomic.c since it needs to be built separately according to the docs. 120*7c3d14c8STreehugger Robot srcs: [ 121*7c3d14c8STreehugger Robot "lib/builtins/enable_execute_stack.c", 122*7c3d14c8STreehugger Robot "lib/builtins/absvdi2.c", 123*7c3d14c8STreehugger Robot "lib/builtins/absvsi2.c", 124*7c3d14c8STreehugger Robot "lib/builtins/absvti2.c", 125*7c3d14c8STreehugger Robot "lib/builtins/adddf3.c", 126*7c3d14c8STreehugger Robot "lib/builtins/addsf3.c", 127*7c3d14c8STreehugger Robot "lib/builtins/addtf3.c", 128*7c3d14c8STreehugger Robot "lib/builtins/addvdi3.c", 129*7c3d14c8STreehugger Robot "lib/builtins/addvsi3.c", 130*7c3d14c8STreehugger Robot "lib/builtins/addvti3.c", 131*7c3d14c8STreehugger Robot "lib/builtins/ashldi3.c", 132*7c3d14c8STreehugger Robot "lib/builtins/ashlti3.c", 133*7c3d14c8STreehugger Robot "lib/builtins/ashrdi3.c", 134*7c3d14c8STreehugger Robot "lib/builtins/ashrti3.c", 135*7c3d14c8STreehugger Robot "lib/builtins/clear_cache.c", 136*7c3d14c8STreehugger Robot "lib/builtins/clzdi2.c", 137*7c3d14c8STreehugger Robot "lib/builtins/clzsi2.c", 138*7c3d14c8STreehugger Robot "lib/builtins/clzti2.c", 139*7c3d14c8STreehugger Robot "lib/builtins/cmpdi2.c", 140*7c3d14c8STreehugger Robot "lib/builtins/cmpti2.c", 141*7c3d14c8STreehugger Robot "lib/builtins/comparedf2.c", 142*7c3d14c8STreehugger Robot "lib/builtins/comparesf2.c", 143*7c3d14c8STreehugger Robot "lib/builtins/comparetf2.c", 144*7c3d14c8STreehugger Robot "lib/builtins/ctzdi2.c", 145*7c3d14c8STreehugger Robot "lib/builtins/ctzsi2.c", 146*7c3d14c8STreehugger Robot "lib/builtins/ctzti2.c", 147*7c3d14c8STreehugger Robot "lib/builtins/divdc3.c", 148*7c3d14c8STreehugger Robot "lib/builtins/divdf3.c", 149*7c3d14c8STreehugger Robot "lib/builtins/divdi3.c", 150*7c3d14c8STreehugger Robot "lib/builtins/divmoddi4.c", 151*7c3d14c8STreehugger Robot "lib/builtins/divmodsi4.c", 152*7c3d14c8STreehugger Robot "lib/builtins/divsc3.c", 153*7c3d14c8STreehugger Robot "lib/builtins/divsf3.c", 154*7c3d14c8STreehugger Robot "lib/builtins/divsi3.c", 155*7c3d14c8STreehugger Robot "lib/builtins/divtf3.c", 156*7c3d14c8STreehugger Robot "lib/builtins/divti3.c", 157*7c3d14c8STreehugger Robot "lib/builtins/divxc3.c", 158*7c3d14c8STreehugger Robot "lib/builtins/eprintf.c", 159*7c3d14c8STreehugger Robot "lib/builtins/extenddftf2.c", 160*7c3d14c8STreehugger Robot "lib/builtins/extendhfsf2.c", 161*7c3d14c8STreehugger Robot "lib/builtins/extendsfdf2.c", 162*7c3d14c8STreehugger Robot "lib/builtins/extendsftf2.c", 163*7c3d14c8STreehugger Robot "lib/builtins/ffsdi2.c", 164*7c3d14c8STreehugger Robot "lib/builtins/ffsti2.c", 165*7c3d14c8STreehugger Robot "lib/builtins/fixdfdi.c", 166*7c3d14c8STreehugger Robot "lib/builtins/fixdfsi.c", 167*7c3d14c8STreehugger Robot "lib/builtins/fixdfti.c", 168*7c3d14c8STreehugger Robot "lib/builtins/fixsfdi.c", 169*7c3d14c8STreehugger Robot "lib/builtins/fixsfsi.c", 170*7c3d14c8STreehugger Robot "lib/builtins/fixsfti.c", 171*7c3d14c8STreehugger Robot "lib/builtins/fixtfdi.c", 172*7c3d14c8STreehugger Robot "lib/builtins/fixtfsi.c", 173*7c3d14c8STreehugger Robot "lib/builtins/fixtfti.c", 174*7c3d14c8STreehugger Robot "lib/builtins/fixunsdfdi.c", 175*7c3d14c8STreehugger Robot "lib/builtins/fixunsdfsi.c", 176*7c3d14c8STreehugger Robot "lib/builtins/fixunsdfti.c", 177*7c3d14c8STreehugger Robot "lib/builtins/fixunssfdi.c", 178*7c3d14c8STreehugger Robot "lib/builtins/fixunssfsi.c", 179*7c3d14c8STreehugger Robot "lib/builtins/fixunssfti.c", 180*7c3d14c8STreehugger Robot "lib/builtins/fixunstfdi.c", 181*7c3d14c8STreehugger Robot "lib/builtins/fixunstfsi.c", 182*7c3d14c8STreehugger Robot "lib/builtins/fixunstfti.c", 183*7c3d14c8STreehugger Robot "lib/builtins/fixunsxfdi.c", 184*7c3d14c8STreehugger Robot "lib/builtins/fixunsxfsi.c", 185*7c3d14c8STreehugger Robot "lib/builtins/fixunsxfti.c", 186*7c3d14c8STreehugger Robot "lib/builtins/fixxfdi.c", 187*7c3d14c8STreehugger Robot "lib/builtins/fixxfti.c", 188*7c3d14c8STreehugger Robot "lib/builtins/floatdidf.c", 189*7c3d14c8STreehugger Robot "lib/builtins/floatdisf.c", 190*7c3d14c8STreehugger Robot "lib/builtins/floatdixf.c", 191*7c3d14c8STreehugger Robot "lib/builtins/floatsidf.c", 192*7c3d14c8STreehugger Robot "lib/builtins/floatsisf.c", 193*7c3d14c8STreehugger Robot "lib/builtins/floatsitf.c", 194*7c3d14c8STreehugger Robot "lib/builtins/floattidf.c", 195*7c3d14c8STreehugger Robot "lib/builtins/floattisf.c", 196*7c3d14c8STreehugger Robot "lib/builtins/floattixf.c", 197*7c3d14c8STreehugger Robot "lib/builtins/floatundidf.c", 198*7c3d14c8STreehugger Robot "lib/builtins/floatundisf.c", 199*7c3d14c8STreehugger Robot "lib/builtins/floatundixf.c", 200*7c3d14c8STreehugger Robot "lib/builtins/floatunsidf.c", 201*7c3d14c8STreehugger Robot "lib/builtins/floatunsisf.c", 202*7c3d14c8STreehugger Robot "lib/builtins/floatunsitf.c", 203*7c3d14c8STreehugger Robot "lib/builtins/floatuntidf.c", 204*7c3d14c8STreehugger Robot "lib/builtins/floatuntisf.c", 205*7c3d14c8STreehugger Robot "lib/builtins/floatuntixf.c", 206*7c3d14c8STreehugger Robot "lib/builtins/gcc_personality_v0.c", 207*7c3d14c8STreehugger Robot "lib/builtins/int_util.c", 208*7c3d14c8STreehugger Robot "lib/builtins/lshrdi3.c", 209*7c3d14c8STreehugger Robot "lib/builtins/lshrti3.c", 210*7c3d14c8STreehugger Robot "lib/builtins/moddi3.c", 211*7c3d14c8STreehugger Robot "lib/builtins/modsi3.c", 212*7c3d14c8STreehugger Robot "lib/builtins/modti3.c", 213*7c3d14c8STreehugger Robot "lib/builtins/muldc3.c", 214*7c3d14c8STreehugger Robot "lib/builtins/muldf3.c", 215*7c3d14c8STreehugger Robot "lib/builtins/muldi3.c", 216*7c3d14c8STreehugger Robot "lib/builtins/mulodi4.c", 217*7c3d14c8STreehugger Robot "lib/builtins/mulosi4.c", 218*7c3d14c8STreehugger Robot "lib/builtins/muloti4.c", 219*7c3d14c8STreehugger Robot "lib/builtins/mulsc3.c", 220*7c3d14c8STreehugger Robot "lib/builtins/mulsf3.c", 221*7c3d14c8STreehugger Robot "lib/builtins/multf3.c", 222*7c3d14c8STreehugger Robot "lib/builtins/multi3.c", 223*7c3d14c8STreehugger Robot "lib/builtins/mulvdi3.c", 224*7c3d14c8STreehugger Robot "lib/builtins/mulvsi3.c", 225*7c3d14c8STreehugger Robot "lib/builtins/mulvti3.c", 226*7c3d14c8STreehugger Robot "lib/builtins/mulxc3.c", 227*7c3d14c8STreehugger Robot "lib/builtins/negdf2.c", 228*7c3d14c8STreehugger Robot "lib/builtins/negdi2.c", 229*7c3d14c8STreehugger Robot "lib/builtins/negsf2.c", 230*7c3d14c8STreehugger Robot "lib/builtins/negti2.c", 231*7c3d14c8STreehugger Robot "lib/builtins/negvdi2.c", 232*7c3d14c8STreehugger Robot "lib/builtins/negvsi2.c", 233*7c3d14c8STreehugger Robot "lib/builtins/negvti2.c", 234*7c3d14c8STreehugger Robot "lib/builtins/paritydi2.c", 235*7c3d14c8STreehugger Robot "lib/builtins/paritysi2.c", 236*7c3d14c8STreehugger Robot "lib/builtins/parityti2.c", 237*7c3d14c8STreehugger Robot "lib/builtins/popcountdi2.c", 238*7c3d14c8STreehugger Robot "lib/builtins/popcountsi2.c", 239*7c3d14c8STreehugger Robot "lib/builtins/popcountti2.c", 240*7c3d14c8STreehugger Robot "lib/builtins/powidf2.c", 241*7c3d14c8STreehugger Robot "lib/builtins/powisf2.c", 242*7c3d14c8STreehugger Robot "lib/builtins/powitf2.c", 243*7c3d14c8STreehugger Robot "lib/builtins/powixf2.c", 244*7c3d14c8STreehugger Robot "lib/builtins/subdf3.c", 245*7c3d14c8STreehugger Robot "lib/builtins/subsf3.c", 246*7c3d14c8STreehugger Robot "lib/builtins/subtf3.c", 247*7c3d14c8STreehugger Robot "lib/builtins/subvdi3.c", 248*7c3d14c8STreehugger Robot "lib/builtins/subvsi3.c", 249*7c3d14c8STreehugger Robot "lib/builtins/subvti3.c", 250*7c3d14c8STreehugger Robot "lib/builtins/trampoline_setup.c", 251*7c3d14c8STreehugger Robot "lib/builtins/truncdfhf2.c", 252*7c3d14c8STreehugger Robot "lib/builtins/truncdfsf2.c", 253*7c3d14c8STreehugger Robot "lib/builtins/truncsfhf2.c", 254*7c3d14c8STreehugger Robot "lib/builtins/trunctfdf2.c", 255*7c3d14c8STreehugger Robot "lib/builtins/trunctfsf2.c", 256*7c3d14c8STreehugger Robot "lib/builtins/ucmpdi2.c", 257*7c3d14c8STreehugger Robot "lib/builtins/ucmpti2.c", 258*7c3d14c8STreehugger Robot "lib/builtins/udivdi3.c", 259*7c3d14c8STreehugger Robot "lib/builtins/udivmoddi4.c", 260*7c3d14c8STreehugger Robot "lib/builtins/udivmodsi4.c", 261*7c3d14c8STreehugger Robot "lib/builtins/udivmodti4.c", 262*7c3d14c8STreehugger Robot "lib/builtins/udivsi3.c", 263*7c3d14c8STreehugger Robot "lib/builtins/udivti3.c", 264*7c3d14c8STreehugger Robot "lib/builtins/umoddi3.c", 265*7c3d14c8STreehugger Robot "lib/builtins/umodsi3.c", 266*7c3d14c8STreehugger Robot "lib/builtins/umodti3.c", 267*7c3d14c8STreehugger Robot ], 268*7c3d14c8STreehugger Robot 269*7c3d14c8STreehugger Robot cflags: [ 270*7c3d14c8STreehugger Robot "-Wno-unused-parameter", 271*7c3d14c8STreehugger Robot "-Wno-visibility", 272*7c3d14c8STreehugger Robot "-Wno-incompatible-pointer-types", 273*7c3d14c8STreehugger Robot "-Werror", 274*7c3d14c8STreehugger Robot ], 275*7c3d14c8STreehugger Robot 276*7c3d14c8STreehugger Robot arch: { 277*7c3d14c8STreehugger Robot arm: { 278*7c3d14c8STreehugger Robot cflags: ["-D__ARM_EABI__"], 279*7c3d14c8STreehugger Robot srcs: [ 280*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_dcmp.S", 281*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_div0.c", 282*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_fcmp.S", 283*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_idivmod.S", 284*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_ldivmod.S", 285*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_memcmp.S", 286*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_memcpy.S", 287*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_memmove.S", 288*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_memset.S", 289*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_uidivmod.S", 290*7c3d14c8STreehugger Robot "lib/builtins/arm/aeabi_uldivmod.S", 291*7c3d14c8STreehugger Robot "lib/builtins/arm/comparesf2.S", 292*7c3d14c8STreehugger Robot "lib/builtins/arm/divmodsi4.S", 293*7c3d14c8STreehugger Robot "lib/builtins/arm/divsi3.S", 294*7c3d14c8STreehugger Robot "lib/builtins/arm/modsi3.S", 295*7c3d14c8STreehugger Robot "lib/builtins/arm/udivmodsi4.S", 296*7c3d14c8STreehugger Robot "lib/builtins/arm/udivsi3.S", 297*7c3d14c8STreehugger Robot "lib/builtins/arm/umodsi3.S", 298*7c3d14c8STreehugger Robot "lib/builtins/arm/adddf3vfp.S", 299*7c3d14c8STreehugger Robot "lib/builtins/arm/addsf3vfp.S", 300*7c3d14c8STreehugger Robot "lib/builtins/arm/divdf3vfp.S", 301*7c3d14c8STreehugger Robot "lib/builtins/arm/divsf3vfp.S", 302*7c3d14c8STreehugger Robot "lib/builtins/arm/eqdf2vfp.S", 303*7c3d14c8STreehugger Robot "lib/builtins/arm/eqsf2vfp.S", 304*7c3d14c8STreehugger Robot "lib/builtins/arm/extendsfdf2vfp.S", 305*7c3d14c8STreehugger Robot "lib/builtins/arm/fixdfsivfp.S", 306*7c3d14c8STreehugger Robot "lib/builtins/arm/fixsfsivfp.S", 307*7c3d14c8STreehugger Robot "lib/builtins/arm/fixunsdfsivfp.S", 308*7c3d14c8STreehugger Robot "lib/builtins/arm/fixunssfsivfp.S", 309*7c3d14c8STreehugger Robot "lib/builtins/arm/floatsidfvfp.S", 310*7c3d14c8STreehugger Robot "lib/builtins/arm/floatsisfvfp.S", 311*7c3d14c8STreehugger Robot "lib/builtins/arm/floatunssidfvfp.S", 312*7c3d14c8STreehugger Robot "lib/builtins/arm/floatunssisfvfp.S", 313*7c3d14c8STreehugger Robot "lib/builtins/arm/gedf2vfp.S", 314*7c3d14c8STreehugger Robot "lib/builtins/arm/gesf2vfp.S", 315*7c3d14c8STreehugger Robot "lib/builtins/arm/gtdf2vfp.S", 316*7c3d14c8STreehugger Robot "lib/builtins/arm/gtsf2vfp.S", 317*7c3d14c8STreehugger Robot "lib/builtins/arm/ledf2vfp.S", 318*7c3d14c8STreehugger Robot "lib/builtins/arm/lesf2vfp.S", 319*7c3d14c8STreehugger Robot "lib/builtins/arm/ltdf2vfp.S", 320*7c3d14c8STreehugger Robot "lib/builtins/arm/ltsf2vfp.S", 321*7c3d14c8STreehugger Robot "lib/builtins/arm/muldf3vfp.S", 322*7c3d14c8STreehugger Robot "lib/builtins/arm/mulsf3vfp.S", 323*7c3d14c8STreehugger Robot "lib/builtins/arm/nedf2vfp.S", 324*7c3d14c8STreehugger Robot "lib/builtins/arm/negdf2vfp.S", 325*7c3d14c8STreehugger Robot "lib/builtins/arm/negsf2vfp.S", 326*7c3d14c8STreehugger Robot "lib/builtins/arm/nesf2vfp.S", 327*7c3d14c8STreehugger Robot "lib/builtins/arm/subdf3vfp.S", 328*7c3d14c8STreehugger Robot "lib/builtins/arm/subsf3vfp.S", 329*7c3d14c8STreehugger Robot "lib/builtins/arm/truncdfsf2vfp.S", 330*7c3d14c8STreehugger Robot "lib/builtins/arm/unorddf2vfp.S", 331*7c3d14c8STreehugger Robot "lib/builtins/arm/unordsf2vfp.S", 332*7c3d14c8STreehugger Robot ], 333*7c3d14c8STreehugger Robot exclude_srcs: [ 334*7c3d14c8STreehugger Robot "lib/builtins/comparesf2.c", 335*7c3d14c8STreehugger Robot "lib/builtins/divmodsi4.c", 336*7c3d14c8STreehugger Robot "lib/builtins/divsi3.c", 337*7c3d14c8STreehugger Robot "lib/builtins/modsi3.c", 338*7c3d14c8STreehugger Robot "lib/builtins/udivmodsi4.c", 339*7c3d14c8STreehugger Robot "lib/builtins/udivsi3.c", 340*7c3d14c8STreehugger Robot "lib/builtins/umodsi3.c", 341*7c3d14c8STreehugger Robot ], 342*7c3d14c8STreehugger Robot }, 343*7c3d14c8STreehugger Robot x86: { 344*7c3d14c8STreehugger Robot srcs: [ 345*7c3d14c8STreehugger Robot "lib/builtins/i386/ashldi3.S", 346*7c3d14c8STreehugger Robot "lib/builtins/i386/ashrdi3.S", 347*7c3d14c8STreehugger Robot "lib/builtins/i386/divdi3.S", 348*7c3d14c8STreehugger Robot "lib/builtins/i386/floatdidf.S", 349*7c3d14c8STreehugger Robot "lib/builtins/i386/floatdisf.S", 350*7c3d14c8STreehugger Robot "lib/builtins/i386/floatdixf.S", 351*7c3d14c8STreehugger Robot "lib/builtins/i386/floatundidf.S", 352*7c3d14c8STreehugger Robot "lib/builtins/i386/floatundisf.S", 353*7c3d14c8STreehugger Robot "lib/builtins/i386/floatundixf.S", 354*7c3d14c8STreehugger Robot "lib/builtins/i386/lshrdi3.S", 355*7c3d14c8STreehugger Robot "lib/builtins/i386/moddi3.S", 356*7c3d14c8STreehugger Robot "lib/builtins/i386/muldi3.S", 357*7c3d14c8STreehugger Robot "lib/builtins/i386/udivdi3.S", 358*7c3d14c8STreehugger Robot "lib/builtins/i386/umoddi3.S", 359*7c3d14c8STreehugger Robot ], 360*7c3d14c8STreehugger Robot exclude_srcs: [ 361*7c3d14c8STreehugger Robot "lib/builtins/ashldi3.c", 362*7c3d14c8STreehugger Robot "lib/builtins/ashrdi3.c", 363*7c3d14c8STreehugger Robot "lib/builtins/divdi3.c", 364*7c3d14c8STreehugger Robot "lib/builtins/floatdidf.c", 365*7c3d14c8STreehugger Robot "lib/builtins/floatdisf.c", 366*7c3d14c8STreehugger Robot "lib/builtins/floatdixf.c", 367*7c3d14c8STreehugger Robot "lib/builtins/floatundidf.c", 368*7c3d14c8STreehugger Robot "lib/builtins/floatundisf.c", 369*7c3d14c8STreehugger Robot "lib/builtins/floatundixf.c", 370*7c3d14c8STreehugger Robot "lib/builtins/lshrdi3.c", 371*7c3d14c8STreehugger Robot "lib/builtins/moddi3.c", 372*7c3d14c8STreehugger Robot "lib/builtins/muldi3.c", 373*7c3d14c8STreehugger Robot "lib/builtins/udivdi3.c", 374*7c3d14c8STreehugger Robot "lib/builtins/umoddi3.c", 375*7c3d14c8STreehugger Robot ], 376*7c3d14c8STreehugger Robot }, 377*7c3d14c8STreehugger Robot x86_64: { 378*7c3d14c8STreehugger Robot srcs: [ 379*7c3d14c8STreehugger Robot "lib/builtins/x86_64/floatundixf.S", 380*7c3d14c8STreehugger Robot "lib/builtins/x86_64/floatdisf.c", 381*7c3d14c8STreehugger Robot "lib/builtins/x86_64/floatdidf.c", 382*7c3d14c8STreehugger Robot "lib/builtins/x86_64/floatdixf.c", 383*7c3d14c8STreehugger Robot "lib/builtins/x86_64/floatundisf.S", 384*7c3d14c8STreehugger Robot "lib/builtins/x86_64/floatundidf.S", 385*7c3d14c8STreehugger Robot ], 386*7c3d14c8STreehugger Robot exclude_srcs: [ 387*7c3d14c8STreehugger Robot "lib/builtins/floatundixf.c", 388*7c3d14c8STreehugger Robot "lib/builtins/floatdisf.c", 389*7c3d14c8STreehugger Robot "lib/builtins/floatdidf.c", 390*7c3d14c8STreehugger Robot "lib/builtins/floatdixf.c", 391*7c3d14c8STreehugger Robot "lib/builtins/floatundisf.c", 392*7c3d14c8STreehugger Robot "lib/builtins/floatundidf.c", 393*7c3d14c8STreehugger Robot ], 394*7c3d14c8STreehugger Robot }, 395*7c3d14c8STreehugger Robot }, 396*7c3d14c8STreehugger Robot 397*7c3d14c8STreehugger Robot sdk_version: "21", 398*7c3d14c8STreehugger Robot target: { 399*7c3d14c8STreehugger Robot android: { 400*7c3d14c8STreehugger Robot shared_libs: ["liblog"], 401*7c3d14c8STreehugger Robot static_libs: ["libunwind"], 402*7c3d14c8STreehugger Robot ldflags: ["-Wl,--exclude-libs,libunwind.a"], 403*7c3d14c8STreehugger Robot }, 404*7c3d14c8STreehugger Robot android_x86_64: { 405*7c3d14c8STreehugger Robot srcs: ["lib/builtins/ppc/floatditf.c"], 406*7c3d14c8STreehugger Robot }, 407*7c3d14c8STreehugger Robot windows: { 408*7c3d14c8STreehugger Robot enabled: true, 409*7c3d14c8STreehugger Robot // Only build enable_execute_stack.c on non-Windows hosts. 410*7c3d14c8STreehugger Robot exclude_srcs: ["lib/builtins/enable_execute_stack.c"], 411*7c3d14c8STreehugger Robot }, 412*7c3d14c8STreehugger Robot }, 413*7c3d14c8STreehugger Robot 414*7c3d14c8STreehugger Robot asflags: ["-integrated-as"], 415*7c3d14c8STreehugger Robot no_libcrt: true, 416*7c3d14c8STreehugger Robot 417*7c3d14c8STreehugger Robot sanitize: { 418*7c3d14c8STreehugger Robot never: true, 419*7c3d14c8STreehugger Robot }, 420*7c3d14c8STreehugger Robot stl: "none", 421*7c3d14c8STreehugger Robot} 422