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