Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 1 | # arm specific configs |
| 2 | |
| 3 | # These are used by the 32-bit targets, but not the 64-bit ones. |
| 4 | libc_common_src_files_arm := \ |
| 5 | bionic/legacy_32_bit_support.cpp \ |
| 6 | bionic/ndk_cruft.cpp \ |
Elliott Hughes | 8d77bce | 2014-04-22 13:55:58 -0700 | [diff] [blame] | 7 | bionic/time64.c \ |
Dan Albert | 8e613cf | 2014-06-11 14:17:35 -0700 | [diff] [blame] | 8 | upstream-openbsd/lib/libc/stdio/putw.c \ |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 9 | |
| 10 | # These are shared by all the 32-bit targets, but not the 64-bit ones. |
| 11 | libc_bionic_src_files_arm := \ |
| 12 | bionic/mmap.cpp |
| 13 | |
| 14 | libc_common_src_files_arm += \ |
| 15 | bionic/memchr.c \ |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 16 | bionic/memrchr.c \ |
| 17 | bionic/strchr.cpp \ |
| 18 | bionic/strnlen.c \ |
Elliott Hughes | 53e4329 | 2014-02-24 18:00:43 -0800 | [diff] [blame] | 19 | bionic/strrchr.cpp \ |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 20 | upstream-freebsd/lib/libc/string/wcscat.c \ |
| 21 | upstream-freebsd/lib/libc/string/wcschr.c \ |
| 22 | upstream-freebsd/lib/libc/string/wcscmp.c \ |
| 23 | upstream-freebsd/lib/libc/string/wcscpy.c \ |
| 24 | upstream-freebsd/lib/libc/string/wcslen.c \ |
| 25 | upstream-freebsd/lib/libc/string/wcsrchr.c \ |
| 26 | upstream-freebsd/lib/libc/string/wmemcmp.c \ |
Bernhard Rosenkraenzer | 6f2bde3 | 2014-05-23 17:44:18 +0200 | [diff] [blame] | 27 | upstream-freebsd/lib/libc/string/wmemmove.c \ |
Elliott Hughes | 53e4329 | 2014-02-24 18:00:43 -0800 | [diff] [blame] | 28 | upstream-openbsd/lib/libc/string/bcopy.c \ |
Varvara Rainchik | 5a92284 | 2014-04-24 15:41:20 +0400 | [diff] [blame] | 29 | upstream-openbsd/lib/libc/string/stpcpy.c \ |
| 30 | upstream-openbsd/lib/libc/string/stpncpy.c \ |
Elliott Hughes | 53e4329 | 2014-02-24 18:00:43 -0800 | [diff] [blame] | 31 | upstream-openbsd/lib/libc/string/strlcat.c \ |
| 32 | upstream-openbsd/lib/libc/string/strlcpy.c \ |
| 33 | upstream-openbsd/lib/libc/string/strncat.c \ |
| 34 | upstream-openbsd/lib/libc/string/strncmp.c \ |
| 35 | upstream-openbsd/lib/libc/string/strncpy.c \ |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 36 | |
| 37 | # The C++ fortify function implementations for which there is an |
| 38 | # arm assembler version. |
| 39 | # |
| 40 | # Fortify implementations of libc functions. |
| 41 | # libc_common_src_files_arm += |
| 42 | # bionic/__memcpy_chk.cpp \ |
| 43 | # bionic/__memset_chk.cpp \ |
| 44 | # bionic/__strcpy_chk.cpp \ |
| 45 | # bionic/__strcat_chk.cpp \ |
| 46 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 47 | ########################################## |
| 48 | ### CPU specific source files |
| 49 | libc_bionic_src_files_arm += \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 50 | arch-arm/bionic/abort_arm.S \ |
| 51 | arch-arm/bionic/atomics_arm.c \ |
Elliott Hughes | 36d6188 | 2013-11-19 13:31:58 -0800 | [diff] [blame] | 52 | arch-arm/bionic/__bionic_clone.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 53 | arch-arm/bionic/_exit_with_stack_teardown.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 54 | arch-arm/bionic/libgcc_compat.c \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 55 | arch-arm/bionic/memcmp.S \ |
Elliott Hughes | 7dc2b7b | 2014-09-10 15:20:40 -0700 | [diff] [blame] | 56 | arch-arm/bionic/__restore.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 57 | arch-arm/bionic/_setjmp.S \ |
| 58 | arch-arm/bionic/setjmp.S \ |
| 59 | arch-arm/bionic/sigsetjmp.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 60 | arch-arm/bionic/syscall.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 61 | |
Elliott Hughes | 6e39ba7 | 2014-02-20 11:36:55 -0800 | [diff] [blame] | 62 | libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c |
| 63 | libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 64 | |
Dan Albert | c82c0b7 | 2014-06-16 16:52:27 -0700 | [diff] [blame] | 65 | libc_netbsd_src_files_arm := \ |
| 66 | upstream-netbsd/common/lib/libc/hash/sha1/sha1.c \ |
| 67 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 68 | ## CPU variant specific source files |
| 69 | ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),) |
| 70 | $(warning TARGET_$(my_2nd_arch_prefix)ARCH is arm, but TARGET_$(my_2nd_arch_prefix)CPU_VARIANT is not defined) |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 71 | endif |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 72 | cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk |
| 73 | ifeq ($(wildcard $(cpu_variant_mk)),) |
Shu Zhang | 5b5d6e7 | 2014-03-12 11:18:41 +0800 | [diff] [blame] | 74 | $(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 Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 75 | endif |
| 76 | include $(cpu_variant_mk) |
| 77 | libc_common_additional_dependencies += $(cpu_variant_mk) |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 78 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 79 | cpu_variant_mk := |
| 80 | |
Elliott Hughes | 6e39ba7 | 2014-02-20 11:36:55 -0800 | [diff] [blame] | 81 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 82 | libc_crt_target_cflags_arm := \ |
| 83 | -I$(LOCAL_PATH)/arch-arm/include \ |
| 84 | -mthumb-interwork |
| 85 | |
| 86 | libc_crt_target_so_cflags_arm := |
| 87 | |
| 88 | libc_crt_target_crtbegin_file_arm := \ |
| 89 | $(LOCAL_PATH)/arch-common/bionic/crtbegin.c |
| 90 | |
| 91 | libc_crt_target_crtbegin_so_file_arm := \ |
| 92 | $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c |