summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorM Joonas Pihlaja <jpihlaja@cc.helsinki.fi>2010-03-04 04:34:44 +0200
committerM Joonas Pihlaja <jpihlaja@cc.helsinki.fi>2010-03-04 04:34:44 +0200
commit9d1543f4b737baba625a2300b9709ef0d8616a7a (patch)
tree5ed97ec9231eaccc5c89d064b5edb021f9b94005
parentee3df982586d531cde0199c2a0f8b91ab4a2c96c (diff)
Add stubs for creating and setting pthread attributes.
The functions for getting attributes are left unstubbed since they'd give it away that we're merely pretending.
-rw-r--r--list.txt22
-rw-r--r--stubs.c99
2 files changed, 110 insertions, 11 deletions
diff --git a/list.txt b/list.txt
index 707d936..73e3f27 100644
--- a/list.txt
+++ b/list.txt
@@ -1,5 +1,5 @@
alias("na", [[pthread_atfork]])
-alias("na", [[pthread_attr_destroy]])
+alias("zero", [[pthread_attr_destroy]])
alias("na", [[pthread_attr_getdetachstate]])
alias("na", [[pthread_attr_getguardsize]])
alias("na", [[pthread_attr_getinheritsched]])
@@ -9,16 +9,16 @@ alias("na", [[pthread_attr_getscope]])
alias("na", [[pthread_attr_getstack]])
alias("na", [[pthread_attr_getstackaddr]])
alias("na", [[pthread_attr_getstacksize]])
-alias("na", [[pthread_attr_init]])
-alias("na", [[pthread_attr_setdetachstate]])
-alias("na", [[pthread_attr_setguardsize]])
-alias("na", [[pthread_attr_setinheritsched]])
-alias("na", [[pthread_attr_setschedparam]])
-alias("na", [[pthread_attr_setschedpolicy]])
-alias("na", [[pthread_attr_setscope]])
-alias("na", [[pthread_attr_setstack]])
-alias("na", [[pthread_attr_setstackaddr]])
-alias("na", [[pthread_attr_setstacksize]])
+alias("zero", [[pthread_attr_init]])
+alias("zero", [[pthread_attr_setdetachstate]])
+alias("zero", [[pthread_attr_setguardsize]])
+alias("zero", [[pthread_attr_setinheritsched]])
+alias("zero", [[pthread_attr_setschedparam]])
+alias("zero", [[pthread_attr_setschedpolicy]])
+alias("zero", [[pthread_attr_setscope]])
+alias("zero", [[pthread_attr_setstack]])
+alias("zero", [[pthread_attr_setstackaddr]])
+alias("zero", [[pthread_attr_setstacksize]])
alias("na", [[pthread_barrierattr_destroy]])
alias("na", [[pthread_barrierattr_getpshared]])
alias("na", [[pthread_barrierattr_init]])
diff --git a/stubs.c b/stubs.c
index a233fb5..92dd8e5 100644
--- a/stubs.c
+++ b/stubs.c
@@ -30,6 +30,105 @@
#include <stdlib.h>
#include "config.h"
+#ifndef HAVE_PTHREAD_ATTR_DESTROY
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_destroy() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_destroy = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_INIT
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_init() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_init = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETDETACHSTATE
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setdetachstate() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setdetachstate = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETGUARDSIZE
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setguardsize() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setguardsize = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETINHERITSCHED
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setinheritsched() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setinheritsched = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETSCHEDPARAM
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setschedparam() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setschedparam = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETSCHEDPOLICY
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setschedpolicy() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setschedpolicy = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETSCOPE
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setscope() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setscope = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETSTACK
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setstack() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setstack = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETSTACKADDR
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setstackaddr() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setstackaddr = __pthread_zero_stub
+# endif
+#endif
+
+#ifndef HAVE_PTHREAD_ATTR_SETSTACKSIZE
+#define NEED_ZERO_STUB
+# ifdef SUPPORT_ATTRIBUTE_ALIAS
+int pthread_attr_setstacksize() __attribute__ ((weak, alias ("__pthread_zero_stub")));
+# else
+# pragma weak pthread_attr_setstacksize = __pthread_zero_stub
+# endif
+#endif
+
#ifndef HAVE_PTHREAD_CONDATTR_DESTROY
#define NEED_ZERO_STUB
# ifdef SUPPORT_ATTRIBUTE_ALIAS