[git commit nptl] test/: compile fixes for nptl and tls tests

Austin Foxley austinf at cetoncorp.com
Mon Nov 30 01:20:11 UTC 2009


commit: http://git.uclibc.org/uClibc/commit/?id=4d91ad3daa7260427e96ce1d6c62962795c9dbd5
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/nptl

 * 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 <austinf at cetoncorp.com>
---
 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(-)

diff --git a/test/Test.mak b/test/Test.mak
index 6aa8356..43562f2 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 c5fd3f2..6cde3d9 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 b5b0d3b..c23ad21 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 29a75df..cd31100 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 at plt\n\t"				      \
 	  "nop"								      \
-	  : "=a" (__l), "=&b" (__b), "=&c" (__c), "=&d" (__d));		      \
+	  : "=a" (__l), "=&c" (__c), "=&d" (__d));		              \
      __l; })
 # endif
 
-- 
1.6.3.3



More information about the uClibc-cvs mailing list