1# 64-bit x86.
2
3#
4# Default implementations of functions that are commonly optimized.
5#
6
7libc_bionic_src_files_x86_64 += \
8    bionic/__memcpy_chk.cpp \
9    bionic/__memset_chk.cpp \
10    bionic/__strcpy_chk.cpp \
11    bionic/__strcat_chk.cpp \
12    bionic/memchr.c \
13    bionic/memrchr.c \
14    bionic/strchr.cpp \
15    bionic/strnlen.c \
16    bionic/strrchr.cpp \
17
18libc_freebsd_src_files_x86_64 += \
19    upstream-freebsd/lib/libc/string/wcscat.c \
20    upstream-freebsd/lib/libc/string/wcschr.c \
21    upstream-freebsd/lib/libc/string/wcscmp.c \
22    upstream-freebsd/lib/libc/string/wcscpy.c \
23    upstream-freebsd/lib/libc/string/wcslen.c \
24    upstream-freebsd/lib/libc/string/wcsrchr.c \
25    upstream-freebsd/lib/libc/string/wmemcmp.c \
26    upstream-freebsd/lib/libc/string/wmemmove.c \
27
28libc_openbsd_src_files_x86_64 += \
29    upstream-openbsd/lib/libc/string/strlcat.c \
30    upstream-openbsd/lib/libc/string/strlcpy.c \
31
32#
33# Inherently architecture-specific code.
34#
35
36libc_bionic_src_files_x86_64 += \
37    arch-x86_64/bionic/__bionic_clone.S \
38    arch-x86_64/bionic/_exit_with_stack_teardown.S \
39    arch-x86_64/bionic/__restore_rt.S \
40    arch-x86_64/bionic/_setjmp.S \
41    arch-x86_64/bionic/setjmp.S \
42    arch-x86_64/bionic/__set_tls.c \
43    arch-x86_64/bionic/sigsetjmp.S \
44    arch-x86_64/bionic/syscall.S \
45    arch-x86_64/bionic/vfork.S \
46
47#
48# Optimized memory/string functions.
49#
50
51libc_bionic_src_files_x86_64 += \
52    arch-x86_64/string/sse2-memcpy-slm.S \
53    arch-x86_64/string/sse2-memmove-slm.S \
54    arch-x86_64/string/sse2-memset-slm.S \
55    arch-x86_64/string/sse2-stpcpy-slm.S \
56    arch-x86_64/string/sse2-stpncpy-slm.S \
57    arch-x86_64/string/sse2-strcat-slm.S \
58    arch-x86_64/string/sse2-strcpy-slm.S \
59    arch-x86_64/string/sse2-strlen-slm.S \
60    arch-x86_64/string/sse2-strncat-slm.S \
61    arch-x86_64/string/sse2-strncpy-slm.S \
62    arch-x86_64/string/sse4-memcmp-slm.S \
63    arch-x86_64/string/ssse3-strcmp-slm.S \
64    arch-x86_64/string/ssse3-strncmp-slm.S \
65
66libc_crt_target_cflags_x86_64 += \
67    -m64 \
68    -I$(LOCAL_PATH)/arch-x86_64/include \
69
70libc_crt_target_ldflags_x86_64 := -melf_x86_64 \
71
72libc_crt_target_crtbegin_file_x86_64 := \
73    $(LOCAL_PATH)/arch-common/bionic/crtbegin.c \
74
75libc_crt_target_crtbegin_so_file_x86_64 := \
76    $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c \
77
78libc_crt_target_so_cflags_x86_64 := \
79    -fPIC \
80