From: Julian Seward Date: Thu, 16 May 2002 20:51:15 +0000 (+0000) Subject: Minimal impl of pthread_attr_setstacksize. X-Git-Tag: svn/VALGRIND_1_0_3~187 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3067ffa5dfd6f2e4e013c769c0b6492bb68ca52;p=thirdparty%2Fvalgrind.git Minimal impl of pthread_attr_setstacksize. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@279 --- diff --git a/coregrind/arch/x86-linux/vg_libpthread.c b/coregrind/arch/x86-linux/vg_libpthread.c index e0f480669a..7457dd2d3e 100644 --- a/coregrind/arch/x86-linux/vg_libpthread.c +++ b/coregrind/arch/x86-linux/vg_libpthread.c @@ -156,15 +156,6 @@ static void kludged ( char* msg ) static void not_inside ( char* msg ) { VG_(startup)(); - return; - if (get_pt_trace_level() >= 0) { - char* ig = "valgrind's libpthread.so: NOT INSIDE VALGRIND " - "during call to: "; - write(2, ig, strlen(ig)); - write(2, msg, strlen(msg)); - ig = "\n"; - write(2, ig, strlen(ig)); - } } void vgPlain_unimp ( char* what ) @@ -216,6 +207,19 @@ int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit) return 0; } +__attribute__((weak)) +int pthread_attr_setstacksize (pthread_attr_t *__attr, + size_t __stacksize) +{ + ensure_valgrind("pthread_attr_setstacksize"); + if (__stacksize < VG_PTHREAD_STACK_SIZE) + return 0; + barf("pthread_attr_setstacksize: " + "requested size >= VG_PTHREAD_STACK_SIZE\n " + "edit vg_include.h and rebuild."); +} + + /* This is completely bogus. */ int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param) diff --git a/coregrind/arch/x86-linux/vg_libpthread_unimp.c b/coregrind/arch/x86-linux/vg_libpthread_unimp.c index 6eb8040684..4154a335c6 100644 --- a/coregrind/arch/x86-linux/vg_libpthread_unimp.c +++ b/coregrind/arch/x86-linux/vg_libpthread_unimp.c @@ -227,8 +227,8 @@ __attribute__((weak)) void pthread_attr_setstack ( void ) { vgPlain_unimp("pthread_attr_setstack"); } __attribute__((weak)) void pthread_attr_setstackaddr ( void ) { vgPlain_unimp("pthread_attr_setstackaddr"); } -__attribute__((weak)) void pthread_attr_setstacksize ( void ) - { vgPlain_unimp("pthread_attr_setstacksize"); } +//__attribute__((weak)) void pthread_attr_setstacksize ( void ) +// { vgPlain_unimp("pthread_attr_setstacksize"); } __attribute__((weak)) void pthread_getconcurrency ( void ) { vgPlain_unimp("pthread_getconcurrency"); } __attribute__((weak)) void pthread_kill_other_threads_np ( void ) diff --git a/coregrind/vg_libpthread.c b/coregrind/vg_libpthread.c index e0f480669a..7457dd2d3e 100644 --- a/coregrind/vg_libpthread.c +++ b/coregrind/vg_libpthread.c @@ -156,15 +156,6 @@ static void kludged ( char* msg ) static void not_inside ( char* msg ) { VG_(startup)(); - return; - if (get_pt_trace_level() >= 0) { - char* ig = "valgrind's libpthread.so: NOT INSIDE VALGRIND " - "during call to: "; - write(2, ig, strlen(ig)); - write(2, msg, strlen(msg)); - ig = "\n"; - write(2, ig, strlen(ig)); - } } void vgPlain_unimp ( char* what ) @@ -216,6 +207,19 @@ int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit) return 0; } +__attribute__((weak)) +int pthread_attr_setstacksize (pthread_attr_t *__attr, + size_t __stacksize) +{ + ensure_valgrind("pthread_attr_setstacksize"); + if (__stacksize < VG_PTHREAD_STACK_SIZE) + return 0; + barf("pthread_attr_setstacksize: " + "requested size >= VG_PTHREAD_STACK_SIZE\n " + "edit vg_include.h and rebuild."); +} + + /* This is completely bogus. */ int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param) diff --git a/coregrind/vg_libpthread_unimp.c b/coregrind/vg_libpthread_unimp.c index 6eb8040684..4154a335c6 100644 --- a/coregrind/vg_libpthread_unimp.c +++ b/coregrind/vg_libpthread_unimp.c @@ -227,8 +227,8 @@ __attribute__((weak)) void pthread_attr_setstack ( void ) { vgPlain_unimp("pthread_attr_setstack"); } __attribute__((weak)) void pthread_attr_setstackaddr ( void ) { vgPlain_unimp("pthread_attr_setstackaddr"); } -__attribute__((weak)) void pthread_attr_setstacksize ( void ) - { vgPlain_unimp("pthread_attr_setstacksize"); } +//__attribute__((weak)) void pthread_attr_setstacksize ( void ) +// { vgPlain_unimp("pthread_attr_setstacksize"); } __attribute__((weak)) void pthread_getconcurrency ( void ) { vgPlain_unimp("pthread_getconcurrency"); } __attribute__((weak)) void pthread_kill_other_threads_np ( void ) diff --git a/vg_libpthread.c b/vg_libpthread.c index e0f480669a..7457dd2d3e 100644 --- a/vg_libpthread.c +++ b/vg_libpthread.c @@ -156,15 +156,6 @@ static void kludged ( char* msg ) static void not_inside ( char* msg ) { VG_(startup)(); - return; - if (get_pt_trace_level() >= 0) { - char* ig = "valgrind's libpthread.so: NOT INSIDE VALGRIND " - "during call to: "; - write(2, ig, strlen(ig)); - write(2, msg, strlen(msg)); - ig = "\n"; - write(2, ig, strlen(ig)); - } } void vgPlain_unimp ( char* what ) @@ -216,6 +207,19 @@ int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit) return 0; } +__attribute__((weak)) +int pthread_attr_setstacksize (pthread_attr_t *__attr, + size_t __stacksize) +{ + ensure_valgrind("pthread_attr_setstacksize"); + if (__stacksize < VG_PTHREAD_STACK_SIZE) + return 0; + barf("pthread_attr_setstacksize: " + "requested size >= VG_PTHREAD_STACK_SIZE\n " + "edit vg_include.h and rebuild."); +} + + /* This is completely bogus. */ int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param) diff --git a/vg_libpthread_unimp.c b/vg_libpthread_unimp.c index 6eb8040684..4154a335c6 100644 --- a/vg_libpthread_unimp.c +++ b/vg_libpthread_unimp.c @@ -227,8 +227,8 @@ __attribute__((weak)) void pthread_attr_setstack ( void ) { vgPlain_unimp("pthread_attr_setstack"); } __attribute__((weak)) void pthread_attr_setstackaddr ( void ) { vgPlain_unimp("pthread_attr_setstackaddr"); } -__attribute__((weak)) void pthread_attr_setstacksize ( void ) - { vgPlain_unimp("pthread_attr_setstacksize"); } +//__attribute__((weak)) void pthread_attr_setstacksize ( void ) +// { vgPlain_unimp("pthread_attr_setstacksize"); } __attribute__((weak)) void pthread_getconcurrency ( void ) { vgPlain_unimp("pthread_getconcurrency"); } __attribute__((weak)) void pthread_kill_other_threads_np ( void )