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 \ |
| 7 | |
| 8 | # These are shared by all the 32-bit targets, but not the 64-bit ones. |
| 9 | libc_bionic_src_files_arm := \ |
| 10 | bionic/mmap.cpp |
| 11 | |
| 12 | libc_common_src_files_arm += \ |
Elliott Hughes | 53e4329 | 2014-02-24 18:00:43 -0800 | [diff] [blame^] | 13 | bionic/index.cpp \ |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 14 | bionic/memchr.c \ |
| 15 | bionic/memmove.c.arm \ |
| 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 \ |
Elliott Hughes | 53e4329 | 2014-02-24 18:00:43 -0800 | [diff] [blame^] | 27 | upstream-openbsd/lib/libc/string/bcopy.c \ |
| 28 | upstream-openbsd/lib/libc/string/strlcat.c \ |
| 29 | upstream-openbsd/lib/libc/string/strlcpy.c \ |
| 30 | upstream-openbsd/lib/libc/string/strncat.c \ |
| 31 | upstream-openbsd/lib/libc/string/strncmp.c \ |
| 32 | upstream-openbsd/lib/libc/string/strncpy.c \ |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 33 | |
| 34 | # The C++ fortify function implementations for which there is an |
| 35 | # arm assembler version. |
| 36 | # |
| 37 | # Fortify implementations of libc functions. |
| 38 | # libc_common_src_files_arm += |
| 39 | # bionic/__memcpy_chk.cpp \ |
| 40 | # bionic/__memset_chk.cpp \ |
| 41 | # bionic/__strcpy_chk.cpp \ |
| 42 | # bionic/__strcat_chk.cpp \ |
| 43 | |
Elliott Hughes | b8dc9bb | 2014-02-20 14:35:20 -0800 | [diff] [blame] | 44 | libc_common_cflags_arm := -DSOFTFLOAT |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 45 | |
| 46 | ########################################## |
| 47 | ### CPU specific source files |
| 48 | libc_bionic_src_files_arm += \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 49 | arch-arm/bionic/abort_arm.S \ |
| 50 | arch-arm/bionic/atomics_arm.c \ |
Elliott Hughes | 36d6188 | 2013-11-19 13:31:58 -0800 | [diff] [blame] | 51 | arch-arm/bionic/__bionic_clone.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 52 | arch-arm/bionic/eabi.c \ |
| 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/futex_arm.S \ |
| 55 | arch-arm/bionic/__get_sp.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 56 | arch-arm/bionic/libgcc_compat.c \ |
| 57 | arch-arm/bionic/memcmp16.S \ |
| 58 | arch-arm/bionic/memcmp.S \ |
| 59 | arch-arm/bionic/_setjmp.S \ |
| 60 | arch-arm/bionic/setjmp.S \ |
| 61 | arch-arm/bionic/sigsetjmp.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 62 | arch-arm/bionic/syscall.S \ |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 63 | |
Elliott Hughes | 6e39ba7 | 2014-02-20 11:36:55 -0800 | [diff] [blame] | 64 | libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c |
| 65 | libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 66 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 67 | ## CPU variant specific source files |
| 68 | ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),) |
| 69 | $(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] | 70 | endif |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 71 | cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk |
| 72 | ifeq ($(wildcard $(cpu_variant_mk)),) |
| 73 | $(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. Use generic for devices that do not have a CPU similar to any of the supported cpu variants.") |
| 74 | endif |
| 75 | include $(cpu_variant_mk) |
| 76 | libc_common_additional_dependencies += $(cpu_variant_mk) |
Christopher Ferris | 04954a4 | 2013-02-26 01:30:00 -0800 | [diff] [blame] | 77 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 78 | cpu_variant_mk := |
| 79 | |
Elliott Hughes | 6e39ba7 | 2014-02-20 11:36:55 -0800 | [diff] [blame] | 80 | |
Ying Wang | f25d677 | 2014-01-23 15:17:50 -0800 | [diff] [blame] | 81 | libc_crt_target_cflags_arm := \ |
| 82 | -I$(LOCAL_PATH)/arch-arm/include \ |
| 83 | -mthumb-interwork |
| 84 | |
| 85 | libc_crt_target_so_cflags_arm := |
| 86 | |
| 87 | libc_crt_target_crtbegin_file_arm := \ |
| 88 | $(LOCAL_PATH)/arch-common/bionic/crtbegin.c |
| 89 | |
| 90 | libc_crt_target_crtbegin_so_file_arm := \ |
| 91 | $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c |