blob: a39fcf2e2fdb31d4338fa276c9699932cc83dd9d [file] [log] [blame]
Ying Wangf25d6772014-01-23 15:17:50 -08001# x86 specific configs
2
3# These are shared by all the 32-bit targets, but not the 64-bit ones.
4libc_common_src_files_x86 := \
5 bionic/legacy_32_bit_support.cpp \
6 bionic/ndk_cruft.cpp \
7
8# Fortify implementations of libc functions.
9libc_common_src_files_x86 += \
10 bionic/__memcpy_chk.cpp \
11 bionic/__memset_chk.cpp \
12 bionic/__strcpy_chk.cpp \
13 bionic/__strcat_chk.cpp \
14
15
16# These are shared by all the 32-bit targets, but not the 64-bit ones.
17libc_bionic_src_files_x86 := \
18 bionic/mmap.cpp
19
20##########################################
21### CPU specific source files
22libc_bionic_src_files_x86 += \
Elliott Hughes36d61882013-11-19 13:31:58 -080023 arch-x86/bionic/__bionic_clone.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080024 arch-x86/bionic/_exit_with_stack_teardown.S \
25 arch-x86/bionic/futex_x86.S \
26 arch-x86/bionic/__get_sp.S \
Christopher Ferris04954a42013-02-26 01:30:00 -080027 arch-x86/bionic/_setjmp.S \
28 arch-x86/bionic/setjmp.S \
29 arch-x86/bionic/__set_tls.c \
30 arch-x86/bionic/sigsetjmp.S \
31 arch-x86/bionic/syscall.S \
32 arch-x86/bionic/vfork.S \
Liubov Dmitrieva0a490662012-01-17 12:55:46 +040033
34ifeq ($(ARCH_X86_HAVE_SSSE3),true)
Ying Wangf25d6772014-01-23 15:17:50 -080035libc_bionic_src_files_x86 += \
36 arch-x86/string/ssse3-memcpy-atom.S \
37 arch-x86/string/ssse3-memmove-atom.S \
38 arch-x86/string/ssse3-bcopy-atom.S \
39 arch-x86/string/ssse3-strncat-atom.S \
40 arch-x86/string/ssse3-strncpy-atom.S \
41 arch-x86/string/ssse3-strlcat-atom.S \
42 arch-x86/string/ssse3-strlcpy-atom.S \
43 arch-x86/string/ssse3-strcmp-atom.S \
44 arch-x86/string/ssse3-strncmp-atom.S \
45 arch-x86/string/ssse3-strcat-atom.S \
46 arch-x86/string/ssse3-strcpy-atom.S \
47 arch-x86/string/ssse3-memcmp-atom.S \
48 arch-x86/string/ssse3-wmemcmp-atom.S \
49 arch-x86/string/ssse3-memcmp16-atom.S \
50 arch-x86/string/ssse3-wcscat-atom.S \
51 arch-x86/string/ssse3-wcscpy-atom.S
Liubov Dmitrieva0a490662012-01-17 12:55:46 +040052else
Ying Wangf25d6772014-01-23 15:17:50 -080053libc_bionic_src_files_x86 += \
54 arch-x86/string/memcpy.S \
55 arch-x86/string/memmove.S \
56 arch-x86/string/bcopy.S \
57 arch-x86/string/strcmp.S \
58 arch-x86/string/strncmp.S \
59 arch-x86/string/strcat.S \
60 arch-x86/string/memcmp.S \
61 string/memcmp16.c \
62 string/strcpy.c \
63 string/strncat.c \
64 string/strncpy.c \
65 string/strlcat.c \
66 string/strlcpy.c \
67 upstream-freebsd/lib/libc/string/wcscpy.c \
68 upstream-freebsd/lib/libc/string/wcscat.c \
69 upstream-freebsd/lib/libc/string/wmemcmp.c
Liubov Dmitrieva0a490662012-01-17 12:55:46 +040070endif
71
Ying Wangf25d6772014-01-23 15:17:50 -080072libc_bionic_src_files_x86 += \
73 arch-x86/string/sse2-memset-atom.S \
74 arch-x86/string/sse2-bzero-atom.S \
75 arch-x86/string/sse2-memchr-atom.S \
76 arch-x86/string/sse2-memrchr-atom.S \
77 arch-x86/string/sse2-strchr-atom.S \
78 arch-x86/string/sse2-strrchr-atom.S \
79 arch-x86/string/sse2-index-atom.S \
80 arch-x86/string/sse2-strlen-atom.S \
81 arch-x86/string/sse2-strnlen-atom.S \
82 arch-x86/string/sse2-wcschr-atom.S \
83 arch-x86/string/sse2-wcsrchr-atom.S \
84 arch-x86/string/sse2-wcslen-atom.S \
85 arch-x86/string/sse2-wcscmp-atom.S \
86
87# These are used by the static and dynamic versions of the libc
88# respectively.
89libc_arch_static_src_files_x86 :=
90
91libc_arch_dynamic_src_files_x86 :=
92
93
94##########################################
95# crt-related
96libc_crt_target_cflags_x86 := \
97 -m32 \
98 -I$(LOCAL_PATH)/arch-x86/include
99
100libc_crt_target_ldflags_x86 := -melf_i386
101
102libc_crt_target_crtbegin_file_x86 := \
103 $(LOCAL_PATH)/arch-common/bionic/crtbegin.c
104
105libc_crt_target_crtbegin_so_file_x86 := \
106 $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
107
108libc_crt_target_so_cflags_x86 := \
109 -fPIC