summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Foxley <austinf@cetoncorp.com>2009-11-29 19:37:13 -0800
committerAustin Foxley <austinf@cetoncorp.com>2009-11-29 19:37:13 -0800
commit4d91ad3daa7260427e96ce1d6c62962795c9dbd5 (patch)
tree24c60035e94cc6db72eed00a36da9241a23a3585
parent6b4b650e05b81134ec07ee19df82f22e7c845c12 (diff)
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 <austinf@cetoncorp.com>
-rw-r--r--test/Test.mak8
-rw-r--r--test/nptl/Makefile.in6
-rw-r--r--test/tls/Makefile.in13
-rw-r--r--test/tls/tls-macros.h8
4 files changed, 25 insertions, 10 deletions
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