blob: 76f465e818ac013a379f98079111f90752b4a7c2 [file] [log] [blame]
Elliott Hughes7c02d942014-09-16 19:06:31 -07001# 32-bit arm.
Ying Wangf25d6772014-01-23 15:17:50 -08002
Elliott Hughes7c02d942014-09-16 19:06:31 -07003libc_bionic_src_files_arm += \
Dan Willemsen268a6732015-10-15 14:49:45 -07004 arch-arm/generic/bionic/memcmp.S \
5 arch-arm/generic/bionic/memcpy.S \
6 arch-arm/generic/bionic/memset.S \
7 arch-arm/generic/bionic/strcmp.S \
8 arch-arm/generic/bionic/strcpy.S \
9 arch-arm/generic/bionic/strlen.c \
Elliott Hughes7c02d942014-09-16 19:06:31 -070010
Dan Willemsen268a6732015-10-15 14:49:45 -070011libc_bionic_src_files_exclude_arm += \
12 bionic/__memcpy_chk.cpp \
13 bionic/__memset_chk.cpp \
Elliott Hughes7c02d942014-09-16 19:06:31 -070014
Dan Willemsen268a6732015-10-15 14:49:45 -070015libc_openbsd_src_files_exclude_arm += \
16 upstream-openbsd/lib/libc/string/strcpy.c \
Ying Wangf25d6772014-01-23 15:17:50 -080017
Ying Wangf25d6772014-01-23 15:17:50 -080018#
Elliott Hughes7c02d942014-09-16 19:06:31 -070019# Inherently architecture-specific code.
20#
Ying Wangf25d6772014-01-23 15:17:50 -080021
Ying Wangf25d6772014-01-23 15:17:50 -080022libc_bionic_src_files_arm += \
Christopher Ferris04954a42013-02-26 01:30:00 -080023 arch-arm/bionic/abort_arm.S \
24 arch-arm/bionic/atomics_arm.c \
Elliott Hughes36d61882013-11-19 13:31:58 -080025 arch-arm/bionic/__bionic_clone.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080026 arch-arm/bionic/_exit_with_stack_teardown.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080027 arch-arm/bionic/libgcc_compat.c \
Josh Gao06b3f702015-08-21 16:59:31 -070028 arch-arm/bionic/popcount_tab.c \
Elliott Hughes36f451a2014-09-10 15:20:40 -070029 arch-arm/bionic/__restore.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080030 arch-arm/bionic/setjmp.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080031 arch-arm/bionic/syscall.S \
Elliott Hughes5891abd2015-08-07 18:27:47 -070032 arch-arm/bionic/vfork.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080033
Elliott Hughes6e39ba72014-02-20 11:36:55 -080034libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c
35libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c
Christopher Ferris04954a42013-02-26 01:30:00 -080036
Ying Wangf25d6772014-01-23 15:17:50 -080037## CPU variant specific source files
38ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),)
39 $(warning TARGET_$(my_2nd_arch_prefix)ARCH is arm, but TARGET_$(my_2nd_arch_prefix)CPU_VARIANT is not defined)
Christopher Ferris04954a42013-02-26 01:30:00 -080040endif
Dan Willemsen268a6732015-10-15 14:49:45 -070041ifneq ($(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT),generic)
Ying Wangf25d6772014-01-23 15:17:50 -080042cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk
43ifeq ($(wildcard $(cpu_variant_mk)),)
Shu Zhang5b5d6e72014-03-12 11:18:41 +080044$(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.")
Ying Wangf25d6772014-01-23 15:17:50 -080045endif
46include $(cpu_variant_mk)
47libc_common_additional_dependencies += $(cpu_variant_mk)
Christopher Ferris04954a42013-02-26 01:30:00 -080048
Ying Wangf25d6772014-01-23 15:17:50 -080049cpu_variant_mk :=
Dan Willemsen268a6732015-10-15 14:49:45 -070050endif
Ying Wangf25d6772014-01-23 15:17:50 -080051
Elliott Hughes6e39ba72014-02-20 11:36:55 -080052
Ying Wangf25d6772014-01-23 15:17:50 -080053libc_crt_target_cflags_arm := \
54 -I$(LOCAL_PATH)/arch-arm/include \
55 -mthumb-interwork
56
57libc_crt_target_so_cflags_arm :=
58
59libc_crt_target_crtbegin_file_arm := \
60 $(LOCAL_PATH)/arch-common/bionic/crtbegin.c
61
62libc_crt_target_crtbegin_so_file_arm := \
63 $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c