about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--bits/confname.h7
-rw-r--r--linuxthreads/ChangeLog4
-rw-r--r--linuxthreads/sysdeps/pthread/Makefile4
-rw-r--r--nptl/ChangeLog4
-rw-r--r--nptl/sysdeps/pthread/Makefile6
-rw-r--r--posix/confstr.c18
-rw-r--r--posix/getconf.c6
-rw-r--r--sysdeps/generic/bits/confname.h7
9 files changed, 58 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index b719c35187..14ef6e5017 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2003-02-12  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/generic/bits/confname.h: Define _CS_GNU_LIBC_VERSION and
+	_CS_GNU_LIBPTHREAD_VERSION.
+	* posix/conststr.c: Handle these new values.
+	* posix/getconf.c: Likewise.
+
 	* sysdeps/mips/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Fix
 	masking of version index.
 	Patch by Lance Larsh <Lance.Larsh@oracle.com>.
@@ -23,7 +28,7 @@
 
 2003-02-08  Jim Meyering  <jim@meyering.net>
 
-	* ftw.c (ftw_startup): When using FTW_CHDIR, always remember
+	* io/ftw.c (ftw_startup): When using FTW_CHDIR, always remember
 	the current directory, not just when DIR contains a slash.
 	Reported by Manoj Srivastava.
 
diff --git a/bits/confname.h b/bits/confname.h
index 6cb5b3f7fb..fe262989fc 100644
--- a/bits/confname.h
+++ b/bits/confname.h
@@ -560,7 +560,12 @@ enum
 #  define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
 # endif
 
-    _CS_V6_WIDTH_RESTRICTED_ENVS
+    _CS_V6_WIDTH_RESTRICTED_ENVS,
 # define _CS_V6_WIDTH_RESTRICTED_ENVS	_CS_V6_WIDTH_RESTRICTED_ENVS
+
+    _CS_GNU_LIBC_VERSION,
+#define _CS_GNU_LIBC_VERSION	_CS_GNU_LIBC_VERSION
+    _CS_GNU_LIBPTHREAD_VERSION
+#define _CS_GNU_LIBPTHREAD_VERSION	_CS_GNU_LIBPTHREAD_VERSION
   };
 #endif
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 7a6047ae92..dd1a1c2e59 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,7 @@
+2003-02-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/Makefile: Define CFLAGS-confstr.c.
+
 2003-02-10  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Check
diff --git a/linuxthreads/sysdeps/pthread/Makefile b/linuxthreads/sysdeps/pthread/Makefile
index a0d3315235..6b92fbf47f 100644
--- a/linuxthreads/sysdeps/pthread/Makefile
+++ b/linuxthreads/sysdeps/pthread/Makefile
@@ -7,3 +7,7 @@ else
 $(objpfx)tst-timer: $(objpfx)librt.a $(static-thread-library)
 endif
 endif
+
+ifeq ($(subdir),posix)
+CFLAGS-confstr.c += -DLIBPTHREAD_VERSION="\"$(shell sed 's/\(.*\) by .*/\1/' ../nptl/Banner)\""
+endif
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index ef1a4fe229..182d66bef6 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,7 @@
+2003-02-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/Makefile: Define CFLAGS-confstr.c.
+
 2003-02-10  Ulrich Drepper  <drepper@redhat.com>
 
 	* Makefile (tests): Add tst-cancel8.
diff --git a/nptl/sysdeps/pthread/Makefile b/nptl/sysdeps/pthread/Makefile
index fade787877..17f18cb928 100644
--- a/nptl/sysdeps/pthread/Makefile
+++ b/nptl/sysdeps/pthread/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2002 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -31,3 +31,7 @@ else
 $(objpfx)tst-timer: $(objpfx)librt.a $(static-thread-library)
 endif
 endif
+
+ifeq ($(subdir),posix)
+CFLAGS-confstr.c += -DLIBPTHREAD_VERSION="\"$(shell sed 's/\(.*\) by .*/\1/' ../nptl/Banner)\""
+endif
diff --git a/posix/confstr.c b/posix/confstr.c
index fe5f38c933..bc3c8b89e3 100644
--- a/posix/confstr.c
+++ b/posix/confstr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,96,97,2000,01,02 Free Software Foundation, Inc.
+/* Copyright (C) 1991,96,97,2000-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,6 +21,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <confstr.h>
+#include "../version.h"
 
 /* If BUF is not NULL and LEN > 0, fill in at most LEN - 1 bytes
    of BUF with the value corresponding to NAME and zero-terminate BUF.
@@ -140,6 +141,21 @@ confstr (name, buf, len)
       string_len = 1;
       break;
 
+    case _CS_GNU_LIBC_VERSION:
+      string = "glibc " VERSION;
+      string_len = strlen (string);
+
+    case _CS_GNU_LIBPTHREAD_VERSION:
+#ifdef LIBPTHREAD_VERSION
+      string = LIBPTHREAD_VERSION;
+      string_len = strlen (string);
+      break;
+#else
+      /* No thread library.  */
+      __set_errno (EINVAL);
+      return 0;
+#endif
+
     default:
       __set_errno (EINVAL);
       return 0;
diff --git a/posix/getconf.c b/posix/getconf.c
index 69b785c3bf..e687225434 100644
--- a/posix/getconf.c
+++ b/posix/getconf.c
@@ -859,6 +859,12 @@ static const struct conf vars[] =
 #ifdef _PC_SYMLINK_MAX
     { "SYMLINK_MAX", _PC_SYMLINK_MAX, PATHCONF },
 #endif
+#ifdef _CS_GNU_LIBC_VERSION
+    { "GNU_LIBC_VERSION", _CS_GNU_LIBC_VERSION, CONFSTR },
+#endif
+#ifdef _CS_GNU_LIBPTHREAD_VERSION
+    { "GNU_LIBPTHREAD_VERSION", _CS_GNU_LIBPTHREAD_VERSION, CONFSTR },
+#endif
 
     { NULL, 0, SYSCONF }
   };
diff --git a/sysdeps/generic/bits/confname.h b/sysdeps/generic/bits/confname.h
index 6cb5b3f7fb..fe262989fc 100644
--- a/sysdeps/generic/bits/confname.h
+++ b/sysdeps/generic/bits/confname.h
@@ -560,7 +560,12 @@ enum
 #  define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
 # endif
 
-    _CS_V6_WIDTH_RESTRICTED_ENVS
+    _CS_V6_WIDTH_RESTRICTED_ENVS,
 # define _CS_V6_WIDTH_RESTRICTED_ENVS	_CS_V6_WIDTH_RESTRICTED_ENVS
+
+    _CS_GNU_LIBC_VERSION,
+#define _CS_GNU_LIBC_VERSION	_CS_GNU_LIBC_VERSION
+    _CS_GNU_LIBPTHREAD_VERSION
+#define _CS_GNU_LIBPTHREAD_VERSION	_CS_GNU_LIBPTHREAD_VERSION
   };
 #endif