mips.mk revision 5d7775c6dfa8f9b2ae313c9493525d54a2d04b38
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 Wangifneq ($(ARCH_MIPS_HAS_FPU),true)
51f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_common_cflags_mips := \
52f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    -DSOFTFLOAT
53f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wangendif
54f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
55f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang##########################################
56f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang### CPU specific source files
57f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_bionic_src_files_mips += \
5836d6188f8cd8b948fb797f11d9620d63d0c2215aElliott Hughes    arch-mips/bionic/__bionic_clone.S \
597c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/bionic/bzero.S \
6014b467e840f8735e050b1844731c7747a7130525Elliott Hughes    arch-mips/bionic/cacheflush.cpp \
61bf425680e484486803bf21e4c4cd1e3f36614a3cElliott Hughes    arch-mips/bionic/_exit_with_stack_teardown.S \
62bf425680e484486803bf21e4c4cd1e3f36614a3cElliott Hughes    arch-mips/bionic/__get_sp.S \
63bf425680e484486803bf21e4c4cd1e3f36614a3cElliott Hughes    arch-mips/bionic/_setjmp.S \
647c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/bionic/setjmp.S \
657c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/bionic/sigsetjmp.S \
66effaa7824da1af4db5cef50c78079d4c4e1717a7Chris Dearman    arch-mips/bionic/syscall.S \
677c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/string/memcpy.S \
68bf425680e484486803bf21e4c4cd1e3f36614a3cElliott Hughes    arch-mips/string/memset.S \
697c83a1ed81a15f3e75836c1ac7d500a952f02e10Christopher Ferris    arch-mips/string/mips_strlen.c \
70f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
71c82c0b7e072491da4818e7de37411fbb2055fce1Dan Albertlibc_netbsd_src_files_mips := \
72c82c0b7e072491da4818e7de37411fbb2055fce1Dan Albert    upstream-netbsd/common/lib/libc/hash/sha1/sha1.c \
73f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
74f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_cflags_mips := \
75f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    $($(my_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS) \
76f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    -I$(LOCAL_PATH)/arch-mips/include
77f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
78f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_crtbegin_file_mips := \
79f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    $(LOCAL_PATH)/arch-mips/bionic/crtbegin.c
80f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
81f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_crtbegin_so_file_mips := \
82f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
83f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang
84f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wanglibc_crt_target_so_cflags_mips := \
85f25d677147ae55a1f3b6ef7fa3ee27921792813fYing Wang    -fPIC
865d7775c6dfa8f9b2ae313c9493525d54a2d04b38Duane Sand
875d7775c6dfa8f9b2ae313c9493525d54a2d04b38Duane Sandlibc_crt_target_ldflags_mips := \
885d7775c6dfa8f9b2ae313c9493525d54a2d04b38Duane Sand    -melf32ltsmip
89