1# 64-bit arm. 2 3# 4# Generic arm64 optimizations, may be overriden by CPU variants. 5# 6 7libc_bionic_src_files_arm64 += \ 8 arch-arm64/generic/bionic/memchr.S \ 9 arch-arm64/generic/bionic/memcmp.S \ 10 arch-arm64/generic/bionic/memcpy.S \ 11 arch-arm64/generic/bionic/memmove.S \ 12 arch-arm64/generic/bionic/memset.S \ 13 arch-arm64/generic/bionic/stpcpy.S \ 14 arch-arm64/generic/bionic/strchr.S \ 15 arch-arm64/generic/bionic/strcmp.S \ 16 arch-arm64/generic/bionic/strcpy.S \ 17 arch-arm64/generic/bionic/strlen.S \ 18 arch-arm64/generic/bionic/strncmp.S \ 19 arch-arm64/generic/bionic/strnlen.S \ 20 arch-arm64/generic/bionic/wmemmove.S \ 21 22libc_bionic_src_files_exclude_arm64 += \ 23 bionic/__memcpy_chk.cpp \ 24 bionic/strchr.cpp \ 25 bionic/strnlen.c \ 26 27libc_freebsd_src_files_exclude_arm64 += \ 28 upstream-freebsd/lib/libc/string/wmemmove.c \ 29 30libc_openbsd_src_files_exclude_arm64 += \ 31 upstream-openbsd/lib/libc/string/memchr.c \ 32 upstream-openbsd/lib/libc/string/memmove.c \ 33 upstream-openbsd/lib/libc/string/stpcpy.c \ 34 upstream-openbsd/lib/libc/string/strcpy.c \ 35 upstream-openbsd/lib/libc/string/strncmp.c \ 36 37# 38# Inherently architecture-specific code. 39# 40 41libc_bionic_src_files_arm64 += \ 42 arch-arm64/bionic/__bionic_clone.S \ 43 arch-arm64/bionic/_exit_with_stack_teardown.S \ 44 arch-arm64/bionic/setjmp.S \ 45 arch-arm64/bionic/syscall.S \ 46 arch-arm64/bionic/vfork.S \ 47 48 49libc_crt_target_cflags_arm64 := \ 50 -I$(LOCAL_PATH)/arch-arm64/include 51 52libc_crt_target_crtbegin_file_arm64 := \ 53 $(LOCAL_PATH)/arch-arm64/bionic/crtbegin.c 54 55libc_crt_target_crtbegin_so_file_arm64 := \ 56 $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c 57 58## CPU variant specific source files 59ifeq ($(strip $(TARGET_CPU_VARIANT)),) 60 $(warning TARGET_ARCH is arm64, but TARGET_CPU_VARIANT is not defined) 61endif 62ifneq ($(TARGET_CPU_VARIANT),generic) 63cpu_variant_mk := $(LOCAL_PATH)/arch-arm64/$(TARGET_CPU_VARIANT)/$(TARGET_CPU_VARIANT).mk 64ifeq ($(wildcard $(cpu_variant_mk)),) 65$(error "TARGET_CPU_VARIANT not set or set to an unknown value. Possible values are generic, denver64. Use generic for devices that do not have a CPU similar to any of the supported cpu variants.") 66endif 67include $(cpu_variant_mk) 68libc_common_additional_dependencies += $(cpu_variant_mk) 69 70cpu_variant_mk := 71endif 72