1f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# mips specific configs
2f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
3f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# These are shared by all the 32-bit targets, but not the 64-bit ones.
4f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_common_src_files_mips := \
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_mips += \
12f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang     bionic/mmap.cpp
13f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
14f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_common_src_files_mips += \
15f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/memchr.c \
16f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/memcmp.c \
17f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/memmove.c \
18f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/memrchr.c \
19f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/strchr.cpp \
20f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/strnlen.c \
2153e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    bionic/strrchr.cpp \
22f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    upstream-freebsd/lib/libc/string/wcscat.c \
23f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    upstream-freebsd/lib/libc/string/wcschr.c \
24f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    upstream-freebsd/lib/libc/string/wcscmp.c \
25f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    upstream-freebsd/lib/libc/string/wcscpy.c \
26f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    upstream-freebsd/lib/libc/string/wcslen.c \
27f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    upstream-freebsd/lib/libc/string/wcsrchr.c \
28f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    upstream-freebsd/lib/libc/string/wmemcmp.c \
296f2bde344123d8503cd60f3ecd3420f39aa24eb9Bernhard Rosenkraenzer    upstream-freebsd/lib/libc/string/wmemmove.c \
3053e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/bcopy.c \
315a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik    upstream-openbsd/lib/libc/string/stpcpy.c \
325a92284167ffba6d45210ef6889fa7d255c15d4fVarvara Rainchik    upstream-openbsd/lib/libc/string/stpncpy.c \
3353e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/strcat.c \
3453e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/strcmp.c \
3553e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/strcpy.c \
3653e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/strlcat.c \
3753e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/strlcpy.c \
3853e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/strncat.c \
3953e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/strncmp.c \
4053e43292aac91bf62995788cd5ca2ceb7caea283Elliott Hughes    upstream-openbsd/lib/libc/string/strncpy.c \
41f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
42f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang# Fortify implementations of libc functions.
43f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_common_src_files_mips += \
44f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/__memcpy_chk.cpp \
45f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/__memset_chk.cpp \
46f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/__strcpy_chk.cpp \
47f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    bionic/__strcat_chk.cpp \
48f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
49f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
50f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang##########################################
51f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang### CPU specific source files
52f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_bionic_src_files_mips += \
5336d6188f8cd8b948fb797f11d9620d63d0c2215aElliott Hughes    arch-mips/bionic/__bionic_clone.S \
547c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/bionic/bzero.S \
5514b467e840f8735e050b1844731c7747a7130525Elliott Hughes    arch-mips/bionic/cacheflush.cpp \
56bf425680e484486803bf21e4c4cd1e3f36614a3cElliott Hughes    arch-mips/bionic/_exit_with_stack_teardown.S \
57bf425680e484486803bf21e4c4cd1e3f36614a3cElliott Hughes    arch-mips/bionic/_setjmp.S \
587c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/bionic/setjmp.S \
597c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/bionic/sigsetjmp.S \
60effaa7824da1af4db5cef50c78079d4c4e1717a7Chris Dearman    arch-mips/bionic/syscall.S \
615386a741e77bfff4e72ca6861fdd3fe2208452ceDan Albert    arch-mips/bionic/vfork.S \
62cd54195262ac5531fff892255849925ebbbd303eDuane Sand
63cd54195262ac5531fff892255849925ebbbd303eDuane Sandifndef ARCH_MIPS_REV6
64cd54195262ac5531fff892255849925ebbbd303eDuane Sandlibc_bionic_src_files_mips += \
657c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/string/memcpy.S \
66bf425680e484486803bf21e4c4cd1e3f36614a3cElliott Hughes    arch-mips/string/memset.S \
677c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/string/mips_strlen.c \
68f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
69cd54195262ac5531fff892255849925ebbbd303eDuane Sandelse
70cd54195262ac5531fff892255849925ebbbd303eDuane Sandlibc_bionic_src_files_mips += \
71cd54195262ac5531fff892255849925ebbbd303eDuane Sand    bionic/memcpy.cpp \
72cd54195262ac5531fff892255849925ebbbd303eDuane Sand    bionic/memset.c
73cd54195262ac5531fff892255849925ebbbd303eDuane Sandlibc_common_src_files_mips += \
74cd54195262ac5531fff892255849925ebbbd303eDuane Sand    upstream-openbsd/lib/libc/string/strlen.c
75cd54195262ac5531fff892255849925ebbbd303eDuane Sandendif
76cd54195262ac5531fff892255849925ebbbd303eDuane Sand
77c82c0b7e072491da4818e7de37411fbb2055fce1Dan Albertlibc_netbsd_src_files_mips := \
78c82c0b7e072491da4818e7de37411fbb2055fce1Dan Albert    upstream-netbsd/common/lib/libc/hash/sha1/sha1.c \
79f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
80f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_cflags_mips := \
81f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    $($(my_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS) \
82f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    -I$(LOCAL_PATH)/arch-mips/include
83f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
84f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_crtbegin_file_mips := \
85f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    $(LOCAL_PATH)/arch-mips/bionic/crtbegin.c
86f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
87f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_crtbegin_so_file_mips := \
88f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
89f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
90f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_so_cflags_mips := \
91f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    -fPIC
925d7775c6dfa8f9b2ae313c9493525d54a2d04b38Duane Sand
935d7775c6dfa8f9b2ae313c9493525d54a2d04b38Duane Sandlibc_crt_target_ldflags_mips := \
945d7775c6dfa8f9b2ae313c9493525d54a2d04b38Duane Sand    -melf32ltsmip
95