]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/x86_64/Makefile
Fix dynamic linker issue with bind-now
[thirdparty/glibc.git] / sysdeps / x86_64 / Makefile
1 # The i387 `long double' is a distinct type we support.
2 long-double-fcts = yes
3
4 ifeq ($(subdir),csu)
5 gen-as-const-headers += link-defines.sym
6 endif
7
8 ifeq ($(subdir),gmon)
9 sysdep_routines += _mcount
10 endif
11
12 ifeq ($(subdir),malloc)
13 tests += tst-mallocalign1
14 endif
15
16 ifeq ($(subdir),string)
17 sysdep_routines += cacheinfo strcasecmp_l-nonascii strncase_l-nonascii
18 gen-as-const-headers += locale-defines.sym
19 endif
20
21 ifeq ($(subdir),elf)
22 sysdep-dl-routines += tlsdesc dl-tlsdesc
23
24 tests += tst-quad1 tst-quad2
25 modules-names += tst-quadmod1 tst-quadmod2
26
27 $(objpfx)tst-quad1: $(objpfx)tst-quadmod1.so
28 $(objpfx)tst-quad2: $(objpfx)tst-quadmod2.so
29
30 quad-pie-test += tst-quad1pie tst-quad2pie
31 tests += $(quad-pie-test)
32 tests-pie += $(quad-pie-test)
33
34 $(objpfx)tst-quad1pie: $(objpfx)tst-quadmod1pie.o
35 $(objpfx)tst-quad2pie: $(objpfx)tst-quadmod2pie.o
36
37 tests += tst-audit3 tst-audit4 tst-audit5 tst-audit10
38 ifeq (yes,$(config-cflags-avx))
39 tests += tst-audit6 tst-audit7
40 endif
41
42 tests += tst-split-dynreloc
43 LDFLAGS-tst-split-dynreloc = -Wl,-T,$(..)sysdeps/x86_64/tst-split-dynreloc.lds
44 tst-split-dynreloc-ENV = LD_BIND_NOW=1
45
46 modules-names += tst-auditmod3a tst-auditmod3b \
47 tst-auditmod4a tst-auditmod4b \
48 tst-auditmod5a tst-auditmod5b \
49 tst-auditmod6a tst-auditmod6b tst-auditmod6c \
50 tst-auditmod7a tst-auditmod7b \
51 tst-auditmod10a tst-auditmod10b
52
53 $(objpfx)tst-audit3: $(objpfx)tst-auditmod3a.so
54 $(objpfx)tst-audit3.out: $(objpfx)tst-auditmod3b.so
55 tst-audit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod3b.so
56
57 $(objpfx)tst-audit4: $(objpfx)tst-auditmod4a.so
58 $(objpfx)tst-audit4.out: $(objpfx)tst-auditmod4b.so
59 tst-audit4-ENV = LD_AUDIT=$(objpfx)tst-auditmod4b.so
60
61 $(objpfx)tst-audit5: $(objpfx)tst-auditmod5a.so
62 $(objpfx)tst-audit5.out: $(objpfx)tst-auditmod5b.so
63 tst-audit5-ENV = LD_AUDIT=$(objpfx)tst-auditmod5b.so
64
65 $(objpfx)tst-audit6: $(objpfx)tst-auditmod6a.so
66 $(objpfx)tst-audit6.out: $(objpfx)tst-auditmod6b.so \
67 $(objpfx)tst-auditmod6c.so
68 tst-audit6-ENV = LD_AUDIT=$(objpfx)tst-auditmod6b.so:$(objpfx)tst-auditmod6c.so
69
70 $(objpfx)tst-audit7: $(objpfx)tst-auditmod7a.so
71 $(objpfx)tst-audit7.out: $(objpfx)tst-auditmod7b.so
72 tst-audit7-ENV = LD_AUDIT=$(objpfx)tst-auditmod7b.so
73
74 $(objpfx)tst-audit10: $(objpfx)tst-auditmod10a.so
75 $(objpfx)tst-audit10.out: $(objpfx)tst-auditmod10b.so
76 tst-audit10-ENV = LD_AUDIT=$(objpfx)tst-auditmod10b.so
77
78 ifeq (yes,$(config-cflags-avx))
79 AVX-CFLAGS=-mavx
80 ifeq (yes,$(config-cflags-novzeroupper))
81 AVX-CFLAGS+=-mno-vzeroupper
82 endif
83 CFLAGS-tst-audit4.c += $(AVX-CFLAGS)
84 CFLAGS-tst-auditmod4a.c += $(AVX-CFLAGS)
85 CFLAGS-tst-auditmod4b.c += $(AVX-CFLAGS)
86 CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
87 CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
88 CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
89 endif
90 ifeq (yes,$(config-cflags-avx512))
91 AVX512-CFLAGS = -mavx512f
92 CFLAGS-tst-audit10.c += $(AVX512-CFLAGS)
93 CFLAGS-tst-auditmod10a.c += $(AVX512-CFLAGS)
94 CFLAGS-tst-auditmod10b.c += $(AVX512-CFLAGS)
95 endif
96 endif
97
98 ifeq ($(subdir),csu)
99 gen-as-const-headers += tlsdesc.sym
100 endif