Fix build failure on tilepro due to unsupported atomics
[glibc.git] / sysdeps / x86_64 / Makefile
blob1514805f4a6402e2c77b7ca3396a74b10bafb361
1 # The i387 `long double' is a distinct type we support.
2 long-double-fcts = yes
4 ifeq ($(subdir),csu)
5 gen-as-const-headers += link-defines.sym
6 endif
8 ifeq ($(subdir),gmon)
9 sysdep_routines += _mcount
10 # We cannot compile _mcount.S with -pg because that would create
11 # recursive calls when ENTRY is used. Just copy the normal static
12 # object.
13 sysdep_noprof += _mcount
14 endif
16 ifeq ($(subdir),malloc)
17 tests += tst-mallocalign1
18 endif
20 ifeq ($(subdir),string)
21 sysdep_routines += cacheinfo strcasecmp_l-nonascii strncase_l-nonascii
22 gen-as-const-headers += locale-defines.sym
23 endif
25 ifeq ($(subdir),elf)
26 # There is no good reason to use MMX in x86-64 ld.so with GCC.
27 CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
28 -mno-mmx)
30 sysdep-dl-routines += tlsdesc dl-tlsdesc tls_get_addr
32 tests += ifuncmain8
33 modules-names += ifuncmod8
35 $(objpfx)ifuncmain8: $(objpfx)ifuncmod8.so
37 tests += tst-quad1 tst-quad2
38 modules-names += tst-quadmod1 tst-quadmod2
40 $(objpfx)tst-quad1: $(objpfx)tst-quadmod1.so
41 $(objpfx)tst-quad2: $(objpfx)tst-quadmod2.so
43 quad-pie-test += tst-quad1pie tst-quad2pie
44 tests += $(quad-pie-test)
45 tests-pie += $(quad-pie-test)
46 test-extras += tst-quadmod1pie tst-quadmod2pie
47 extra-test-objs += tst-quadmod1pie.o tst-quadmod2pie.o
49 $(objpfx)tst-quad1pie: $(objpfx)tst-quadmod1pie.o
50 $(objpfx)tst-quad2pie: $(objpfx)tst-quadmod2pie.o
52 CFLAGS-tst-quad1pie.c = $(PIE-ccflag)
53 CFLAGS-tst-quad2pie.c = $(PIE-ccflag)
55 tests += tst-x86_64-1
56 modules-names += x86_64/tst-x86_64mod-1
57 LDFLAGS-tst-x86_64mod-1.so = -Wl,-soname,tst-x86_64mod-1.so
59 $(objpfx)tst-x86_64-1: $(objpfx)x86_64/tst-x86_64mod-1.so
61 tests += tst-audit3 tst-audit4 tst-audit5 tst-audit6 tst-audit7 \
62 tst-audit10 tst-sse tst-avx tst-avx512
63 test-extras += tst-audit4-aux tst-audit10-aux \
64 tst-avx-aux tst-avx512-aux
65 extra-test-objs += tst-audit4-aux.o tst-audit10-aux.o \
66 tst-avx-aux.o tst-avx512-aux.o
68 ifeq ($(have-insert),yes)
69 tests += tst-split-dynreloc
70 LDFLAGS-tst-split-dynreloc = -Wl,-T,$(..)sysdeps/x86_64/tst-split-dynreloc.lds
71 tst-split-dynreloc-ENV = LD_BIND_NOW=1
72 endif
74 modules-names += tst-auditmod3a tst-auditmod3b \
75 tst-auditmod4a tst-auditmod4b \
76 tst-auditmod5a tst-auditmod5b \
77 tst-auditmod6a tst-auditmod6b tst-auditmod6c \
78 tst-auditmod7a tst-auditmod7b \
79 tst-auditmod10a tst-auditmod10b \
80 tst-ssemod tst-avxmod tst-avx512mod
82 $(objpfx)tst-audit3: $(objpfx)tst-auditmod3a.so
83 $(objpfx)tst-audit3.out: $(objpfx)tst-auditmod3b.so
84 tst-audit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod3b.so
86 $(objpfx)tst-audit4: $(objpfx)tst-audit4-aux.o $(objpfx)tst-auditmod4a.so
87 $(objpfx)tst-audit4.out: $(objpfx)tst-auditmod4b.so
88 tst-audit4-ENV = LD_AUDIT=$(objpfx)tst-auditmod4b.so
90 $(objpfx)tst-audit5: $(objpfx)tst-auditmod5a.so
91 $(objpfx)tst-audit5.out: $(objpfx)tst-auditmod5b.so
92 tst-audit5-ENV = LD_AUDIT=$(objpfx)tst-auditmod5b.so
94 $(objpfx)tst-audit6: $(objpfx)tst-auditmod6a.so
95 $(objpfx)tst-audit6.out: $(objpfx)tst-auditmod6b.so \
96 $(objpfx)tst-auditmod6c.so
97 tst-audit6-ENV = LD_AUDIT=$(objpfx)tst-auditmod6b.so:$(objpfx)tst-auditmod6c.so
99 $(objpfx)tst-audit7: $(objpfx)tst-auditmod7a.so
100 $(objpfx)tst-audit7.out: $(objpfx)tst-auditmod7b.so
101 tst-audit7-ENV = LD_AUDIT=$(objpfx)tst-auditmod7b.so
103 $(objpfx)tst-audit10: $(objpfx)tst-audit10-aux.o $(objpfx)tst-auditmod10a.so
104 $(objpfx)tst-audit10.out: $(objpfx)tst-auditmod10b.so
105 tst-audit10-ENV = LD_AUDIT=$(objpfx)tst-auditmod10b.so
107 $(objpfx)tst-sse: $(objpfx)tst-ssemod.so
108 $(objpfx)tst-avx: $(objpfx)tst-avx-aux.o $(objpfx)tst-avxmod.so
109 $(objpfx)tst-avx512: $(objpfx)tst-avx512-aux.o $(objpfx)tst-avx512mod.so
111 AVX-CFLAGS=-mavx -mno-vzeroupper
112 CFLAGS-tst-audit4-aux.c += $(AVX-CFLAGS)
113 CFLAGS-tst-auditmod4a.c += $(AVX-CFLAGS)
114 CFLAGS-tst-auditmod4b.c += $(AVX-CFLAGS)
115 CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
116 CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
117 CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
118 CFLAGS-tst-avx-aux.c += $(AVX-CFLAGS)
119 CFLAGS-tst-avxmod.c += $(AVX-CFLAGS)
120 ifeq (yes,$(config-cflags-avx512))
121 AVX512-CFLAGS = -mavx512f
122 CFLAGS-tst-audit10-aux.c += $(AVX512-CFLAGS)
123 CFLAGS-tst-auditmod10a.c += $(AVX512-CFLAGS)
124 CFLAGS-tst-auditmod10b.c += $(AVX512-CFLAGS)
125 CFLAGS-tst-avx512-aux.c += $(AVX512-CFLAGS)
126 CFLAGS-tst-avx512mod.c += $(AVX512-CFLAGS)
127 endif
128 endif
130 ifeq ($(subdir),csu)
131 gen-as-const-headers += tlsdesc.sym rtld-offsets.sym
132 endif
134 $(objpfx)x86_64/tst-x86_64mod-1.os: $(objpfx)tst-x86_64mod-1.os
135 $(make-target-directory)
136 rm -f $@
137 ln $< $@
139 do-tests-clean common-mostlyclean: tst-x86_64-1-clean
141 .PHONY: tst-x86_64-1-clean
142 tst-x86_64-1-clean:
143 -rm -rf $(objpfx)x86_64