arm.mk revision 891dedb935b50f1abb39eedfe33049a1e49283cb
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/eabi.c \ 56 arch-arm/bionic/_exit_with_stack_teardown.S \ 57 arch-arm/bionic/__get_sp.S \ 58 arch-arm/bionic/libgcc_compat.c \ 59 arch-arm/bionic/memcmp.S \ 60 arch-arm/bionic/_setjmp.S \ 61 arch-arm/bionic/setjmp.S \ 62 arch-arm/bionic/sigsetjmp.S \ 63 arch-arm/bionic/syscall.S \ 64 65libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c 66libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c 67 68## CPU variant specific source files 69ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),) 70 $(warning TARGET_$(my_2nd_arch_prefix)ARCH is arm, but TARGET_$(my_2nd_arch_prefix)CPU_VARIANT is not defined) 71endif 72cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk 73ifeq ($(wildcard $(cpu_variant_mk)),) 74$(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.") 75endif 76include $(cpu_variant_mk) 77libc_common_additional_dependencies += $(cpu_variant_mk) 78 79cpu_variant_mk := 80 81 82libc_crt_target_cflags_arm := \ 83 -I$(LOCAL_PATH)/arch-arm/include \ 84 -mthumb-interwork 85 86libc_crt_target_so_cflags_arm := 87 88libc_crt_target_crtbegin_file_arm := \ 89 $(LOCAL_PATH)/arch-common/bionic/crtbegin.c 90 91libc_crt_target_crtbegin_so_file_arm := \ 92 $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c 93