Blame sysdeps/x86_64/Makefile

Packit 6c4009
# The i387 `long double' is a distinct type we support.
Packit 6c4009
long-double-fcts = yes
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),csu)
Packit 6c4009
gen-as-const-headers += link-defines.sym
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),gmon)
Packit 6c4009
sysdep_routines += _mcount
Packit 6c4009
# We cannot compile _mcount.S with -pg because that would create
Packit 6c4009
# recursive calls when ENTRY is used.  Just copy the normal static
Packit 6c4009
# object.
Packit 6c4009
sysdep_noprof += _mcount
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),malloc)
Packit 6c4009
tests += tst-mallocalign1
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),string)
Packit Service 110fef
sysdep_routines += strcasecmp_l-nonascii strncase_l-nonascii
Packit 6c4009
gen-as-const-headers += locale-defines.sym
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),elf)
Packit 6c4009
# There is no good reason to use MMX in x86-64 ld.so with GCC.
Packit 6c4009
CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
Packit 6c4009
		   -mno-mmx)
Packit 6c4009
Packit 6c4009
sysdep-dl-routines += tlsdesc dl-tlsdesc tls_get_addr
Packit 6c4009
Packit 6c4009
tests += ifuncmain8
Packit 6c4009
modules-names += ifuncmod8
Packit 6c4009
Packit 6c4009
$(objpfx)ifuncmain8: $(objpfx)ifuncmod8.so
Packit 6c4009
Packit 6c4009
tests += tst-quad1 tst-quad2
Packit 6c4009
modules-names += tst-quadmod1 tst-quadmod2
Packit 6c4009
Packit 6c4009
$(objpfx)tst-quad1: $(objpfx)tst-quadmod1.so
Packit 6c4009
$(objpfx)tst-quad2: $(objpfx)tst-quadmod2.so
Packit 6c4009
Packit 6c4009
quad-pie-test += tst-quad1pie tst-quad2pie
Packit 6c4009
tests += $(quad-pie-test)
Packit 6c4009
tests-pie += $(quad-pie-test)
Packit 6c4009
test-extras += tst-quadmod1pie tst-quadmod2pie
Packit 6c4009
extra-test-objs += tst-quadmod1pie.o tst-quadmod2pie.o
Packit 6c4009
Packit 6c4009
$(objpfx)tst-quad1pie: $(objpfx)tst-quadmod1pie.o
Packit 6c4009
$(objpfx)tst-quad2pie: $(objpfx)tst-quadmod2pie.o
Packit 6c4009
Packit 6c4009
CFLAGS-tst-quad1pie.c = $(PIE-ccflag)
Packit 6c4009
CFLAGS-tst-quad2pie.c = $(PIE-ccflag)
Packit 6c4009
Packit 6c4009
tests += tst-x86_64-1
Packit 6c4009
modules-names += x86_64/tst-x86_64mod-1
Packit 6c4009
LDFLAGS-tst-x86_64mod-1.so = -Wl,-soname,tst-x86_64mod-1.so
Packit 6c4009
ifneq (no,$(have-tunables))
Packit 6c4009
# Test the state size for XSAVE when XSAVEC is disabled.
Packit Service 9550b6
tst-x86_64-1-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC_Usable
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
$(objpfx)tst-x86_64-1: $(objpfx)x86_64/tst-x86_64mod-1.so
Packit 6c4009
Packit 6c4009
ifneq (no,$(have-tunables))
Packit 6c4009
tests += tst-platform-1
Packit 6c4009
modules-names += tst-platformmod-1 x86_64/tst-platformmod-2
Packit 6c4009
CFLAGS-tst-platform-1.c = -mno-avx
Packit 6c4009
CFLAGS-tst-platformmod-1.c = -mno-avx
Packit 6c4009
CFLAGS-tst-platformmod-2.c = -mno-avx
Packit 6c4009
LDFLAGS-tst-platformmod-2.so = -Wl,-soname,tst-platformmod-2.so
Packit 6c4009
$(objpfx)tst-platform-1: $(objpfx)tst-platformmod-1.so
Packit 6c4009
$(objpfx)tst-platform-1.out: $(objpfx)x86_64/tst-platformmod-2.so
Packit 6c4009
# Turn off AVX512F_Usable and AVX2_Usable so that GLRO(dl_platform) is
Packit 6c4009
# always set to x86_64.
Packit 6c4009
tst-platform-1-ENV = LD_PRELOAD=$(objpfx)\$$PLATFORM/tst-platformmod-2.so \
Packit Service 9550b6
	GLIBC_TUNABLES=glibc.cpu.hwcaps=-AVX512F_Usable,-AVX2_Usable
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
tests += tst-audit3 tst-audit4 tst-audit5 tst-audit6 tst-audit7 \
Packit 6c4009
	 tst-audit10 tst-sse tst-avx tst-avx512
Packit 6c4009
test-extras += tst-audit4-aux tst-audit10-aux \
Packit 6c4009
	       tst-avx-aux tst-avx512-aux
Packit 6c4009
extra-test-objs += tst-audit4-aux.o tst-audit10-aux.o \
Packit 6c4009
		   tst-avx-aux.o tst-avx512-aux.o
Packit 6c4009
Packit 6c4009
ifeq ($(have-insert),yes)
Packit 6c4009
tests += tst-split-dynreloc
Packit 6c4009
LDFLAGS-tst-split-dynreloc = -Wl,-T,$(..)sysdeps/x86_64/tst-split-dynreloc.lds
Packit 6c4009
tst-split-dynreloc-ENV = LD_BIND_NOW=1
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
modules-names += tst-auditmod3a tst-auditmod3b \
Packit 6c4009
		tst-auditmod4a tst-auditmod4b \
Packit 6c4009
		tst-auditmod5a tst-auditmod5b \
Packit 6c4009
		tst-auditmod6a tst-auditmod6b tst-auditmod6c \
Packit 6c4009
		tst-auditmod7a tst-auditmod7b \
Packit 6c4009
		tst-auditmod10a tst-auditmod10b \
Packit 6c4009
		tst-ssemod tst-avxmod tst-avx512mod
Packit 6c4009
Packit 6c4009
$(objpfx)tst-audit3: $(objpfx)tst-auditmod3a.so
Packit 6c4009
$(objpfx)tst-audit3.out: $(objpfx)tst-auditmod3b.so
Packit 6c4009
tst-audit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod3b.so
Packit 6c4009
Packit 6c4009
$(objpfx)tst-audit4: $(objpfx)tst-audit4-aux.o $(objpfx)tst-auditmod4a.so
Packit 6c4009
$(objpfx)tst-audit4.out: $(objpfx)tst-auditmod4b.so
Packit 6c4009
tst-audit4-ENV = LD_AUDIT=$(objpfx)tst-auditmod4b.so
Packit 6c4009
Packit 6c4009
$(objpfx)tst-audit5: $(objpfx)tst-auditmod5a.so
Packit 6c4009
$(objpfx)tst-audit5.out: $(objpfx)tst-auditmod5b.so
Packit 6c4009
tst-audit5-ENV = LD_AUDIT=$(objpfx)tst-auditmod5b.so
Packit 6c4009
Packit 6c4009
$(objpfx)tst-audit6: $(objpfx)tst-auditmod6a.so
Packit 6c4009
$(objpfx)tst-audit6.out: $(objpfx)tst-auditmod6b.so \
Packit 6c4009
			 $(objpfx)tst-auditmod6c.so
Packit 6c4009
tst-audit6-ENV = LD_AUDIT=$(objpfx)tst-auditmod6b.so:$(objpfx)tst-auditmod6c.so
Packit 6c4009
Packit 6c4009
$(objpfx)tst-audit7: $(objpfx)tst-auditmod7a.so
Packit 6c4009
$(objpfx)tst-audit7.out: $(objpfx)tst-auditmod7b.so
Packit 6c4009
tst-audit7-ENV = LD_AUDIT=$(objpfx)tst-auditmod7b.so
Packit 6c4009
Packit 6c4009
$(objpfx)tst-audit10: $(objpfx)tst-audit10-aux.o $(objpfx)tst-auditmod10a.so
Packit 6c4009
$(objpfx)tst-audit10.out: $(objpfx)tst-auditmod10b.so
Packit 6c4009
tst-audit10-ENV = LD_AUDIT=$(objpfx)tst-auditmod10b.so
Packit 6c4009
Packit 6c4009
$(objpfx)tst-sse: $(objpfx)tst-ssemod.so
Packit 6c4009
$(objpfx)tst-avx: $(objpfx)tst-avx-aux.o $(objpfx)tst-avxmod.so
Packit 6c4009
$(objpfx)tst-avx512: $(objpfx)tst-avx512-aux.o $(objpfx)tst-avx512mod.so
Packit 6c4009
Packit 6c4009
AVX-CFLAGS=-mavx -mno-vzeroupper
Packit 6c4009
CFLAGS-tst-audit4-aux.c += $(AVX-CFLAGS)
Packit 6c4009
CFLAGS-tst-auditmod4a.c += $(AVX-CFLAGS)
Packit 6c4009
CFLAGS-tst-auditmod4b.c += $(AVX-CFLAGS)
Packit 6c4009
CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
Packit 6c4009
CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
Packit 6c4009
CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
Packit 6c4009
CFLAGS-tst-avx-aux.c += $(AVX-CFLAGS)
Packit 6c4009
CFLAGS-tst-avxmod.c += $(AVX-CFLAGS)
Packit 6c4009
ifeq (yes,$(config-cflags-avx512))
Packit 6c4009
AVX512-CFLAGS = -mavx512f
Packit 6c4009
CFLAGS-tst-audit10-aux.c += $(AVX512-CFLAGS)
Packit 6c4009
CFLAGS-tst-auditmod10a.c += $(AVX512-CFLAGS)
Packit 6c4009
CFLAGS-tst-auditmod10b.c += $(AVX512-CFLAGS)
Packit 6c4009
CFLAGS-tst-avx512-aux.c += $(AVX512-CFLAGS)
Packit 6c4009
CFLAGS-tst-avx512mod.c += $(AVX512-CFLAGS)
Packit 6c4009
endif
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),csu)
Packit 6c4009
gen-as-const-headers += tlsdesc.sym rtld-offsets.sym
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
$(objpfx)x86_64/tst-x86_64mod-1.os: $(objpfx)tst-x86_64mod-1.os
Packit 6c4009
	$(make-target-directory)
Packit 6c4009
	rm -f $@
Packit 6c4009
	ln $< $@
Packit 6c4009
Packit 6c4009
do-tests-clean common-mostlyclean: tst-x86_64-1-clean
Packit 6c4009
Packit 6c4009
.PHONY: tst-x86_64-1-clean
Packit 6c4009
tst-x86_64-1-clean:
Packit 6c4009
	-rm -rf $(objpfx)x86_64
Packit 6c4009
Packit 6c4009
$(objpfx)x86_64/tst-platformmod-2.os: $(objpfx)tst-platformmod-2.os
Packit 6c4009
	$(make-target-directory)
Packit 6c4009
	rm -f $@
Packit 6c4009
	ln $< $@