arm.mk revision 642182341018b282148280a7bdb771493e15bd7d
1# arm specific configs 2 3# These are used by the 32-bit targets, but not the 64-bit ones. 4libc_common_src_files_arm := \ 5 bionic/legacy_32_bit_support.cpp \ 6 bionic/ndk_cruft.cpp \ 7 bionic/time64.c \ 8 upstream-openbsd/lib/libc/stdio/putw.c \ 9 10# These are shared by all the 32-bit targets, but not the 64-bit ones. 11libc_bionic_src_files_arm := \ 12 bionic/mmap.cpp 13 14libc_common_src_files_arm += \ 15 bionic/memchr.c \ 16 bionic/memrchr.c \ 17 bionic/strchr.cpp \ 18 bionic/strnlen.c \ 19 bionic/strrchr.cpp \ 20 upstream-freebsd/lib/libc/string/wcscat.c \ 21 upstream-freebsd/lib/libc/string/wcschr.c \ 22 upstream-freebsd/lib/libc/string/wcscmp.c \ 23 upstream-freebsd/lib/libc/string/wcscpy.c \ 24 upstream-freebsd/lib/libc/string/wcslen.c \ 25 upstream-freebsd/lib/libc/string/wcsrchr.c \ 26 upstream-freebsd/lib/libc/string/wmemcmp.c \ 27 upstream-freebsd/lib/libc/string/wmemmove.c \ 28 upstream-openbsd/lib/libc/string/bcopy.c \ 29 upstream-openbsd/lib/libc/string/stpcpy.c \ 30 upstream-openbsd/lib/libc/string/stpncpy.c \ 31 upstream-openbsd/lib/libc/string/strlcat.c \ 32 upstream-openbsd/lib/libc/string/strlcpy.c \ 33 upstream-openbsd/lib/libc/string/strncat.c \ 34 upstream-openbsd/lib/libc/string/strncmp.c \ 35 upstream-openbsd/lib/libc/string/strncpy.c \ 36 37# The C++ fortify function implementations for which there is an 38# arm assembler version. 39# 40# Fortify implementations of libc functions. 41# libc_common_src_files_arm += 42# bionic/__memcpy_chk.cpp \ 43# bionic/__memset_chk.cpp \ 44# bionic/__strcpy_chk.cpp \ 45# bionic/__strcat_chk.cpp \ 46 47libc_common_cflags_arm := -DSOFTFLOAT 48 49########################################## 50### CPU specific source files 51libc_bionic_src_files_arm += \ 52 arch-arm/bionic/abort_arm.S \ 53 arch-arm/bionic/atomics_arm.c \ 54 arch-arm/bionic/__bionic_clone.S \ 55 arch-arm/bionic/_exit_with_stack_teardown.S \ 56 arch-arm/bionic/libgcc_compat.c \ 57 arch-arm/bionic/memcmp.S \ 58 arch-arm/bionic/_setjmp.S \ 59 arch-arm/bionic/setjmp.S \ 60 arch-arm/bionic/sigsetjmp.S \ 61 arch-arm/bionic/syscall.S \ 62 63libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c 64libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c 65 66libc_netbsd_src_files_arm := \ 67 upstream-netbsd/common/lib/libc/hash/sha1/sha1.c \ 68 69## CPU variant specific source files 70ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),) 71 $(warning TARGET_$(my_2nd_arch_prefix)ARCH is arm, but TARGET_$(my_2nd_arch_prefix)CPU_VARIANT is not defined) 72endif 73cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk 74ifeq ($(wildcard $(cpu_variant_mk)),) 75$(error "TARGET_$(my_2nd_arch_prefix)CPU_VARIANT not set or set to an unknown value. Possible values are cortex-a7, cortex-a8, cortex-a9, cortex-a15, krait, denver. Use generic for devices that do not have a CPU similar to any of the supported cpu variants.") 76endif 77include $(cpu_variant_mk) 78libc_common_additional_dependencies += $(cpu_variant_mk) 79 80cpu_variant_mk := 81 82 83libc_crt_target_cflags_arm := \ 84 -I$(LOCAL_PATH)/arch-arm/include \ 85 -mthumb-interwork 86 87libc_crt_target_so_cflags_arm := 88 89libc_crt_target_crtbegin_file_arm := \ 90 $(LOCAL_PATH)/arch-common/bionic/crtbegin.c 91 92libc_crt_target_crtbegin_so_file_arm := \ 93 $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c 94