arm.mk revision 6c80ccdeed9d9b30e961f68229fe8171d79c5d14
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 9# These are shared by all the 32-bit targets, but not the 64-bit ones. 10libc_bionic_src_files_arm := \ 11 bionic/mmap.cpp 12 13libc_common_src_files_arm += \ 14 bionic/index.cpp \ 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-openbsd/lib/libc/string/bcopy.c \ 28 upstream-openbsd/lib/libc/string/stpcpy.c \ 29 upstream-openbsd/lib/libc/string/stpncpy.c \ 30 upstream-openbsd/lib/libc/string/strlcat.c \ 31 upstream-openbsd/lib/libc/string/strlcpy.c \ 32 upstream-openbsd/lib/libc/string/strncat.c \ 33 upstream-openbsd/lib/libc/string/strncmp.c \ 34 upstream-openbsd/lib/libc/string/strncpy.c \ 35 36# The C++ fortify function implementations for which there is an 37# arm assembler version. 38# 39# Fortify implementations of libc functions. 40# libc_common_src_files_arm += 41# bionic/__memcpy_chk.cpp \ 42# bionic/__memset_chk.cpp \ 43# bionic/__strcpy_chk.cpp \ 44# bionic/__strcat_chk.cpp \ 45 46libc_common_cflags_arm := -DSOFTFLOAT 47 48########################################## 49### CPU specific source files 50libc_bionic_src_files_arm += \ 51 arch-arm/bionic/abort_arm.S \ 52 arch-arm/bionic/atomics_arm.c \ 53 arch-arm/bionic/__bionic_clone.S \ 54 arch-arm/bionic/eabi.c \ 55 arch-arm/bionic/_exit_with_stack_teardown.S \ 56 arch-arm/bionic/futex_arm.S \ 57 arch-arm/bionic/__get_sp.S \ 58 arch-arm/bionic/libgcc_compat.c \ 59 arch-arm/bionic/memcmp16.S \ 60 arch-arm/bionic/memcmp.S \ 61 arch-arm/bionic/_setjmp.S \ 62 arch-arm/bionic/setjmp.S \ 63 arch-arm/bionic/sigsetjmp.S \ 64 arch-arm/bionic/syscall.S \ 65 66libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c 67libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.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