1f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# arm specific configs 2f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang 3f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# These are used by the 32-bit targets, but not the 64-bit ones. 4f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_common_src_files_arm := \ 5f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang bionic/legacy_32_bit_support.cpp \ 6f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang bionic/ndk_cruft.cpp \ 78d77bce185d04c531bd9bf34d38e5cbbe644d3a3Elliott Hughes bionic/time64.c \ 88e613cf342b369f7985135dbe11ebdbf8c736157Dan Albert upstream-openbsd/lib/libc/stdio/putw.c \ 9f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang 10f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# These are shared by all the 32-bit targets, but not the 64-bit ones. 11f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_bionic_src_files_arm := \ 12f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang bionic/mmap.cpp 13f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang 14f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_common_src_files_arm += \ 15f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang bionic/memchr.c \ 16f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang bionic/memrchr.c \ 17f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang bionic/strchr.cpp \ 18f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang bionic/strnlen.c \ 1953e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes bionic/strrchr.cpp \ 20f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang upstream-freebsd/lib/libc/string/wcscat.c \ 21f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang upstream-freebsd/lib/libc/string/wcschr.c \ 22f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang upstream-freebsd/lib/libc/string/wcscmp.c \ 23f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang upstream-freebsd/lib/libc/string/wcscpy.c \ 24f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang upstream-freebsd/lib/libc/string/wcslen.c \ 25f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang upstream-freebsd/lib/libc/string/wcsrchr.c \ 26f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang upstream-freebsd/lib/libc/string/wmemcmp.c \ 276f2bde344123d8503cd60f3ecd3420f39aa24eb9Bernhard Rosenkraenzer upstream-freebsd/lib/libc/string/wmemmove.c \ 2853e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes upstream-openbsd/lib/libc/string/bcopy.c \ 295a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik upstream-openbsd/lib/libc/string/stpcpy.c \ 305a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik upstream-openbsd/lib/libc/string/stpncpy.c \ 3153e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes upstream-openbsd/lib/libc/string/strlcat.c \ 3253e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes upstream-openbsd/lib/libc/string/strlcpy.c \ 3353e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes upstream-openbsd/lib/libc/string/strncat.c \ 3453e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes upstream-openbsd/lib/libc/string/strncmp.c \ 3553e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes upstream-openbsd/lib/libc/string/strncpy.c \ 36f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang 37f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# The C++ fortify function implementations for which there is an 38f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# arm assembler version. 39f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# 40f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# Fortify implementations of libc functions. 41f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# libc_common_src_files_arm += 42f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# bionic/__memcpy_chk.cpp \ 43f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# bionic/__memset_chk.cpp \ 44f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# bionic/__strcpy_chk.cpp \ 45f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# bionic/__strcat_chk.cpp \ 46f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang 47b8dc9bbd905f762bae9845274b1053da1c084860Elliott Hugheslibc_common_cflags_arm := -DSOFTFLOAT 48f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang 49f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang########################################## 50f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang### CPU specific source files 51f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_bionic_src_files_arm += \ 5204954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/abort_arm.S \ 5304954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/atomics_arm.c \ 5436d6188f8cd8b948fb797f11d9620d63d0c2215aElliott Hughes arch-arm/bionic/__bionic_clone.S \ 5504954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/_exit_with_stack_teardown.S \ 5604954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/libgcc_compat.c \ 5704954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/memcmp.S \ 5804954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/_setjmp.S \ 5904954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/setjmp.S \ 6004954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/sigsetjmp.S \ 6104954a43b362b8c817cc5859513efad0c344f412Christopher Ferris arch-arm/bionic/syscall.S \ 6204954a43b362b8c817cc5859513efad0c344f412Christopher Ferris 636e39ba73bfd9504762e8798fd6b293f11d5fdf7eElliott Hugheslibc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c 646e39ba73bfd9504762e8798fd6b293f11d5fdf7eElliott Hugheslibc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c 6504954a43b362b8c817cc5859513efad0c344f412Christopher Ferris 66c82c0b7e072491da4818e7de37411fbb2055fce1Dan Albertlibc_netbsd_src_files_arm := \ 67c82c0b7e072491da4818e7de37411fbb2055fce1Dan Albert upstream-netbsd/common/lib/libc/hash/sha1/sha1.c \ 68c82c0b7e072491da4818e7de37411fbb2055fce1Dan Albert 69f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang## CPU variant specific source files 70f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wangifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),) 71f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang $(warning TARGET_$(my_2nd_arch_prefix)ARCH is arm, but TARGET_$(my_2nd_arch_prefix)CPU_VARIANT is not defined) 72f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wangendif 73f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wangcpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk 74f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wangifeq ($(wildcard $(cpu_variant_mk)),) 755b5d6e7045dece4e112553e9a2516240ea32f812Shu Zhang$(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.") 76f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wangendif 77f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanginclude $(cpu_variant_mk) 78f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_common_additional_dependencies += $(cpu_variant_mk) 7959a13c122ebc4191583b67c846a95d690dcda5cfChristopher Ferris 80f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wangcpu_variant_mk := 8159a13c122ebc4191583b67c846a95d690dcda5cfChristopher Ferris 826e39ba73bfd9504762e8798fd6b293f11d5fdf7eElliott Hughes 83f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_cflags_arm := \ 84f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang -I$(LOCAL_PATH)/arch-arm/include \ 85f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang -mthumb-interwork 86f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang 87f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_so_cflags_arm := 88f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang 89f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_crtbegin_file_arm := \ 90f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang $(LOCAL_PATH)/arch-common/bionic/crtbegin.c 9104954a43b362b8c817cc5859513efad0c344f412Christopher Ferris 92f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_crtbegin_so_file_arm := \ 93f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c 94