From 4d91ad3daa7260427e96ce1d6c62962795c9dbd5 Mon Sep 17 00:00:00 2001 From: Austin Foxley Date: Sun, 29 Nov 2009 19:37:13 -0800 Subject: test/: compile fixes for nptl and tls tests * Add a GLIBC_TESTS_DISABLED var because many of these tests need internal uClibc stuff. This disables the HOSTCC build of these tests * Fix up tls test macros for x86 * Fix the linking of the tls tests Signed-off-by: Austin Foxley --- test/Test.mak | 8 ++++++-- test/nptl/Makefile.in | 6 ++++++ test/tls/Makefile.in | 13 +++++++++---- test/tls/tls-macros.h | 8 ++++---- 4 files changed, 25 insertions(+), 10 deletions(-) (limited to 'test') diff --git a/test/Test.mak b/test/Test.mak index 6aa835623..43562f2d7 100644 --- a/test/Test.mak +++ b/test/Test.mak @@ -21,6 +21,10 @@ endif 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 @@ -29,12 +33,12 @@ TARGETS += $(G_TARGETS) 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))) diff --git a/test/nptl/Makefile.in b/test/nptl/Makefile.in index c5fd3f238..6cde3d972 100644 --- a/test/nptl/Makefile.in +++ b/test/nptl/Makefile.in @@ -46,6 +46,12 @@ ifeq ($(UCLIBC_HAS_OBSOLETE_BSD_SIGNAL),) 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 \ diff --git a/test/tls/Makefile.in b/test/tls/Makefile.in index b5b0d3b99..c23ad216a 100644 --- a/test/tls/Makefile.in +++ b/test/tls/Makefile.in @@ -7,6 +7,10 @@ TESTS := tst-tls1 tst-tls2 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 \ 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 \ @@ -52,7 +56,8 @@ LDFLAGS_tst-tlsmod6.so := -shared -static-libgcc -L$(top_builddir)lib 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 @@ -67,7 +72,7 @@ LDFLAGS_tst-tlsmod15a.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 @@ -82,7 +87,7 @@ LDFLAGS_tst-tls14 := -ldl -Wl,-rpath-link=. tst-tlsmod14a.so 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 @@ -94,7 +99,7 @@ tst-tls11: tst-tlsmod9.so tst-tlsmod10.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 diff --git a/test/tls/tls-macros.h b/test/tls/tls-macros.h index 29a75df95..cd31100cf 100644 --- a/test/tls/tls-macros.h +++ b/test/tls/tls-macros.h @@ -46,7 +46,7 @@ __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" \ @@ -55,7 +55,7 @@ "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 @@ -93,7 +93,7 @@ __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" \ @@ -103,7 +103,7 @@ "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 -- cgit v1.2.3