blob: 3a125585f7729ebbb13d9ccaf9c6a41d2bbc5c26 [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 += \
Yingshiuan Pan120bf182015-04-23 04:07:59 +01004 arch-arm/generic/bionic/memchr.S \
Dan Willemsen268a6732015-10-15 14:49:45 -07005 arch-arm/generic/bionic/memcmp.S \
6 arch-arm/generic/bionic/memcpy.S \
7 arch-arm/generic/bionic/memset.S \
8 arch-arm/generic/bionic/strcmp.S \
9 arch-arm/generic/bionic/strcpy.S \
10 arch-arm/generic/bionic/strlen.c \
Elliott Hughes7c02d942014-09-16 19:06:31 -070011
Dan Willemsen268a6732015-10-15 14:49:45 -070012libc_bionic_src_files_exclude_arm += \
13 bionic/__memcpy_chk.cpp \
14 bionic/__memset_chk.cpp \
Elliott Hughes7c02d942014-09-16 19:06:31 -070015
Dan Willemsen268a6732015-10-15 14:49:45 -070016libc_openbsd_src_files_exclude_arm += \
Yingshiuan Pan120bf182015-04-23 04:07:59 +010017 upstream-openbsd/lib/libc/string/memchr.c \
18 upstream-openbsd/lib/libc/string/strcpy.c
Ying Wangf25d6772014-01-23 15:17:50 -080019
Ying Wangf25d6772014-01-23 15:17:50 -080020#
Elliott Hughes7c02d942014-09-16 19:06:31 -070021# Inherently architecture-specific code.
22#
Ying Wangf25d6772014-01-23 15:17:50 -080023
Ying Wangf25d6772014-01-23 15:17:50 -080024libc_bionic_src_files_arm += \
Christopher Ferris04954a42013-02-26 01:30:00 -080025 arch-arm/bionic/abort_arm.S \
26 arch-arm/bionic/atomics_arm.c \
Elliott Hughes36d61882013-11-19 13:31:58 -080027 arch-arm/bionic/__bionic_clone.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080028 arch-arm/bionic/_exit_with_stack_teardown.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080029 arch-arm/bionic/libgcc_compat.c \
Josh Gao06b3f702015-08-21 16:59:31 -070030 arch-arm/bionic/popcount_tab.c \
Elliott Hughes36f451a2014-09-10 15:20:40 -070031 arch-arm/bionic/__restore.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080032 arch-arm/bionic/setjmp.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080033 arch-arm/bionic/syscall.S \
Elliott Hughes5891abd2015-08-07 18:27:47 -070034 arch-arm/bionic/vfork.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080035
Elliott Hughes6e39ba72014-02-20 11:36:55 -080036libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c
37libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c
Christopher Ferris04954a42013-02-26 01:30:00 -080038
Ying Wangf25d6772014-01-23 15:17:50 -080039## CPU variant specific source files
40ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),)
41 $(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 -080042endif
Dan Willemsen268a6732015-10-15 14:49:45 -070043ifneq ($(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT),generic)
Ying Wangf25d6772014-01-23 15:17:50 -080044cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk
45ifeq ($(wildcard $(cpu_variant_mk)),)
Steve Kondik32822a42013-08-09 21:56:10 -070046$(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, scorpion, 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 -080047endif
48include $(cpu_variant_mk)
49libc_common_additional_dependencies += $(cpu_variant_mk)
Christopher Ferris04954a42013-02-26 01:30:00 -080050
Ying Wangf25d6772014-01-23 15:17:50 -080051cpu_variant_mk :=
Dan Willemsen268a6732015-10-15 14:49:45 -070052endif
Ying Wangf25d6772014-01-23 15:17:50 -080053
Elliott Hughes6e39ba72014-02-20 11:36:55 -080054
Ying Wangf25d6772014-01-23 15:17:50 -080055libc_crt_target_cflags_arm := \
56 -I$(LOCAL_PATH)/arch-arm/include \
57 -mthumb-interwork
58
59libc_crt_target_so_cflags_arm :=
60
61libc_crt_target_crtbegin_file_arm := \
62 $(LOCAL_PATH)/arch-common/bionic/crtbegin.c
63
64libc_crt_target_crtbegin_so_file_arm := \
65 $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c