U_TARGETS := $(TESTS)
G_TARGETS := $(addsuffix _glibc,$(U_TARGETS))
+ifneq ($(GLIBC_TESTS_DISABLED),)
+G_TARGETS := $(filter-out $(GLIBC_TESTS_DISABLED),$(G_TARGETS))
+endif
+
ifeq ($(GLIBC_ONLY),)
TARGETS += $(U_TARGETS)
endif
endif
CLEAN_TARGETS := $(U_TARGETS) $(G_TARGETS)
-CLEAN_TARGETS += $(TESTS_DISABLED) $(addsuffix _glibc,$(TESTS_DISABLED))
+CLEAN_TARGETS += $(TESTS_DISABLED) $(addsuffix _glibc,$(TESTS_DISABLED)) $(GLIBC_TESTS_DISABLED)
COMPILE_TARGETS := $(TARGETS)
RUN_TARGETS := $(addsuffix .exe,$(TARGETS))
# provide build rules even for disabled tests:
U_TARGETS += $(TESTS_DISABLED)
-G_TARGETS += $(addsuffix _glibc,$(TESTS_DISABLED))
+G_TARGETS += $(addsuffix _glibc,$(TESTS_DISABLED)) $(GLIBC_TESTS_DISABLED)
TARGETS += $(SHELL_TESTS)
CFLAGS += $(CFLAGS_$(notdir $(CURDIR)))
TESTS_DISABLED := tst-exec2 tst-exec3 tst-exec4
endif
+GLIBC_TESTS_DISABLED := tst-eintr1_glibc tst-eintr2_glibc \
+ tst-eintr3_glibc tst-eintr4_glibc tst-eintr5_glibc \
+ tst-tls1_glibc tst-tls2_glibc tst-tls3_glibc \
+ tst-tls4_glibc tst-tls5_glibc
+
+
PTDIR := $(top_builddir)libpthread/nptl
EXTRA_CFLAGS := -DNOT_IN_libc=1 -D_LIBC -D__USE_GNU -std=gnu99 \
tst-tls9-static
TESTS_DISABLED := tst-tls1-static tst-tls2-static tst-tls9-static
+# All these tests need tls.h, which is not installed with glibc
+GLIBC_TESTS_DISABLED := $(addsuffix _glibc,$(filter-out $(TESTS_DISABLED),$(TESTS)))
+
+
PTDIR := $(top_builddir)libpthread/nptl
EXTRA_CFLAGS := -DNOT_IN_libc=1 \
LDFLAGS_tst-tlsmod7.so := -shared -static-libgcc -L$(top_builddir)lib
LDFLAGS_tst-tlsmod8.so := -shared -static-libgcc -L$(top_builddir)lib \
tst-tlsmod7.so
-LDFLAGS_tst-tlsmod9.so := -shared -static-libgcc -L$(top_builddir)lib
+LDFLAGS_tst-tlsmod9.so := -shared -static-libgcc -L$(top_builddir)lib \
+ tst-tlsmod8.so
LDFLAGS_tst-tlsmod10.so := -shared -static-libgcc -L$(top_builddir)lib \
tst-tlsmod9.so
LDFLAGS_tst-tlsmod11.so := -shared -static-libgcc -L$(top_builddir)lib
LDFLAGS_tst-tlsmod15b.so := -shared -static-libgcc -L$(top_builddir)lib
LDFLAGS_tst-tlsmod16.so := -shared -static-libgcc -L$(top_builddir)lib
-LDFLAGS_tst-tls3 := tst-tlsmod1.so
+LDFLAGS_tst-tls3 := tst-tlsmod1.so tst-tlsmod4.so
LDFLAGS_tst-tls4 := -ldl
LDFLAGS_tst-tls5 := -ldl
LDFLAGS_tst-tls6 := -ldl
LDFLAGS_tst-tls15 := -ldl -Wl,-rpath-link=.
LDFLAGS_tst-tls16 := tst-tlsmod16.so
-tst-tls3: tst-tlsmod1.so
+tst-tls3: tst-tlsmod1.so tst-tlsmod4.so
tst-tls4: tst-tlsmod2.so
tst-tls5: tst-tlsmod2.so
tst-tls6: tst-tlsmod2.so
tst-tls12: tst-tlsmod11.so tst-tlsmod12.so
tst-tls13: tst-tlsmod13.so tst-tlsmod13a.so
tst-tls14: tst-tlsmod14a.so tst-tlsmod14b.so
-tst-tls15: tst-tlsmod15a.so tst-tlsmod15b.so
+tst-tls15: tst-tlsmod15b.so
tst-tls16: tst-tlsmod16.so
RET_tst-tls13 := 1
__l; })
# else
# define TLS_IE(x) \
- ({ int *__l, __b; \
+ ({ int *__l; \
__asm__ ("call 1f\n\t" \
".subsection 1\n" \
"1:\tmovl (%%esp), %%ebx\n\t" \
"addl $_GLOBAL_OFFSET_TABLE_, %%ebx\n\t" \
"movl %%gs:0,%0\n\t" \
"subl " #x "@gottpoff(%%ebx),%0" \
- : "=r" (__l), "=&b" (__b)); \
+ : "=r" (__l)); \
__l; })
# endif
__l; })
# else
# define TLS_GD(x) \
- ({ int *__l, __b, __c, __d; \
+ ({ int *__l, __c, __d; \
__asm__ ("call 1f\n\t" \
".subsection 1\n" \
"1:\tmovl (%%esp), %%ebx\n\t" \
"leal " #x "@tlsgd(%%ebx),%%eax\n\t" \
"call ___tls_get_addr@plt\n\t" \
"nop" \
- : "=a" (__l), "=&b" (__b), "=&c" (__c), "=&d" (__d)); \
+ : "=a" (__l), "=&c" (__c), "=&d" (__d)); \
__l; })
# endif