blob: 0811c960c6db848454732a36dfebccf4331d7a2f [file] [log] [blame]
Elliott Hughes7c02d942014-09-16 19:06:31 -07001# 64-bit arm.
Ying Wangf25d6772014-01-23 15:17:50 -08002
Elliott Hughes7c02d942014-09-16 19:06:31 -07003#
Dan Willemsen268a6732015-10-15 14:49:45 -07004# Generic arm64 optimizations, may be overriden by CPU variants.
Elliott Hughes7c02d942014-09-16 19:06:31 -07005#
6
7libc_bionic_src_files_arm64 += \
Dan Willemsen268a6732015-10-15 14:49:45 -07008 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 \
Elliott Hughes7c02d942014-09-16 19:06:31 -070021
Dan Willemsen268a6732015-10-15 14:49:45 -070022libc_bionic_src_files_exclude_arm64 += \
23 bionic/__memcpy_chk.cpp \
24 bionic/strchr.cpp \
25 bionic/strnlen.c \
Elliott Hughes7c02d942014-09-16 19:06:31 -070026
Dan Willemsen268a6732015-10-15 14:49:45 -070027libc_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 \
Ying Wangf25d6772014-01-23 15:17:50 -080036
Elliott Hughes7c02d942014-09-16 19:06:31 -070037#
38# Inherently architecture-specific code.
39#
Ying Wangf25d6772014-01-23 15:17:50 -080040
Elliott Hughes7c02d942014-09-16 19:06:31 -070041libc_bionic_src_files_arm64 += \
Colin Crossd1973ca2014-01-21 19:50:58 -080042 arch-arm64/bionic/__bionic_clone.S \
Colin Crossd1973ca2014-01-21 19:50:58 -080043 arch-arm64/bionic/_exit_with_stack_teardown.S \
Colin Crossd1973ca2014-01-21 19:50:58 -080044 arch-arm64/bionic/setjmp.S \
45 arch-arm64/bionic/__set_tls.c \
Colin Crossd1973ca2014-01-21 19:50:58 -080046 arch-arm64/bionic/syscall.S \
Dan Albert6a918872014-08-05 20:53:31 +000047 arch-arm64/bionic/vfork.S \
Ying Wangf25d6772014-01-23 15:17:50 -080048
Ying Wangf25d6772014-01-23 15:17:50 -080049
Ying Wangf25d6772014-01-23 15:17:50 -080050libc_crt_target_cflags_arm64 := \
51 -I$(LOCAL_PATH)/arch-arm64/include
52
53libc_crt_target_crtbegin_file_arm64 := \
54 $(LOCAL_PATH)/arch-arm64/bionic/crtbegin.c
55
56libc_crt_target_crtbegin_so_file_arm64 := \
57 $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
Bernhard Rosenkraenzer7e4fa562014-03-05 11:40:57 +010058
Christopher Ferris2146d142014-05-01 18:10:51 -070059## CPU variant specific source files
60ifeq ($(strip $(TARGET_CPU_VARIANT)),)
61 $(warning TARGET_ARCH is arm64, but TARGET_CPU_VARIANT is not defined)
62endif
Dan Willemsen268a6732015-10-15 14:49:45 -070063ifneq ($(TARGET_CPU_VARIANT),generic)
Christopher Ferris2146d142014-05-01 18:10:51 -070064cpu_variant_mk := $(LOCAL_PATH)/arch-arm64/$(TARGET_CPU_VARIANT)/$(TARGET_CPU_VARIANT).mk
65ifeq ($(wildcard $(cpu_variant_mk)),)
Christopher Ferris2169e172014-09-23 18:31:45 -070066$(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.")
Christopher Ferris2146d142014-05-01 18:10:51 -070067endif
68include $(cpu_variant_mk)
Colin Crossa6b6ed52015-02-04 17:38:27 -080069libc_common_additional_dependencies += $(cpu_variant_mk)
Christopher Ferris2146d142014-05-01 18:10:51 -070070
71cpu_variant_mk :=
Dan Willemsen268a6732015-10-15 14:49:45 -070072endif