blob: 6c111694af61292f8670ff47d0657d83ca8d0606 [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 \
Elliott Hughes7c02d942014-09-16 19:06:31 -070013
Dan Willemsen268a6732015-10-15 14:49:45 -070014libc_openbsd_src_files_exclude_arm += \
15 upstream-openbsd/lib/libc/string/strcpy.c \
Ying Wangf25d6772014-01-23 15:17:50 -080016
Ying Wangf25d6772014-01-23 15:17:50 -080017#
Elliott Hughes7c02d942014-09-16 19:06:31 -070018# Inherently architecture-specific code.
19#
Ying Wangf25d6772014-01-23 15:17:50 -080020
Ying Wangf25d6772014-01-23 15:17:50 -080021libc_bionic_src_files_arm += \
Christopher Ferris04954a42013-02-26 01:30:00 -080022 arch-arm/bionic/abort_arm.S \
23 arch-arm/bionic/atomics_arm.c \
Elliott Hughes36d61882013-11-19 13:31:58 -080024 arch-arm/bionic/__bionic_clone.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080025 arch-arm/bionic/_exit_with_stack_teardown.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080026 arch-arm/bionic/libgcc_compat.c \
Josh Gao06b3f702015-08-21 16:59:31 -070027 arch-arm/bionic/popcount_tab.c \
Elliott Hughes36f451a2014-09-10 15:20:40 -070028 arch-arm/bionic/__restore.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080029 arch-arm/bionic/setjmp.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080030 arch-arm/bionic/syscall.S \
Elliott Hughes5891abd2015-08-07 18:27:47 -070031 arch-arm/bionic/vfork.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080032
Elliott Hughes6e39ba72014-02-20 11:36:55 -080033libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c
34libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c
Christopher Ferris04954a42013-02-26 01:30:00 -080035
Ying Wangf25d6772014-01-23 15:17:50 -080036## CPU variant specific source files
37ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),)
38 $(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 -080039endif
Dan Willemsen268a6732015-10-15 14:49:45 -070040ifneq ($(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT),generic)
Ying Wangf25d6772014-01-23 15:17:50 -080041cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk
42ifeq ($(wildcard $(cpu_variant_mk)),)
Shu Zhang5b5d6e72014-03-12 11:18:41 +080043$(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 -080044endif
45include $(cpu_variant_mk)
46libc_common_additional_dependencies += $(cpu_variant_mk)
Christopher Ferris04954a42013-02-26 01:30:00 -080047
Ying Wangf25d6772014-01-23 15:17:50 -080048cpu_variant_mk :=
Dan Willemsen268a6732015-10-15 14:49:45 -070049endif
Ying Wangf25d6772014-01-23 15:17:50 -080050
Elliott Hughes6e39ba72014-02-20 11:36:55 -080051
Ying Wangf25d6772014-01-23 15:17:50 -080052libc_crt_target_cflags_arm := \
53 -I$(LOCAL_PATH)/arch-arm/include \
54 -mthumb-interwork
55
56libc_crt_target_so_cflags_arm :=
57
58libc_crt_target_crtbegin_file_arm := \
59 $(LOCAL_PATH)/arch-common/bionic/crtbegin.c
60
61libc_crt_target_crtbegin_so_file_arm := \
62 $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c