summaryrefslogtreecommitdiff
path: root/sysdeps/x86_64/multiarch/Makefile
blob: bdf7964d1457b74ee60522ab509765c7c470cd19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
ifeq ($(subdir),csu)
aux += init-arch
tests += test-multiarch
gen-as-const-headers += ifunc-defines.sym
endif

ifeq ($(subdir),string)

sysdep_routines += strncat-c stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
		   strend-sse4 memcmp-sse4 memcpy-ssse3 memcpy-sse2-unaligned mempcpy-ssse3 \
		   memmove-ssse3 memcpy-ssse3-back mempcpy-ssse3-back \
		   memmove-ssse3-back strcasestr-nonascii strcasecmp_l-ssse3 \
		   strncase_l-ssse3 strcat-ssse3 strncat-ssse3\
		   strcpy-ssse3 strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3 \
		   strcpy-sse2-unaligned strncpy-sse2-unaligned \
		   stpcpy-sse2-unaligned stpncpy-sse2-unaligned \
		   strcat-sse2-unaligned strncat-sse2-unaligned \
		   strrchr-sse2-no-bsf strchr-sse2-no-bsf memcmp-ssse3
ifeq (yes,$(config-cflags-sse4))
sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c varshift
CFLAGS-varshift.c += -msse4
CFLAGS-strcspn-c.c += -msse4
CFLAGS-strpbrk-c.c += -msse4
CFLAGS-strspn-c.c += -msse4
CFLAGS-strstr.c += -msse4
CFLAGS-strcasestr.c += -msse4
CFLAGS-strcasestr-nonascii.c += -msse4
endif

ifeq ($(enable-mpx), yes)
sysdep_routines += memcpy-ssse3-back-1 mempcpy-ssse3-back-1 memmove-ssse3-back-1 \
						 memcpy-c memmove-c mempcpy-c memcpy_chk-c mempcpy_chk-c memmove_chk-c
#These are C versions written with intrinsics. We need to add checks as intrinsics manually
CFLAGS-varshift.c +=  -fno-chkp-check-read -fno-chkp-check-write
CFLAGS-strcspn-c.c += -fno-chkp-check-read -fno-chkp-check-write
CFLAGS-strpbrk-c.c += -fno-chkp-check-read -fno-chkp-check-write
CFLAGS-strspn-c.c +=  -fno-chkp-check-read -fno-chkp-check-write
CFLAGS-strstr.c +=    -fno-chkp-check-read -fno-chkp-check-write
CFLAGS-strcasestr.c += -fno-chkp-check-read -fno-chkp-check-write
CFLAGS-strcasestr-nonascii.c += -fno-chkp-check-read -fno-chkp-check-write
#Checks are put manually for these routines.
CFLAGS-memcpy-c.c += -fno-chkp-check-read -fno-chkp-check-write
CFLAGS-mempcpy-c.c += -fno-chkp-check-read -fno-chkp-check-write
CFLAGS-memmove-c.c += -fno-chkp-check-read -fno-chkp-check-write
endif

ifeq ($(enable-mpx-write-only), yes)
CFLAGS-memcpy-c.c += -D__CHKWR__
CFLAGS-memmove-c.c += -D__CHKWR__
endif

endif

ifeq ($(subdir),wcsmbs)
sysdep_routines += wmemcmp-sse4 wmemcmp-ssse3 wmemcmp-c wcscpy-ssse3 wcscpy-c
endif