From: Bart Van Assche Date: Sun, 26 Apr 2009 07:14:15 +0000 (+0000) Subject: Added regression test pth_create_glibc_2_0. X-Git-Tag: svn/VALGRIND_3_5_0~772 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ca8a77d31b1ec95f7172ed69ae1fd1149fd18b48;p=thirdparty%2Fvalgrind.git Added regression test pth_create_glibc_2_0. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9633 --- diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am index b612b80607..2c29d73634 100644 --- a/drd/tests/Makefile.am +++ b/drd/tests/Makefile.am @@ -98,6 +98,8 @@ EXTRA_DIST = \ pth_create_chain.stderr.exp \ pth_create_chain.stderr.exp-ppc \ pth_create_chain.vgtest \ + pth_create_glibc_2_0.stderr.exp \ + pth_create_glibc_2_0.vgtest \ pth_detached.stderr.exp \ pth_detached.stdout.exp \ pth_detached.vgtest \ @@ -234,6 +236,10 @@ if HAVE_PTHREAD_BARRIER check_PROGRAMS += matinv pth_barrier pth_barrier_race pth_barrier_reinit endif +if HAVE_PTHREAD_CREATE_GLIBC_2_0 +check_PROGRAMS += pth_create_glibc_2_0 +endif + if HAVE_PTHREAD_SPINLOCK check_PROGRAMS += pth_spinlock endif diff --git a/drd/tests/pth_create_glibc_2_0.c b/drd/tests/pth_create_glibc_2_0.c new file mode 100644 index 0000000000..29dd04bc97 --- /dev/null +++ b/drd/tests/pth_create_glibc_2_0.c @@ -0,0 +1,34 @@ +/* Test program that invokes pthread_create@GLIBC_2.0(). */ + + +#include +#include + + +extern int pthread_create_glibc_2_0(pthread_t*, const pthread_attr_t*, + void *(*)(void*), void*); + +__asm__(".symver pthread_create_glibc_2_0, pthread_create@GLIBC_2.0"); + + +static void* thread_func(void *arg) +{ + fprintf(stderr, "The thread.\n"); + return 0; +} + +int main(int argc, char** argv) +{ + int result; + pthread_t thr; + + result = (*pthread_create_glibc_2_0)(&thr, 0, thread_func, 0); + if (result != 0) + { + fprintf(stderr, "pthread_create() failed.\n"); + return 1; + } + pthread_join(thr, 0); + fprintf(stderr, "Finished.\n"); + return 0; +} diff --git a/drd/tests/pth_create_glibc_2_0.stderr.exp b/drd/tests/pth_create_glibc_2_0.stderr.exp new file mode 100644 index 0000000000..e5bd5a847e --- /dev/null +++ b/drd/tests/pth_create_glibc_2_0.stderr.exp @@ -0,0 +1,5 @@ + +The thread. +Finished. + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/drd/tests/pth_create_glibc_2_0.vgtest b/drd/tests/pth_create_glibc_2_0.vgtest new file mode 100644 index 0000000000..fc1a88b058 --- /dev/null +++ b/drd/tests/pth_create_glibc_2_0.vgtest @@ -0,0 +1,3 @@ +prereq: ./supported_libpthread +vgopts: --var-info=yes --check-stack-var=yes +prog: pth_create_glibc_2_0