]>
Commit | Line | Data |
---|---|---|
c9cf6dde AJ |
1 | # The i387 `long double' is a distinct type we support. |
2 | long-double-fcts = yes | |
3 | ||
4 | ifeq ($(subdir),csu) | |
b0ecde3a | 5 | gen-as-const-headers += link-defines.sym |
c9cf6dde | 6 | endif |
6dbdc56c AJ |
7 | |
8 | ifeq ($(subdir),gmon) | |
9 | sysdep_routines += _mcount | |
97f71127 L |
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. | |
87a07a43 | 13 | sysdep_noprof += _mcount |
6dbdc56c | 14 | endif |
bfe6f5fa UD |
15 | |
16 | ifeq ($(subdir),string) | |
c69f960b NG |
17 | sysdep_routines += \ |
18 | strcasecmp_l-nonascii \ | |
19 | strcspn-generic \ | |
20 | strncase_l-nonascii \ | |
21 | strpbrk-generic \ | |
22 | strspn-generic \ | |
23 | varshift \ | |
24 | # sysdep_routines | |
42e08a54 | 25 | gen-as-const-headers += locale-defines.sym |
a6e7c374 L |
26 | tests += \ |
27 | tst-rsi-strlen | |
bfe6f5fa | 28 | endif |
c9ff0187 UD |
29 | |
30 | ifeq ($(subdir),elf) | |
38d22f9f L |
31 | # There is no good reason to use MMX in x86-64 ld.so with GCC. |
32 | CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\ | |
33 | -mno-mmx) | |
34 | ||
031e519c | 35 | sysdep-dl-routines += tlsdesc dl-tlsdesc tls_get_addr |
16d2ea4c | 36 | |
f3dcae82 L |
37 | tests += ifuncmain8 |
38 | modules-names += ifuncmod8 | |
39 | ||
40 | $(objpfx)ifuncmain8: $(objpfx)ifuncmod8.so | |
41 | ||
df8a552f L |
42 | tests += tst-quad1 tst-quad2 |
43 | modules-names += tst-quadmod1 tst-quadmod2 | |
44 | ||
45 | $(objpfx)tst-quad1: $(objpfx)tst-quadmod1.so | |
46 | $(objpfx)tst-quad2: $(objpfx)tst-quadmod2.so | |
47 | ||
48 | quad-pie-test += tst-quad1pie tst-quad2pie | |
49 | tests += $(quad-pie-test) | |
50 | tests-pie += $(quad-pie-test) | |
b4bcb3ae AS |
51 | test-extras += tst-quadmod1pie tst-quadmod2pie |
52 | extra-test-objs += tst-quadmod1pie.o tst-quadmod2pie.o | |
df8a552f L |
53 | |
54 | $(objpfx)tst-quad1pie: $(objpfx)tst-quadmod1pie.o | |
55 | $(objpfx)tst-quad2pie: $(objpfx)tst-quadmod2pie.o | |
73709b26 | 56 | |
fcd94237 NA |
57 | CFLAGS-tst-quad1pie.c = $(PIE-ccflag) |
58 | CFLAGS-tst-quad2pie.c = $(PIE-ccflag) | |
59 | ||
45ff3463 L |
60 | tests += tst-x86_64-1 |
61 | modules-names += x86_64/tst-x86_64mod-1 | |
1fe00d3e | 62 | extra-test-objs += tst-x86_64mod-1.o |
45ff3463 | 63 | LDFLAGS-tst-x86_64mod-1.so = -Wl,-soname,tst-x86_64mod-1.so |
b52b0d79 L |
64 | ifneq (no,$(have-tunables)) |
65 | # Test the state size for XSAVE when XSAVEC is disabled. | |
107e6a3c | 66 | tst-x86_64-1-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC |
b52b0d79 | 67 | endif |
45ff3463 L |
68 | |
69 | $(objpfx)tst-x86_64-1: $(objpfx)x86_64/tst-x86_64mod-1.so | |
70 | ||
4d916f0f L |
71 | ifneq (no,$(have-tunables)) |
72 | tests += tst-platform-1 | |
73 | modules-names += tst-platformmod-1 x86_64/tst-platformmod-2 | |
1fe00d3e | 74 | extra-test-objs += tst-platformmod-2.o |
4d916f0f L |
75 | CFLAGS-tst-platform-1.c = -mno-avx |
76 | CFLAGS-tst-platformmod-1.c = -mno-avx | |
77 | CFLAGS-tst-platformmod-2.c = -mno-avx | |
78 | LDFLAGS-tst-platformmod-2.so = -Wl,-soname,tst-platformmod-2.so | |
79 | $(objpfx)tst-platform-1: $(objpfx)tst-platformmod-1.so | |
80 | $(objpfx)tst-platform-1.out: $(objpfx)x86_64/tst-platformmod-2.so | |
107e6a3c | 81 | # Turn off AVX512F and AVX2 so that GLRO(dl_platform) is |
4d916f0f L |
82 | # always set to x86_64. |
83 | tst-platform-1-ENV = LD_PRELOAD=$(objpfx)\$$PLATFORM/tst-platformmod-2.so \ | |
107e6a3c | 84 | GLIBC_TUNABLES=glibc.cpu.hwcaps=-AVX512F,-AVX2 |
4d916f0f L |
85 | endif |
86 | ||
3403a17f L |
87 | tests += tst-audit3 tst-audit4 tst-audit5 tst-audit6 tst-audit7 \ |
88 | tst-audit10 tst-sse tst-avx tst-avx512 | |
89 | test-extras += tst-audit4-aux tst-audit10-aux \ | |
90 | tst-avx-aux tst-avx512-aux | |
91 | extra-test-objs += tst-audit4-aux.o tst-audit10-aux.o \ | |
92 | tst-avx-aux.o tst-avx512-aux.o | |
fa19d5c4 | 93 | |
19f1a11e | 94 | ifeq ($(have-insert),yes) |
fa19d5c4 PJ |
95 | tests += tst-split-dynreloc |
96 | LDFLAGS-tst-split-dynreloc = -Wl,-T,$(..)sysdeps/x86_64/tst-split-dynreloc.lds | |
97 | tst-split-dynreloc-ENV = LD_BIND_NOW=1 | |
19f1a11e | 98 | endif |
fa19d5c4 | 99 | |
73709b26 JM |
100 | modules-names += tst-auditmod3a tst-auditmod3b \ |
101 | tst-auditmod4a tst-auditmod4b \ | |
102 | tst-auditmod5a tst-auditmod5b \ | |
103 | tst-auditmod6a tst-auditmod6b tst-auditmod6c \ | |
2d63a517 | 104 | tst-auditmod7a tst-auditmod7b \ |
3403a17f L |
105 | tst-auditmod10a tst-auditmod10b \ |
106 | tst-ssemod tst-avxmod tst-avx512mod | |
73709b26 JM |
107 | |
108 | $(objpfx)tst-audit3: $(objpfx)tst-auditmod3a.so | |
109 | $(objpfx)tst-audit3.out: $(objpfx)tst-auditmod3b.so | |
110 | tst-audit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod3b.so | |
111 | ||
3c0f7407 | 112 | $(objpfx)tst-audit4: $(objpfx)tst-audit4-aux.o $(objpfx)tst-auditmod4a.so |
73709b26 JM |
113 | $(objpfx)tst-audit4.out: $(objpfx)tst-auditmod4b.so |
114 | tst-audit4-ENV = LD_AUDIT=$(objpfx)tst-auditmod4b.so | |
115 | ||
116 | $(objpfx)tst-audit5: $(objpfx)tst-auditmod5a.so | |
117 | $(objpfx)tst-audit5.out: $(objpfx)tst-auditmod5b.so | |
118 | tst-audit5-ENV = LD_AUDIT=$(objpfx)tst-auditmod5b.so | |
119 | ||
120 | $(objpfx)tst-audit6: $(objpfx)tst-auditmod6a.so | |
121 | $(objpfx)tst-audit6.out: $(objpfx)tst-auditmod6b.so \ | |
122 | $(objpfx)tst-auditmod6c.so | |
123 | tst-audit6-ENV = LD_AUDIT=$(objpfx)tst-auditmod6b.so:$(objpfx)tst-auditmod6c.so | |
124 | ||
125 | $(objpfx)tst-audit7: $(objpfx)tst-auditmod7a.so | |
126 | $(objpfx)tst-audit7.out: $(objpfx)tst-auditmod7b.so | |
127 | tst-audit7-ENV = LD_AUDIT=$(objpfx)tst-auditmod7b.so | |
128 | ||
3c0f7407 | 129 | $(objpfx)tst-audit10: $(objpfx)tst-audit10-aux.o $(objpfx)tst-auditmod10a.so |
2d63a517 IZ |
130 | $(objpfx)tst-audit10.out: $(objpfx)tst-auditmod10b.so |
131 | tst-audit10-ENV = LD_AUDIT=$(objpfx)tst-auditmod10b.so | |
132 | ||
3403a17f L |
133 | $(objpfx)tst-sse: $(objpfx)tst-ssemod.so |
134 | $(objpfx)tst-avx: $(objpfx)tst-avx-aux.o $(objpfx)tst-avxmod.so | |
135 | $(objpfx)tst-avx512: $(objpfx)tst-avx512-aux.o $(objpfx)tst-avx512mod.so | |
136 | ||
ae5d8eae | 137 | AVX-CFLAGS=-mavx -mno-vzeroupper |
3c0f7407 | 138 | CFLAGS-tst-audit4-aux.c += $(AVX-CFLAGS) |
73709b26 JM |
139 | CFLAGS-tst-auditmod4a.c += $(AVX-CFLAGS) |
140 | CFLAGS-tst-auditmod4b.c += $(AVX-CFLAGS) | |
141 | CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS) | |
142 | CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS) | |
143 | CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS) | |
3403a17f L |
144 | CFLAGS-tst-avx-aux.c += $(AVX-CFLAGS) |
145 | CFLAGS-tst-avxmod.c += $(AVX-CFLAGS) | |
2d63a517 | 146 | AVX512-CFLAGS = -mavx512f |
3c0f7407 | 147 | CFLAGS-tst-audit10-aux.c += $(AVX512-CFLAGS) |
2d63a517 IZ |
148 | CFLAGS-tst-auditmod10a.c += $(AVX512-CFLAGS) |
149 | CFLAGS-tst-auditmod10b.c += $(AVX512-CFLAGS) | |
3403a17f L |
150 | CFLAGS-tst-avx512-aux.c += $(AVX512-CFLAGS) |
151 | CFLAGS-tst-avx512mod.c += $(AVX512-CFLAGS) | |
f267e1c9 FW |
152 | |
153 | $(objpfx)tst-glibc-hwcaps: $(objpfx)libmarkermod2-1.so \ | |
154 | $(objpfx)libmarkermod3-1.so $(objpfx)libmarkermod4-1.so | |
155 | $(objpfx)tst-glibc-hwcaps.out: \ | |
156 | $(objpfx)libmarkermod2.so \ | |
157 | $(objpfx)glibc-hwcaps/x86-64-v2/libmarkermod2.so \ | |
158 | $(objpfx)libmarkermod3.so \ | |
159 | $(objpfx)glibc-hwcaps/x86-64-v2/libmarkermod3.so \ | |
160 | $(objpfx)glibc-hwcaps/x86-64-v3/libmarkermod3.so \ | |
161 | $(objpfx)libmarkermod4.so \ | |
162 | $(objpfx)glibc-hwcaps/x86-64-v2/libmarkermod4.so \ | |
163 | $(objpfx)glibc-hwcaps/x86-64-v3/libmarkermod4.so \ | |
164 | $(objpfx)glibc-hwcaps/x86-64-v4/libmarkermod4.so \ | |
165 | ||
166 | $(objpfx)glibc-hwcaps/x86-64-v2/libmarkermod2.so: $(objpfx)libmarkermod2-2.so | |
167 | $(make-target-directory) | |
168 | cp $< $@ | |
169 | $(objpfx)glibc-hwcaps/x86-64-v2/libmarkermod3.so: $(objpfx)libmarkermod3-2.so | |
170 | $(make-target-directory) | |
171 | cp $< $@ | |
172 | $(objpfx)glibc-hwcaps/x86-64-v3/libmarkermod3.so: $(objpfx)libmarkermod3-3.so | |
173 | $(make-target-directory) | |
174 | cp $< $@ | |
175 | $(objpfx)glibc-hwcaps/x86-64-v2/libmarkermod4.so: $(objpfx)libmarkermod4-2.so | |
176 | $(make-target-directory) | |
177 | cp $< $@ | |
178 | $(objpfx)glibc-hwcaps/x86-64-v3/libmarkermod4.so: $(objpfx)libmarkermod4-3.so | |
179 | $(make-target-directory) | |
180 | cp $< $@ | |
181 | $(objpfx)glibc-hwcaps/x86-64-v4/libmarkermod4.so: $(objpfx)libmarkermod4-4.so | |
182 | $(make-target-directory) | |
183 | cp $< $@ | |
184 | ||
185 | ifeq (no,$(build-hardcoded-path-in-tests)) | |
186 | # This is an ld.so.cache test, and RPATH/RUNPATH in the executable | |
187 | # interferes with its test objectives. | |
188 | tests-container += tst-glibc-hwcaps-cache | |
c9ff0187 UD |
189 | endif |
190 | ||
b1ec623e L |
191 | tests-internal += tst-x86-64-tls-1 |
192 | ||
f267e1c9 FW |
193 | endif # $(subdir) == elf |
194 | ||
c9ff0187 | 195 | ifeq ($(subdir),csu) |
031e519c | 196 | gen-as-const-headers += tlsdesc.sym rtld-offsets.sym |
c9ff0187 | 197 | endif |
45ff3463 | 198 | |
a6e7c374 | 199 | ifeq ($(subdir),wcsmbs) |
ceabdcd1 NG |
200 | |
201 | sysdep_routines += \ | |
202 | wcsncmp-generic \ | |
203 | wcsnlen-generic \ | |
204 | # sysdep_routines | |
205 | ||
a6e7c374 L |
206 | tests += \ |
207 | tst-rsi-wcslen | |
208 | endif | |
209 | ||
45ff3463 L |
210 | $(objpfx)x86_64/tst-x86_64mod-1.os: $(objpfx)tst-x86_64mod-1.os |
211 | $(make-target-directory) | |
212 | rm -f $@ | |
213 | ln $< $@ | |
214 | ||
215 | do-tests-clean common-mostlyclean: tst-x86_64-1-clean | |
216 | ||
217 | .PHONY: tst-x86_64-1-clean | |
218 | tst-x86_64-1-clean: | |
219 | -rm -rf $(objpfx)x86_64 | |
4d916f0f L |
220 | |
221 | $(objpfx)x86_64/tst-platformmod-2.os: $(objpfx)tst-platformmod-2.os | |
222 | $(make-target-directory) | |
223 | rm -f $@ | |
224 | ln $< $@ |