Browse Source

getconf: print arbitrary GNU_LIBPTHREAD_VERSION string

the NPTL should probably print the version-string of the glibc it's
compatible with and not the uClibc version (check what mysql expects).

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer 15 years ago
parent
commit
384a55ef9f
1 changed files with 18 additions and 0 deletions
  1. 18 0
      libc/unistd/confstr.c

+ 18 - 0
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;