summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/unistd/confstr.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libc/unistd/confstr.c b/libc/unistd/confstr.c
index 16b57bee9..957ee4d27 100644
--- a/libc/unistd/confstr.c
+++ b/libc/unistd/confstr.c
@@ -42,6 +42,24 @@ size_t confstr (int name, char *buf, size_t len)
string_len = sizeof (cs_path);
}
break;
+#ifdef __UCLIBC_HAS_THREADS__
+ case _CS_GNU_LIBPTHREAD_VERSION:
+# if defined __LINUXTHREADS_OLD__
+ string = "linuxthreads-0.01";
+ string_len = sizeof("linuxthreads-x.xx");
+# elif defined __LINUXTHREADS_NEW__
+ string = "linuxthreads-0.10";
+ string_len = sizeof("linuxthreads-x.xx");
+# elif defined __UCLIBC_HAS_THREADS_NATIVE__
+# define __NPTL_VERSION ("NPTL " \
+ #__UCLIBC_MAJOR__ "." \
+ #__UCLIBC_MINOR__ "." \
+ #__UCLIBC_SUBLEVEL__)
+ string = __NPTL_VERSION;
+ string_len = sizeof(__NPTL_VERSION);
+# endif
+ break;
+#endif
default:
__set_errno (EINVAL);
return 0;