Android.mk revision 2d1fdb26e458c4ddc04155c1d421bced3ba90cd0
1dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 2dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Copyright (C) 2012 The Android Open Source Project 3dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 4dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Licensed under the Apache License, Version 2.0 (the "License"); 5dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# you may not use this file except in compliance with the License. 6dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# You may obtain a copy of the License at 7dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 8dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# http://www.apache.org/licenses/LICENSE-2.0 9dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 10dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# Unless required by applicable law or agreed to in writing, software 11dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# distributed under the License is distributed on an "AS IS" BASIS, 12dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# See the License for the specific language governing permissions and 14dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# limitations under the License. 15dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 16dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov# 17dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 18dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_PATH := $(call my-dir) 19139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 20306946113efca741da8e33fd35edb1d7c29794ffStephen Hinesifeq (,$(TARGET_BUILD_APPS)) 21306946113efca741da8e33fd35edb1d7c29794ffStephen Hines 22139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# The following list contains platform-independent functionalities. 23139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# 24cec0726037ef2716d4d131ae22764d00a4570bb7Shih-wei Liao# Skip apple_versioning.c since it is unused. 25139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# Skip atomic.c since it needs to be built separately according to the docs. 264d40231aa139331cbc0806bb1ff7475cd1dc9f04Shih-wei Liao# Skip gcc_personality_v0.c since it depends on libunwind. 27139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaolibcompiler_rt_common_SRC_FILES := \ 282d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/absvdi2.c \ 292d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/absvsi2.c \ 302d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/absvti2.c \ 312d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/adddf3.c \ 322d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/addsf3.c \ 332d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/addvdi3.c \ 342d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/addvsi3.c \ 352d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/addvti3.c \ 362d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ashldi3.c \ 372d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ashlti3.c \ 382d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ashrdi3.c \ 392d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ashrti3.c \ 402d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/clear_cache.c \ 412d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/clzdi2.c \ 422d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/clzsi2.c \ 432d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/clzti2.c \ 442d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/cmpdi2.c \ 452d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/cmpti2.c \ 462d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/comparedf2.c \ 472d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/comparesf2.c \ 482d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ctzdi2.c \ 492d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ctzsi2.c \ 502d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ctzti2.c \ 512d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divdc3.c \ 522d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divdf3.c \ 532d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divdi3.c \ 542d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divmoddi4.c \ 552d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divmodsi4.c \ 562d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divsc3.c \ 572d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divsf3.c \ 582d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divsi3.c \ 592d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divti3.c \ 602d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/divxc3.c \ 612d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/enable_execute_stack.c \ 622d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/eprintf.c \ 632d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/extendsfdf2.c \ 642d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ffsdi2.c \ 652d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ffsti2.c \ 662d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixdfdi.c \ 672d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixdfsi.c \ 682d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixdfti.c \ 692d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixsfdi.c \ 702d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixsfsi.c \ 712d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixsfti.c \ 722d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunsdfdi.c \ 732d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunsdfsi.c \ 742d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunsdfti.c \ 752d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunssfdi.c \ 762d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunssfsi.c \ 772d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunssfti.c \ 782d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunsxfdi.c \ 792d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunsxfsi.c \ 802d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixunsxfti.c \ 812d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixxfdi.c \ 822d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/fixxfti.c \ 832d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatdidf.c \ 842d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatdisf.c \ 852d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatdixf.c \ 862d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatsidf.c \ 872d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatsisf.c \ 882d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floattidf.c \ 892d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floattisf.c \ 902d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floattixf.c \ 912d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatundidf.c \ 922d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatundisf.c \ 932d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatundixf.c \ 942d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatunsidf.c \ 952d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatunsisf.c \ 962d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatuntidf.c \ 972d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatuntisf.c \ 982d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/floatuntixf.c \ 992d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/int_util.c \ 1002d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/lshrdi3.c \ 1012d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/lshrti3.c \ 1022d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/moddi3.c \ 1032d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/modsi3.c \ 1042d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/modti3.c \ 1052d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/muldc3.c \ 1062d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/muldf3.c \ 1072d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/muldi3.c \ 1082d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulodi4.c \ 1092d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulosi4.c \ 1102d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/muloti4.c \ 1112d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulsc3.c \ 1122d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulsf3.c \ 1132d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/multi3.c \ 1142d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulvdi3.c \ 1152d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulvsi3.c \ 1162d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulvti3.c \ 1172d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulxc3.c \ 1182d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/negdf2.c \ 1192d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/negdi2.c \ 1202d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/negsf2.c \ 1212d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/negti2.c \ 1222d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/negvdi2.c \ 1232d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/negvsi2.c \ 1242d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/negvti2.c \ 1252d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/paritydi2.c \ 1262d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/paritysi2.c \ 1272d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/parityti2.c \ 1282d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/popcountdi2.c \ 1292d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/popcountsi2.c \ 1302d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/popcountti2.c \ 1312d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/powidf2.c \ 1322d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/powisf2.c \ 1332d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/powitf2.c \ 1342d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/powixf2.c \ 1352d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/subdf3.c \ 1362d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/subsf3.c \ 1372d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/subvdi3.c \ 1382d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/subvsi3.c \ 1392d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/subvti3.c \ 1402d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/trampoline_setup.c \ 1412d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/truncdfsf2.c \ 1422d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ucmpdi2.c \ 1432d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/ucmpti2.c \ 1442d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/udivdi3.c \ 1452d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/udivmoddi4.c \ 1462d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/udivmodsi4.c \ 1472d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/udivmodti4.c \ 1482d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/udivsi3.c \ 1492d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/udivti3.c \ 1502d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/umoddi3.c \ 1512d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/umodsi3.c \ 1522d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/umodti3.c 153139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 154139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# ARM-specific runtimes 155139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaolibcompiler_rt_arm_SRC_FILES := \ 1562d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_dcmp.S \ 1572d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_fcmp.S \ 1582d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_idivmod.S \ 1592d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_ldivmod.S \ 1602d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_memcmp.S \ 1612d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_memcpy.S \ 1622d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_memmove.S \ 1632d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_memset.S \ 1642d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_uidivmod.S \ 1652d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/aeabi_uldivmod.S \ 1662d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/comparesf2.S \ 1672d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/divmodsi4.S \ 1682d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/divsi3.S \ 1692d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/modsi3.S \ 1702d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/udivmodsi4.S \ 1712d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/udivsi3.S \ 1722d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/arm/umodsi3.S 173139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 1746731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murray# ARM64-specific runtimes 1756731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murraylibcompiler_rt_arm64_SRC_FILES := 1766731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murray 177139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# MIPS-specific runtimes 178139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaolibcompiler_rt_mips_SRC_FILES := # nothing to add 179139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 180139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# X86-specific runtimes 181139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaolibcompiler_rt_x86_SRC_FILES := \ 1822d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/ashldi3.S \ 1832d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/ashrdi3.S \ 1842d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/divdi3.S \ 1852d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/floatdidf.S \ 1862d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/floatdisf.S \ 1872d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/floatdixf.S \ 1882d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/floatundidf.S \ 1892d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/floatundisf.S \ 1902d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/floatundixf.S \ 1912d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/lshrdi3.S \ 1922d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/moddi3.S \ 1932d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/muldi3.S \ 1942d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/udivdi3.S \ 1952d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/i386/umoddi3.S 196139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 1979939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkov# X86_64-specific runtimes 1989939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkovlibcompiler_rt_x86_64_SRC_FILES := \ 1992d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/x86_64/floatundixf.S \ 2002d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/x86_64/floatdisf.c \ 2012d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/x86_64/floatdidf.c \ 2022d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/x86_64/floatdixf.c \ 2032d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/x86_64/floatundisf.S \ 2042d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/x86_64/floatundidf.S 2059939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkov 206139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# The following list contains functions that are not available in libgcc.a, so 207139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# we potentially need them when using a Clang-built component (e.g., -ftrapv 208139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# with 64-bit integer multiplies. See http://llvm.org/bugs/show_bug.cgi?id=14469.) 209139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaolibcompiler_rt_extras_SRC_FILES := \ 2102d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines lib/builtins/mulodi4.c 211139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 212139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# $(1): arch 213139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaodefine get-libcompiler-rt-source-files 214139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao $(if $(findstring $(1),arm),$(call get-libcompiler-rt-arm-source-files), 215139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao $(if $(findstring $(1),mips),$(call get-libcompiler-rt-mips-source-files), 216139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao $(if $(findstring $(1),x86),$(call get-libcompiler-rt-x86-source-files), 2179939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkov $(if $(findstring $(1),x86_64),$(call get-libcompiler-rt-x86_64-source-files), 2185534fc3b40c7d5c6949f454632afd7b56928ea7cPavel Chupin $(if $(findstring $(1),x32),$(call get-libcompiler-rt-x86-source-files), 2196731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murray $(if $(findstring $(1),arm64),$(call get-libcompiler-rt-arm64-source-files), 2206731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murray $(error Unsupported ARCH $(1)))))))) 221139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaoendef 222139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 223139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# $(1): source list 224139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# $(2): arch 225139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# 2262d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines# If lib/builtins/<arch>/X.[cS] is included in the source list, we should filter out lib/builtins/X.c 227139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# in the result source list (i.e., use the one optimized for the arch.) Otherwise 228139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# there'll be multiple definitions for one symbol. 229139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaodefine filter-libcompiler-rt-common-source-files 2302d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines $(filter-out $(patsubst lib/builtins/$(strip $(2))/%.S,lib/builtins/%.c,\ 2312d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines $(filter lib/builtins/$(strip $(2))/%.S,$(1))) \ 2322d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines $(patsubst lib/builtins/$(strip $(2))/%.c,lib/builtins/%.c,\ 2332d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines $(filter lib/builtins/$(strip $(2))/%.c,$(1))),$(1)) 234139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaoendef 235139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 236ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liaodefine get-libcompiler-rt-arm-common-source-files 237139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao $(call filter-libcompiler-rt-common-source-files, 238c8f5519892684eadc0cb1a7ef739905fa1ab4953Shih-wei Liao $(libcompiler_rt_common_SRC_FILES) \ 239ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao $(libcompiler_rt_arm_SRC_FILES), arm) 240ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liaoendef 241ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao 242ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao# $(1): common runtime list 243ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao# 244ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao# Add ARM runtimes implemented in VFP 245ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liaodefine add-libcompiler-rt-arm-vfp-source-files 2462d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines $(filter-out $(addprefix lib/builtins/,adddf3.c addsf3.c comparedf2.c comparesf2.c \ 2472d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines arm/comparesf2.S divdf3.c divsf3.c extendsfdf2.c \ 2482d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines fixdfsi.c fixsfsi.c fixunsdfsi.c fixunssfsi.c \ 2492d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines floatsidf.c floatsisf.c floatunsidf.c floatunsisf.c \ 2502d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines muldf3.c mulsf3.c negdf2.c negsf2.c subdf3.c \ 2512d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines subsf3.c truncdfsf2.c),$(1)) lib/builtins/arm/vfp_alias.S 252ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liaoendef 253ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao 254ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liaodefine get-libcompiler-rt-arm-source-files 255ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao $(if $(findstring $(ARCH_ARM_HAVE_VFP),true), 256ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao $(call add-libcompiler-rt-arm-vfp-source-files, 257ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao $(call get-libcompiler-rt-arm-common-source-files)), 258ece62647281ee30b6bb01b0e052d58f41986a665Shih-wei Liao $(call get-libcompiler-rt-arm-common-source-files)) 259139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaoendef 260139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 2616731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murraydefine get-libcompiler-rt-arm64-source-files 2626731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murray $(call filter-libcompiler-rt-common-source-files, 2636731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murray $(libcompiler_rt_common_SRC_FILES) \ 2646731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murray $(libcompiler_rt_arm64_SRC_FILES),arm64) 2656731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murrayendef 2666731c5590dadf4d65fae4d75e03a724aba0cadc9Tim Murray 267139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaodefine get-libcompiler-rt-mips-source-files 268139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao $(call filter-libcompiler-rt-common-source-files, 269c8f5519892684eadc0cb1a7ef739905fa1ab4953Shih-wei Liao $(libcompiler_rt_common_SRC_FILES) \ 270139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao $(libcompiler_rt_mips_SRC_FILES),mips) 271139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaoendef 272139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 273139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaodefine get-libcompiler-rt-x86-source-files 274139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao $(call filter-libcompiler-rt-common-source-files, 275c8f5519892684eadc0cb1a7ef739905fa1ab4953Shih-wei Liao $(libcompiler_rt_common_SRC_FILES) \ 276139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao $(libcompiler_rt_x86_SRC_FILES),i386) 277139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaoendef 278139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao 2799939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkovdefine get-libcompiler-rt-x86_64-source-files 2809939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkov $(call filter-libcompiler-rt-common-source-files, 2819939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkov $(libcompiler_rt_common_SRC_FILES) \ 2829939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkov $(libcompiler_rt_x86_64_SRC_FILES),x86_64) 2839939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkovendef 2849939506f2e20a9989daf409ed1979f43de0a6222Alexey Volkov 285dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov#===================================================================== 2867f489a3deb01ecca5038d02b71111bac313ee57fShih-wei Liao# Device Static Library: libcompiler_rt-extras 287dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov#===================================================================== 288dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 289dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovinclude $(CLEAR_VARS) 290dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 2917f489a3deb01ecca5038d02b71111bac313ee57fShih-wei LiaoLOCAL_MODULE := libcompiler_rt-extras 292dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_MODULE_TAGS := optional 293dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_MODULE_CLASS := STATIC_LIBRARIES 294dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy StepanovLOCAL_CLANG := true 295139a106d12a5789561b3244bb34704eb618e4ffeShih-wei LiaoLOCAL_SRC_FILES := $(libcompiler_rt_extras_SRC_FILES) 29697ac43c7cf39e8ad2719b4f395093e7415280577Stephen HinesLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 297dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 298dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanovinclude $(BUILD_STATIC_LIBRARY) 299dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 30047ca89cea5ecba05b383df2fc816de66b3d961f6Colin Cross# Don't build compiler-rt without clang 30147ca89cea5ecba05b383df2fc816de66b3d961f6Colin Crossifneq ($(WITHOUT_TARGET_CLANG), true) 30247ca89cea5ecba05b383df2fc816de66b3d961f6Colin Cross 303139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao#===================================================================== 3047f489a3deb01ecca5038d02b71111bac313ee57fShih-wei Liao# Device Static Library: libcompiler_rt 305139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao#===================================================================== 30675d873d8fc8341b2c48954737995b49e0bc1ab6cColin Cross 30775d873d8fc8341b2c48954737995b49e0bc1ab6cColin Crossinclude $(CLEAR_VARS) 30875d873d8fc8341b2c48954737995b49e0bc1ab6cColin Cross 30975d873d8fc8341b2c48954737995b49e0bc1ab6cColin Crossifeq ($(TARGET_ARCH),mips64) 31075d873d8fc8341b2c48954737995b49e0bc1ab6cColin Cross$(warning TODOMips64: Enable compiler-rt build) 311e3c30bfc1e34e323bf83ed3f062e4251778007b2Serban Constantinescuendif 312dc3865b01cd56b703b77f58d5acff6529491eaf3Evgeniy Stepanov 31375d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_MODULE := libcompiler_rt 31475d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_CFLAGS_arm += -D__ARM_EABI__ 31575d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_ASFLAGS := -integrated-as 31675d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_CLANG := true 31775d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_SRC_FILES_arm := $(call get-libcompiler-rt-source-files,arm) 3186731c5590dadf4d65fae4d75e03a724aba0cadc9Tim MurrayLOCAL_SRC_FILES_arm64 := $(call get-libcompiler-rt-source-files,arm64) 31975d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_SRC_FILES_mips := $(call get-libcompiler-rt-source-files,mips) 32075d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_SRC_FILES_x86 := $(call get-libcompiler-rt-source-files,x86) 32175d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_SRC_FILES_x86_64 := $(call get-libcompiler-rt-source-files,x86_64) 3226731c5590dadf4d65fae4d75e03a724aba0cadc9Tim MurrayLOCAL_MODULE_TARGET_ARCH := arm arm64 mips x86 x86_64 32375d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 32475d873d8fc8341b2c48954737995b49e0bc1ab6cColin Cross 32575d873d8fc8341b2c48954737995b49e0bc1ab6cColin Crossinclude $(BUILD_STATIC_LIBRARY) 32675d873d8fc8341b2c48954737995b49e0bc1ab6cColin Cross 327fba76918950962438ed40f78365947bf9927b24cShih-wei Liao#===================================================================== 32895b6e9a2552f005857c81626638dfd98cc8665dfDan Albert# Host Static Library: libcompiler_rt 32995b6e9a2552f005857c81626638dfd98cc8665dfDan Albert#===================================================================== 33095b6e9a2552f005857c81626638dfd98cc8665dfDan Albert 33195b6e9a2552f005857c81626638dfd98cc8665dfDan Albertinclude $(CLEAR_VARS) 33295b6e9a2552f005857c81626638dfd98cc8665dfDan Albert 33395b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_MODULE := libcompiler_rt 33495b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_ASFLAGS := -integrated-as 33595b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_CLANG := true 33695b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_SRC_FILES := $(call get-libcompiler-rt-source-files,x86_64) 33795b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 33895b6e9a2552f005857c81626638dfd98cc8665dfDan Albert 33995b6e9a2552f005857c81626638dfd98cc8665dfDan Albertinclude $(BUILD_HOST_STATIC_LIBRARY) 34095b6e9a2552f005857c81626638dfd98cc8665dfDan Albert 34195b6e9a2552f005857c81626638dfd98cc8665dfDan Albert#===================================================================== 342ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanov# Device Static Library: libprofile_rt 343ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanov#===================================================================== 344ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanov 345ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanovinclude $(CLEAR_VARS) 346ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanov 347ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy IvanovLOCAL_MODULE = libprofile_rt 348ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy IvanovLOCAL_SRC_FILES = lib/profile/GCDAProfiling.c 349ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanov 350ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanovinclude $(BUILD_STATIC_LIBRARY) 351ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanov 352ba9a7b37ffac9156693ae0ceeef37b1f167cb1d6Dmitriy Ivanov#===================================================================== 353fba76918950962438ed40f78365947bf9927b24cShih-wei Liao# Device Shared Library: libcompiler_rt 354fba76918950962438ed40f78365947bf9927b24cShih-wei Liao#===================================================================== 355e3c30bfc1e34e323bf83ed3f062e4251778007b2Serban Constantinescu 35675d873d8fc8341b2c48954737995b49e0bc1ab6cColin Crossinclude $(CLEAR_VARS) 35775d873d8fc8341b2c48954737995b49e0bc1ab6cColin Cross 35875d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_MODULE := libcompiler_rt 35975d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 36075d873d8fc8341b2c48954737995b49e0bc1ab6cColin CrossLOCAL_WHOLE_STATIC_LIBRARIES := libcompiler_rt 3616731c5590dadf4d65fae4d75e03a724aba0cadc9Tim MurrayLOCAL_MODULE_TARGET_ARCH := arm arm64 mips x86 x86_64 36275d873d8fc8341b2c48954737995b49e0bc1ab6cColin Cross 36375d873d8fc8341b2c48954737995b49e0bc1ab6cColin Crossinclude $(BUILD_SHARED_LIBRARY) 364fba76918950962438ed40f78365947bf9927b24cShih-wei Liao 365139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liao# Build ASan 366139a106d12a5789561b3244bb34704eb618e4ffeShih-wei Liaoinclude $(LOCAL_PATH)/lib/asan/Android.mk 3674b4f557b295efe886cb7b4199f136afa9c6db6e8Tim Murray 36895b6e9a2552f005857c81626638dfd98cc8665dfDan Albert#===================================================================== 36995b6e9a2552f005857c81626638dfd98cc8665dfDan Albert# Host Shared Library: libcompiler_rt 37095b6e9a2552f005857c81626638dfd98cc8665dfDan Albert#===================================================================== 37195b6e9a2552f005857c81626638dfd98cc8665dfDan Albert 37295b6e9a2552f005857c81626638dfd98cc8665dfDan Albertinclude $(CLEAR_VARS) 37395b6e9a2552f005857c81626638dfd98cc8665dfDan Albert 37495b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_MODULE := libcompiler_rt 37595b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 37695b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_WHOLE_STATIC_LIBRARIES := libcompiler_rt 37795b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_CPPFLAGS := -nostdinc++ 37895b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_LDFLAGS := -nodefaultlibs 37995b6e9a2552f005857c81626638dfd98cc8665dfDan AlbertLOCAL_LDLIBS := -lc -lm 38095b6e9a2552f005857c81626638dfd98cc8665dfDan Albert 38195b6e9a2552f005857c81626638dfd98cc8665dfDan Albertinclude $(BUILD_HOST_SHARED_LIBRARY) 38295b6e9a2552f005857c81626638dfd98cc8665dfDan Albert 38347ca89cea5ecba05b383df2fc816de66b3d961f6Colin Crossendif 384306946113efca741da8e33fd35edb1d7c29794ffStephen Hines 385306946113efca741da8e33fd35edb1d7c29794ffStephen Hinesendif # TARGET_BUILD_APPS only 386