]> git.ipfire.org Git - thirdparty/glibc.git/blame - stdlib/Makefile
Implement C23 <stdbit.h>
[thirdparty/glibc.git] / stdlib / Makefile
CommitLineData
dff8da6b 1# Copyright (C) 1991-2024 Free Software Foundation, Inc.
28f540f4
RM
2# This file is part of the GNU C Library.
3
4# The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
5# modify it under the terms of the GNU Lesser General Public
6# License as published by the Free Software Foundation; either
7# version 2.1 of the License, or (at your option) any later version.
28f540f4
RM
8
9# The GNU C Library is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 12# Lesser General Public License for more details.
28f540f4 13
41bdb6e2 14# You should have received a copy of the GNU Lesser General Public
59ba27a6 15# License along with the GNU C Library; if not, see
5a82c748 16# <https://www.gnu.org/licenses/>.
28f540f4
RM
17
18#
19# Makefile for stdlib routines
20#
21subdir := stdlib
22
a5f891ac
JM
23include ../Makeconfig
24
d275970a
AZ
25headers := \
26 alloca.h \
27 bits/errno.h \
28 bits/indirect-return.h \
29 bits/monetary-ldbl.h \
30 bits/stdint-intn.h \
b34b46b8 31 bits/stdint-least.h \
d275970a
AZ
32 bits/stdint-uintn.h \
33 bits/stdlib-bsearch.h \
34 bits/stdlib-float.h \
d275970a 35 bits/stdlib-ldbl.h \
91f33a30 36 bits/stdlib.h \
d275970a
AZ
37 bits/time64.h \
38 bits/timesize.h \
39 bits/types/error_t.h \
40 bits/wordsize.h \
41 errno.h \
42 fmtmsg.h \
43 inttypes.h \
44 monetary.h \
b34b46b8 45 stdbit.h \
d275970a
AZ
46 stdint.h \
47 stdlib.h \
48 sys/errno.h \
49 sys/random.h \
50 sys/ucontext.h \
51 ucontext.h \
52 # headers
53
54routines := \
55 a64l \
56 abort \
57 abs \
6f4e0fcf
AZN
58 arc4random \
59 arc4random_uniform \
d275970a
AZ
60 at_quick_exit \
61 atof \
62 atoi \
63 atol\
91f33a30 64 atoll \
d275970a
AZ
65 bsearch \
66 canonicalize \
67 cxa_at_quick_exit \
68 cxa_atexit \
69 cxa_finalize \
70 cxa_thread_atexit_impl \
71 div \
72 drand48 \
73 drand48-iter \
74 drand48_r \
75 erand48 \
76 erand48_r \
77 exit \
78 fmtmsg \
79 getcontext \
80 getentropy \
81 getenv \
82 getrandom \
83 getsubopt \
84 jrand48 \
85 jrand48_r \
86 l64a \
87 labs \
88 lcong48 \
89 lcong48_r \
90 ldiv \
91 llabs \
92 lldiv \
93 lrand48 \
94 lrand48_r \
95 makecontext \
96 mblen \
97 mbstowcs \
98 mbtowc \
99 mrand48 \
100 mrand48_r \
d275970a
AZ
101 nrand48 \
102 nrand48_r \
103 old_atexit \
104 on_exit atexit \
105 putenv \
106 qsort \
107 quick_exit \
108 rand \
109 rand_r \
110 random \
111 random_r \
112 rpmatch \
113 secure-getenv \
114 seed48 \
115 seed48_r \
116 setcontext \
117 setenv \
118 srand48 \
119 srand48_r \
b34b46b8
JM
120 stdc_bit_ceil_uc \
121 stdc_bit_ceil_ui \
122 stdc_bit_ceil_ul \
123 stdc_bit_ceil_ull \
124 stdc_bit_ceil_us \
125 stdc_bit_floor_uc \
126 stdc_bit_floor_ui \
127 stdc_bit_floor_ul \
128 stdc_bit_floor_ull \
129 stdc_bit_floor_us \
130 stdc_bit_width_uc \
131 stdc_bit_width_ui \
132 stdc_bit_width_ul \
133 stdc_bit_width_ull \
134 stdc_bit_width_us \
135 stdc_count_ones_uc \
136 stdc_count_ones_ui \
137 stdc_count_ones_ul \
138 stdc_count_ones_ull \
139 stdc_count_ones_us \
140 stdc_count_zeros_uc \
141 stdc_count_zeros_ui \
142 stdc_count_zeros_ul \
143 stdc_count_zeros_ull \
144 stdc_count_zeros_us \
145 stdc_first_leading_one_uc \
146 stdc_first_leading_one_ui \
147 stdc_first_leading_one_ul \
148 stdc_first_leading_one_ull \
149 stdc_first_leading_one_us \
150 stdc_first_leading_zero_uc \
151 stdc_first_leading_zero_ui \
152 stdc_first_leading_zero_ul \
153 stdc_first_leading_zero_ull \
154 stdc_first_leading_zero_us \
155 stdc_first_trailing_one_uc \
156 stdc_first_trailing_one_ui \
157 stdc_first_trailing_one_ul \
158 stdc_first_trailing_one_ull \
159 stdc_first_trailing_one_us \
160 stdc_first_trailing_zero_uc \
161 stdc_first_trailing_zero_ui \
162 stdc_first_trailing_zero_ul \
163 stdc_first_trailing_zero_ull \
164 stdc_first_trailing_zero_us \
165 stdc_has_single_bit_uc \
166 stdc_has_single_bit_ui \
167 stdc_has_single_bit_ul \
168 stdc_has_single_bit_ull \
169 stdc_has_single_bit_us \
170 stdc_leading_ones_uc \
171 stdc_leading_ones_ui \
172 stdc_leading_ones_ul \
173 stdc_leading_ones_ull \
174 stdc_leading_ones_us \
175 stdc_leading_zeros_uc \
176 stdc_leading_zeros_ui \
177 stdc_leading_zeros_ul \
178 stdc_leading_zeros_ull \
179 stdc_leading_zeros_us \
180 stdc_trailing_ones_uc \
181 stdc_trailing_ones_ui \
182 stdc_trailing_ones_ul \
183 stdc_trailing_ones_ull \
184 stdc_trailing_ones_us \
185 stdc_trailing_zeros_uc \
186 stdc_trailing_zeros_ui \
187 stdc_trailing_zeros_ul \
188 stdc_trailing_zeros_ull \
189 stdc_trailing_zeros_us \
d275970a
AZ
190 strfmon \
191 strfmon_l \
192 strfromd \
193 strfromf \
194 strfroml \
195 strtod \
196 strtod_l \
197 strtod_nan \
198 strtof \
199 strtof_l \
200 strtof_nan \
201 strtol \
202 strtol_l \
203 strtold \
204 strtold_l \
205 strtold_nan \
206 strtoll \
207 strtoll_l \
208 strtoul \
209 strtoul_l \
210 strtoull \
211 strtoull_l \
212 swapcontext \
213 system \
214 wcstombs \
215 wctomb \
216 xpg_basename \
217 # routines
218
20c894d2
FB
219# Exclude fortified routines from being built with _FORTIFY_SOURCE
220routines_no_fortify += \
221 mbstowcs \
222 wcstombs \
223 wctomb \
224 # routines_no_fortify
225
d275970a
AZ
226aux = \
227 grouping \
228 groupingwc \
229 tens_in_limb \
230 # aux
28f540f4 231
c08bc50a
UD
232# These routines will be omitted from the libc shared object.
233# Instead the static object files will be included in a special archive
234# linked against when the shared library will be used.
d275970a 235static-only-routines = \
d275970a 236 at_quick_exit \
91f33a30 237 atexit \
d275970a
AZ
238 # static-only-routines
239
240test-srcs := \
241 tst-fmtmsg \
242 #test-srcs
c08bc50a 243
f9dab1b5
SP
244tests := \
245 bug-fmtmsg1 \
246 bug-getcontext \
247 bug-strtod \
248 bug-strtod2 \
249 test-a64l \
250 test-at_quick_exit-race \
251 test-atexit-race \
fd78cfa7 252 test-atexit-recursive \
f9dab1b5
SP
253 test-bz22786 \
254 test-canon \
255 test-canon2 \
256 test-cxa_atexit-race \
257 test-cxa_atexit-race2 \
258 test-dlclose-exit-race \
259 test-on_exit-race \
260 testdiv \
261 testmb \
262 testmb2 \
263 testrand \
264 testsort \
0d21b378 265 tst-abs \
8dd890d9
AZN
266 tst-arc4random-fork \
267 tst-arc4random-stats \
268 tst-arc4random-thread \
f9dab1b5
SP
269 tst-at_quick_exit \
270 tst-atexit \
271 tst-atof1 \
272 tst-atof2 \
273 tst-bsearch \
274 tst-bz20544 \
275 tst-canon-bz26341 \
276 tst-cxa_atexit \
277 tst-environ \
278 tst-getrandom \
b11db301 279 tst-labs \
f9dab1b5 280 tst-limits \
d877b52d 281 tst-llabs \
f9dab1b5
SP
282 tst-makecontext \
283 tst-makecontext-align \
284 tst-makecontext2 \
285 tst-makecontext3 \
286 tst-on_exit \
287 tst-qsort \
288 tst-qsort2 \
bc888a39 289 tst-qsort3 \
64e4acf2 290 tst-qsort5 \
b9390ba9 291 tst-qsort6 \
f9dab1b5
SP
292 tst-quick_exit \
293 tst-rand48 \
294 tst-rand48-2 \
295 tst-random \
296 tst-random2 \
297 tst-realpath \
ee8d5e33 298 tst-realpath-toolong \
f9dab1b5
SP
299 tst-secure-getenv \
300 tst-setcontext \
301 tst-setcontext2 \
302 tst-setcontext3 \
303 tst-setcontext4 \
304 tst-setcontext5 \
305 tst-setcontext6 \
306 tst-setcontext7 \
307 tst-setcontext8 \
308 tst-setcontext9 \
08bc191f 309 tst-setcontext10 \
49b4de21 310 tst-setcontext11 \
b34b46b8
JM
311 tst-stdbit-Wconversion \
312 tst-stdc_bit_ceil \
313 tst-stdc_bit_floor \
314 tst-stdc_bit_width \
315 tst-stdc_count_ones \
316 tst-stdc_count_zeros \
317 tst-stdc_first_leading_one \
318 tst-stdc_first_leading_zero \
319 tst-stdc_first_trailing_one \
320 tst-stdc_first_trailing_zero \
321 tst-stdc_has_single_bit \
322 tst-stdc_leading_ones \
323 tst-stdc_leading_zeros \
324 tst-stdc_trailing_ones \
325 tst-stdc_trailing_zeros \
f9dab1b5
SP
326 tst-strfmon_l \
327 tst-strfrom \
328 tst-strfrom-locale \
329 tst-strtod \
330 tst-strtod-nan-locale \
331 tst-strtod-nan-sign \
332 tst-strtod-overflow \
333 tst-strtod-round \
334 tst-strtod-underflow \
335 tst-strtod2 \
336 tst-strtod5 \
337 tst-strtod6 \
338 tst-strtol \
64924422
JM
339 tst-strtol-binary-c11 \
340 tst-strtol-binary-c2x \
341 tst-strtol-binary-gnu11 \
342 tst-strtol-binary-gnu2x \
f9dab1b5
SP
343 tst-strtol-locale \
344 tst-strtoll \
345 tst-swapcontext1 \
8d8ae5ee 346 tst-swapcontext2 \
f9dab1b5
SP
347 tst-thread-quick_exit \
348 tst-tininess \
349 tst-unsetenv1 \
350 tst-width \
351 tst-width-stdint \
352 tst-xpg-basename \
d275970a
AZ
353 # tests
354
355tests-internal := \
55364e1f 356 tst-qsort4 \
d275970a
AZ
357 tst-strtod1i \
358 tst-strtod3 \
359 tst-strtod4 \
360 tst-strtod5i \
361 tst-tls-atexit \
362 tst-tls-atexit-nodelete \
363 # tests-internal
5f3b183d 364
d275970a
AZ
365tests-static := \
366 tst-secure-getenv \
367 # tests-static
368
369tests-container := \
370 tst-system \
371 #tests-container
7c3018f9 372
41389c40 373ifeq ($(build-hardcoded-path-in-tests),yes)
d275970a
AZ
374tests += \
375 tst-empty-env \
376 # tests
41389c40 377endif
7c3018f9 378
26e70aec
PP
379LDLIBS-test-atexit-race = $(shared-thread-library)
380LDLIBS-test-at_quick_exit-race = $(shared-thread-library)
381LDLIBS-test-cxa_atexit-race = $(shared-thread-library)
16adc58e 382LDLIBS-test-cxa_atexit-race2 = $(shared-thread-library)
26e70aec 383LDLIBS-test-on_exit-race = $(shared-thread-library)
961d7cff 384LDLIBS-tst-canon-bz26341 = $(shared-thread-library)
8dd890d9
AZN
385LDLIBS-tst-arc4random-fork = $(shared-thread-library)
386LDLIBS-tst-arc4random-thread = $(shared-thread-library)
d0309464 387LDLIBS-tst-system = $(shared-thread-library)
26e70aec 388
6f1c7010 389LDLIBS-test-dlclose-exit-race = $(shared-thread-library)
e5e4d7cc
PP
390LDFLAGS-test-dlclose-exit-race = $(LDFLAGS-rdynamic)
391LDLIBS-test-dlclose-exit-race-helper.so = $(libsupport) $(shared-thread-library)
392
0d21b378 393CFLAGS-tst-abs.c += -fno-builtin
b11db301 394CFLAGS-tst-labs.c += -fno-builtin
d877b52d 395CFLAGS-tst-llabs.c += -fno-builtin
0d21b378 396
b34b46b8
JM
397CFLAGS-tst-stdbit-Wconversion.c += -Wconversion -Werror
398CFLAGS-tst-stdc_trailing_zeros.c += -fno-builtin
399CFLAGS-tst-stdc_trailing_ones.c += -fno-builtin
400CFLAGS-tst-stdc_leading_zeros.c += -fno-builtin
401CFLAGS-tst-stdc_leading_ones.c += -fno-builtin
402CFLAGS-tst-stdc_has_single_bit.c += -fno-builtin
403CFLAGS-tst-stdc_first_trailing_zero.c += -fno-builtin
404CFLAGS-tst-stdc_first_trailing_one.c += -fno-builtin
405CFLAGS-tst-stdc_first_leading_zero.c += -fno-builtin
406CFLAGS-tst-stdc_first_leading_one.c += -fno-builtin
407CFLAGS-tst-stdc_count_zeros.c += -fno-builtin
408CFLAGS-tst-stdc_count_ones.c += -fno-builtin
409CFLAGS-tst-stdc_bit_width.c += -fno-builtin
410CFLAGS-tst-stdc_bit_floor.c += -fno-builtin
411CFLAGS-tst-stdc_bit_ceil.c += -fno-builtin
412
47dd3543
CD
413ifeq ($(have-cxx-thread_local),yes)
414CFLAGS-tst-quick_exit.o = -std=c++11
415LDLIBS-tst-quick_exit = -lstdc++
416CFLAGS-tst-thread-quick_exit.o = -std=c++11
417LDLIBS-tst-thread-quick_exit = -lstdc++
418$(objpfx)tst-thread-quick_exit: $(shared-thread-library)
419else
d275970a
AZ
420tests-unsupported += \
421 tst-quick_exit \
422 tst-thread-quick_exit \
423 # tests-unsupported
47dd3543 424endif
28f540f4 425
d275970a
AZ
426modules-names = \
427 test-dlclose-exit-race-helper \
428 tst-tls-atexit-lib \
429 # modules-names
b4bcb3ae 430extra-test-objs += $(addsuffix .os, $(modules-names))
ba384f6e 431
574b268e 432ifeq ($(build-shared),yes)
d275970a
AZ
433tests += \
434 tst-putenv \
435 # tests
574b268e 436endif
3ef21326
RM
437
438# Several mpn functions from GNU MP are used by the strtod function.
d275970a
AZ
439mpn-routines := \
440 add_n \
441 addmul_1 \
442 cmp \
443 divmod_1 \
444 divrem \
445 inlines \
446 lshift \
447 mod_1 \
448 mul \
449 mul_1 \
450 mul_n \
451 rshift \
452 sub_n \
453 submul_1 \
454 udiv_qrnnd \
455 # mpn-routines
456mpn-headers = \
457 asm-syntax.h \
458 gmp-impl.h \
459 gmp-mparam.h \
460 gmp.h \
461 longlong.h \
462 # mpn-headers
3ef21326 463
d275970a
AZ
464routines := \
465 $(strip $(routines) $(mpn-routines)) \
466 dbl2mpn \
467 ldbl2mpn \
468 mpn2dbl \
469 mpn2flt \
470 mpn2ldbl \
471 # routines
472aux += \
473 fpioconst \
474 mp_clz_tab \
475 # aux
574b268e 476
d275970a
AZ
477tests-extras += \
478 tst-putenvmod \
479 # tests-extras
dd06af4f 480
d275970a
AZ
481extra-test-objs += \
482 tst-putenvmod.os \
483 # extra-test-objs
3ef21326 484
d275970a
AZ
485generated += \
486 isomac \
487 isomac.out \
488 tst-putenvmod.so \
489 # generated
3ef21326 490
36975e8e 491CFLAGS-bsearch.c += $(uses-callbacks)
36975e8e
L
492CFLAGS-qsort.c += $(uses-callbacks)
493CFLAGS-system.c += -fexceptions
6bbc689e 494CFLAGS-system.os = -fomit-frame-pointer
36975e8e 495CFLAGS-fmtmsg.c += -fexceptions
dff14448 496
36975e8e
L
497CFLAGS-strfmon.c += $(libio-mtsafe)
498CFLAGS-strfmon_l.c += $(libio-mtsafe)
917e27b8 499
6962682f
GG
500# The strfrom class of functions call __printf_fp in order to convert the
501# floating-point value to characters. This requires the value of IO_MTSAFE_IO.
36975e8e
L
502CFLAGS-strfromd.c += $(libio-mtsafe)
503CFLAGS-strfromf.c += $(libio-mtsafe)
504CFLAGS-strfroml.c += $(libio-mtsafe)
6962682f 505
8d98c7c0
AZ
506CFLAGS-strtol.c += $(config-cflags-wno-ignored-attributes)
507CFLAGS-strtoul.c += $(config-cflags-wno-ignored-attributes)
508CFLAGS-strtoll.c += $(config-cflags-wno-ignored-attributes)
509CFLAGS-strtoull.c += $(config-cflags-wno-ignored-attributes)
510CFLAGS-strtof.c += $(config-cflags-wno-ignored-attributes)
511CFLAGS-strtof_l.c += $(config-cflags-wno-ignored-attributes)
512CFLAGS-strtod.c += $(config-cflags-wno-ignored-attributes)
513CFLAGS-strtod_l.c += $(config-cflags-wno-ignored-attributes)
514CFLAGS-strtold.c += $(config-cflags-wno-ignored-attributes)
515CFLAGS-strtold_l.c += $(config-cflags-wno-ignored-attributes)
516CFLAGS-secure-getenv.c += $(config-cflags-wno-ignored-attributes)
517
36975e8e
L
518CFLAGS-tst-bsearch.c += $(stack-align-test-flags)
519CFLAGS-tst-qsort.c += $(stack-align-test-flags)
e535ce25 520CFLAGS-tst-makecontext.c += -funwind-tables
36975e8e 521CFLAGS-tst-makecontext2.c += $(stack-align-test-flags)
a4db3439 522
35bcb08e 523CFLAGS-testmb.c += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Werror
464d189b 524
64924422
JM
525# Some versions of GCC supported for building glibc do not support -std=c2x
526# or -std=gnu2x, so the tests for those versions use -std=c11 and -std=gnu11
527# and then _ISOC2X_SOURCE is defined in the test as needed.
528CFLAGS-tst-strtol-binary-c11.c += -std=c11
529CFLAGS-tst-strtol-binary-c2x.c += -std=c11
530CFLAGS-tst-strtol-binary-gnu11.c += -std=gnu11
531CFLAGS-tst-strtol-binary-gnu2x.c += -std=gnu11
532
464d189b 533
f214606a
JM
534# Run a test on the header files we use.
535tests-special += $(objpfx)isomac.out
536
537ifeq ($(run-built-tests),yes)
538tests-special += $(objpfx)tst-fmtmsg.out
539endif
540
28f540f4 541include ../Rules
3ef21326 542
f881f6ff 543ifeq ($(run-built-tests),yes)
d275970a
AZ
544LOCALES := \
545 cs_CZ.UTF-8 \
546 de_DE.UTF-8 \
547 el_GR.UTF-8 \
548 en_US.ISO-8859-1 \
549 hi_IN.UTF-8 \
550 hr_HR.UTF-8 \
551 tg_TJ.UTF-8 \
552 tr_TR.ISO-8859-9 \
553 tr_TR.UTF-8 \
554 # LOCALES
f881f6ff
AS
555include ../gen-locales.mk
556
557$(objpfx)bug-strtod2.out: $(gen-locales)
558$(objpfx)testmb2.out: $(gen-locales)
559$(objpfx)tst-strtod.out: $(gen-locales)
e4890300 560$(objpfx)tst-strtod1i.out: $(gen-locales)
f881f6ff
AS
561$(objpfx)tst-strtod3.out: $(gen-locales)
562$(objpfx)tst-strtod4.out: $(gen-locales)
563$(objpfx)tst-strtod5.out: $(gen-locales)
e4890300 564$(objpfx)tst-strtod5i.out: $(gen-locales)
f5eee5c7 565$(objpfx)tst-strtol-locale.out: $(gen-locales)
a7f0c5ae 566$(objpfx)tst-strtod-nan-locale.out: $(gen-locales)
985fc132 567$(objpfx)tst-strfmon_l.out: $(gen-locales)
cd74aa4d
RS
568$(objpfx)tst-strfrom.out: $(gen-locales)
569$(objpfx)tst-strfrom-locale.out: $(gen-locales)
e5e4d7cc 570$(objpfx)test-dlclose-exit-race.out: $(objpfx)test-dlclose-exit-race-helper.so
f881f6ff
AS
571endif
572
e25054c4 573# Testdir has to be named stdlib and needs to be writable
9f835f5f 574test-canon-ARGS = --test-dir=${common-objpfx}stdlib
e25054c4 575
400aa020 576bug-fmtmsg1-ENV = SEV_LEVEL=foo,11,newsev
98d3e993 577
ca41028b 578$(objpfx)isomac.out: $(objpfx)isomac
7eff7a05 579 $(dir $<)$(notdir $<) '$(CC)' \
d5afb385 580 '-I../include $(+sysdep-includes) $(sysincludes) -I..' > $@; \
f0881698 581 $(evaluate-test)
1eb687d0 582
e69924e3 583isomac-CFLAGS = -O
1eb687d0
UD
584$(objpfx)isomac: isomac.c
585 $(native-compile)
9f6c1fc4
UD
586
587$(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
8540f6d2
JM
588 $(SHELL) $< $(common-objpfx) '$(test-program-prefix-before-env)' \
589 '$(run-program-env)' '$(test-program-prefix-after-env)' \
8f8052c2 590 $(common-objpfx)stdlib/; \
f0881698 591 $(evaluate-test)
574b268e
UD
592
593$(objpfx)tst-putenv: $(objpfx)tst-putenvmod.so
8b196ac4 594LDFLAGS-tst-putenv = -Wl,--no-as-needed
574b268e 595
fab7ce3f 596$(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod.os $(link-libc-deps)
574b268e 597 $(build-module)
9cd47470 598libof-tst-putenvmod = extramodules
75ea32ab 599
79520f4b 600$(objpfx)bug-getcontext: $(libm)
45f39d45 601$(objpfx)bug-strtod2: $(libm)
79520f4b
JM
602$(objpfx)tst-strtod-round: $(libm)
603$(objpfx)tst-tininess: $(libm)
604$(objpfx)tst-strtod-underflow: $(libm)
605$(objpfx)tst-strtod6: $(libm)
a7f0c5ae 606$(objpfx)tst-strtod-nan-locale: $(libm)
b12c1e79 607$(objpfx)tst-strtod-nan-sign: $(libm)
ba384f6e
SP
608
609tst-tls-atexit-lib.so-no-z-defs = yes
e5e4d7cc 610test-dlclose-exit-race-helper.so-no-z-defs = yes
ba384f6e 611
6f1c7010 612$(objpfx)tst-tls-atexit: $(shared-thread-library)
ba384f6e 613$(objpfx)tst-tls-atexit.out: $(objpfx)tst-tls-atexit-lib.so
c92d40c0 614
6f1c7010 615$(objpfx)tst-tls-atexit-nodelete: $(shared-thread-library)
90b37cac
SP
616$(objpfx)tst-tls-atexit-nodelete.out: $(objpfx)tst-tls-atexit-lib.so
617
c92d40c0
CD
618$(objpfx)tst-setcontext3.out: tst-setcontext3.sh $(objpfx)tst-setcontext3
619 $(SHELL) $< $(common-objpfx) '$(test-program-prefix-before-env)' \
620 '$(run-program-env)' '$(test-program-prefix-after-env)' \
8f8052c2 621 $(common-objpfx)stdlib/; \
c92d40c0 622 $(evaluate-test)
64e4acf2
FW
623
624$(objpfx)tst-qsort5: $(libm)