# HG changeset patch # User Mathieu Lacage # Date 1361650410 -3600 # Node ID dd8975001939370b7b67d08f8b477e0611d91a76 # Parent 334d85fce7727c0534917ea055c1a7d29c011f7c make output more reproducible & new test that fails diff -r 334d85fce772 -r dd8975001939 test/Makefile --- a/test/Makefile Sat Feb 23 21:02:39 2013 +0100 +++ b/test/Makefile Sat Feb 23 21:13:30 2013 +0100 @@ -17,8 +17,8 @@ include $(SRCDIR)$(MACHINE_MAKEFILE) -TESTS=test0 test0_1 test0_2 test1 test2 test3 test4 test5 test6 test7 test8 test8_5 test9 test10 test11 test15 test12 test13 test14 test16 test17 test18 test19 test21 test20 $(TEST64) test23 test24 test25 -TARGETS=hello libq.so libp.so libn.so libo.o libo.so circular-dep libl.so libk.so libj.so libi.so libh.so libg.so libf.so libe.so libd.so libb.so liba.so libefl.so $(LIB64) \ +TESTS=test0 test0_1 test0_2 test1 test2 test3 test4 test5 test6 test7 test8 test8_5 test9 test10 test11 test15 test12 test13 test14 test16 test17 test18 test19 test21 test20 $(TEST64) test23 test24 test25 test26 +TARGETS=hello libr.so libq.so libp.so libn.so libo.o libo.so circular-dep libl.so libk.so libj.so libi.so libh.so libg.so libf.so libe.so libd.so libb.so liba.so libefl.so $(LIB64) \ $(TESTS) $(addsuffix -ldso,$(TESTS)) all: $(TARGETS) @@ -115,6 +115,7 @@ run-test12: TEST_PRE_COMMAND=rm libl.so test24: LDFLAGS+=-lpthread test25: LDFLAGS+=-lpthread +test26: LDFLAGS+=-lpthread clean: diff -r 334d85fce772 -r dd8975001939 test/libr.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/libr.c Sat Feb 23 21:13:30 2013 +0100 @@ -0,0 +1,1 @@ +__thread int g_b = 2; diff -r 334d85fce772 -r dd8975001939 test/output/test25.ref --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/output/test25.ref Sat Feb 23 21:13:30 2013 +0100 @@ -0,0 +1,104 @@ +libtest25 constructor +enter main +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +a=0 +leave main +libtest25 destructor diff -r 334d85fce772 -r dd8975001939 test/test25.c --- a/test/test25.c Sat Feb 23 21:02:39 2013 +0100 +++ b/test/test25.c Sat Feb 23 21:13:30 2013 +0100 @@ -26,8 +26,6 @@ pthread_attr_init (&attr); g_a = 2; pthread_create (&th[i], &attr, thread, 0); - - printf ("main a=%d\n", g_a); } for (i = 0; i +#include +#include +#include +#include "test.h" +LIB(test25) + +__thread int g_a = 0; + +static void *thread (void*ctx) +{ + void *h; + printf("a=%d\n", g_a); + h = dlopen("libr.so", RTLD_LAZY); + dlclose(h); + g_a = 10; + return 0; +} + +int main (int argc, char *argv[]) +{ + int i; + pthread_t th[100]; + printf ("enter main\n"); + + for (i = 0; i