OSDN Git Service

test/: compile fixes for nptl and tls tests
authorAustin Foxley <austinf@cetoncorp.com>
Mon, 30 Nov 2009 03:37:13 +0000 (19:37 -0800)
committerAustin Foxley <austinf@cetoncorp.com>
Mon, 30 Nov 2009 03:37:13 +0000 (19:37 -0800)
 * 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@cetoncorp.com>
test/Test.mak
test/nptl/Makefile.in
test/tls/Makefile.in
test/tls/tls-macros.h

index 6aa8356..43562f2 100644 (file)
@@ -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)))
 
index c5fd3f2..6cde3d9 100644 (file)
@@ -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 \
index b5b0d3b..c23ad21 100644 (file)
@@ -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
index 29a75df..cd31100 100644 (file)
@@ -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"                                       \
          "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