1ifeq ($(subdir),misc)
2sysdep_routines += ioperm iopl
3endif
4
5ifeq ($(subdir),stdlib)
6sysdep_routines += __start_context
7endif
8
9ifeq ($(subdir),csu)
10gen-as-const-headers += ucontext_i.sym
11endif
12
13ifeq ($(subdir),misc)
14gen-as-const-headers += sigaltstack-offsets.sym
15endif
16
17ifeq ($(subdir),elf)
18ifeq (yes,$(enable-x86-isa-level))
19tests += \
20  tst-glibc-hwcaps-2
21ifeq (no,$(build-hardcoded-path-in-tests))
22# This is an ld.so.cache test, and RPATH/RUNPATH in the executable
23# interferes with its test objectives.
24tests-container += \
25  tst-glibc-hwcaps-2-cache
26endif
27modules-names += \
28  libx86-64-isa-level-1 \
29  libx86-64-isa-level-2 \
30  libx86-64-isa-level-3 \
31  libx86-64-isa-level-4
32
33$(objpfx)tst-glibc-hwcaps-2: $(objpfx)libx86-64-isa-level.so
34
35$(objpfx)tst-glibc-hwcaps-2.out: \
36  $(objpfx)glibc-hwcaps/x86-64-v2/libx86-64-isa-level.so \
37  $(objpfx)glibc-hwcaps/x86-64-v4/libx86-64-isa-level.so \
38  $(objpfx)glibc-hwcaps/x86-64-v3/libx86-64-isa-level.so
39$(objpfx)glibc-hwcaps/x86-64-v2/libx86-64-isa-level.so: \
40  $(objpfx)libx86-64-isa-level-2.so
41	$(make-target-directory)
42	cp $< $@
43$(objpfx)glibc-hwcaps/x86-64-v3/libx86-64-isa-level.so: \
44  $(objpfx)libx86-64-isa-level-3.so
45	$(make-target-directory)
46	cp $< $@
47$(objpfx)glibc-hwcaps/x86-64-v4/libx86-64-isa-level.so: \
48  $(objpfx)libx86-64-isa-level-4.so
49	$(make-target-directory)
50	cp $< $@
51
52CFLAGS-libx86-64-isa-level-1.os += -march=x86-64
53CFLAGS-libx86-64-isa-level-2.os += -march=x86-64
54CFLAGS-libx86-64-isa-level-3.os += -march=x86-64
55CFLAGS-libx86-64-isa-level-4.os += -march=x86-64
56
57# The test modules are parameterized by preprocessor macros.
58LDFLAGS-libx86-64-isa-level-1.so += -Wl,-soname,libx86-64-isa-level.so
59LDFLAGS-libx86-64-isa-level-4.so += -Wl,-soname,libx86-64-isa-level.so
60$(objpfx)libx86-64-isa-level%.os: $(..)/sysdeps/unix/sysv/linux/x86_64/x86-64-isa-level-VALUE.c
61	$(compile-command.c) -DVALUE=$(lastword $(subst -, ,$*)) \
62	  -DISA_LEVEL="(1 << ($(lastword $(subst -, ,$*)) - 1))"
63$(objpfx)libx86-64-isa-level.so: $(objpfx)libx86-64-isa-level-1.so
64	cp $< $@
65endif
66endif # $(subdir) == elf
67