This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.13-180-g3b85df2


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  3b85df27870a47ed1db84e948e37a5a50a178a92 (commit)
      from  15a856b1090669df0aec536edbdf240e71a470ca (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3b85df27870a47ed1db84e948e37a5a50a178a92

commit 3b85df27870a47ed1db84e948e37a5a50a178a92
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Sun May 15 11:18:10 2011 -0400

    sysconf on Linux/ia64 reported outdate versions for some options
    
    The code is also cleaned up to avoid inefficiencies.

diff --git a/ChangeLog b/ChangeLog
index 2460648..b1c3677 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2011-05-15  Ulrich Drepper  <drepper@gmail.com>
 
+	[BZ #10157]
+	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Split out CPUTIME
+	tests into ...
+	(has_cpuclock): ...this.  New function.
+	* sysdeps/unix/sysv/linux/ia64/sysconf.c: Just define HAS_CPUCLOCK
+	macro here based on has_cpuclock code.
+
 	[BZ #10149]
 	* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard):
 	First byte (not low byte) is now always NUL.
diff --git a/NEWS b/NEWS
index fff94be..e5aa66e 100644
--- a/NEWS
+++ b/NEWS
@@ -9,13 +9,13 @@ Version 2.14
 
 * The following bugs are resolved with this release:
 
-  386, 9809, 10149, 11257, 11258, 11487, 11532, 11578, 11653, 11668, 11724,
-  11901, 11945, 11947, 11952, 12052, 12083, 12158, 12178, 12200, 12346,
-  12393, 12420, 12432, 12445, 12449, 12453, 12454, 12460, 12469, 12489,
-  12509, 12510, 12511, 12518, 12527, 12541, 12545, 12551, 12582, 12583,
-  12587, 12597, 12601, 12611, 12625, 12626, 12631, 12650, 12653, 12655,
-  12660, 12681, 12685, 12711, 12713, 12714, 12717, 12723, 12724, 12734,
-  12738
+  386, 9809, 10149, 10157, 11257, 11258, 11487, 11532, 11578, 11653, 11668,
+  11724, 11901, 11945, 11947, 11952, 12052, 12083, 12158, 12178, 12200,
+  12346, 12393, 12420, 12432, 12445, 12449, 12453, 12454, 12460, 12469,
+  12489, 12509, 12510, 12511, 12518, 12527, 12541, 12545, 12551, 12582,
+  12583, 12587, 12597, 12601, 12611, 12625, 12626, 12631, 12650, 12653,
+  12655, 12660, 12681, 12685, 12711, 12713, 12714, 12717, 12723, 12724,
+  12734, 12738
 
 * The RPC implementation in libc is obsoleted.  Old programs keep working
   but new programs cannot be linked with the routines in libc anymore.
diff --git a/sysdeps/unix/sysv/linux/ia64/sysconf.c b/sysdeps/unix/sysv/linux/ia64/sysconf.c
index 4b5d1ce..67b8251 100644
--- a/sysdeps/unix/sysv/linux/ia64/sysconf.c
+++ b/sysdeps/unix/sysv/linux/ia64/sysconf.c
@@ -1,5 +1,5 @@
-/* Get file-specific information about a file.  Linux version.
-   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+/* Get file-specific information about a file.  Linux/ia64 version.
+   Copyright (C) 2003, 2004, 2011 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
@@ -24,22 +24,8 @@
 
 
 #include "has_cpuclock.c"
+#define HAS_CPUCLOCK() (has_cpuclock () ? _POSIX_VERSION : -1)
 
-static long int linux_sysconf (int name);
-
-
-/* Get the value of the system variable NAME.  */
-long int
-__sysconf (int name)
-{
-  if (name == _SC_CPUTIME || name == _SC_THREAD_CPUTIME)
-    return has_cpuclock () ? 200112L : -1;
-
-  /* Everything else is handled by the more general code.  */
-  return linux_sysconf (name);
-}
 
 /* Now the generic Linux version.  */
-#undef __sysconf
-#define __sysconf static linux_sysconf
 #include "../sysconf.c"
diff --git a/sysdeps/unix/sysv/linux/sysconf.c b/sysdeps/unix/sysv/linux/sysconf.c
index 50c5528..e44aa99 100644
--- a/sysdeps/unix/sysv/linux/sysconf.c
+++ b/sysdeps/unix/sysv/linux/sysconf.c
@@ -1,5 +1,5 @@
 /* Get file-specific information about a file.  Linux version.
-   Copyright (C) 2003, 2004, 2006, 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2003,2004,2006 2008,2009,2011 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
@@ -35,6 +35,34 @@
 static long int posix_sysconf (int name);
 
 
+#ifndef HAS_CPUCLOCK
+static long int
+has_cpuclock (void)
+{
+# if defined __NR_clock_getres || HP_TIMING_AVAIL
+  /* If we have HP_TIMING, we will fall back on that if the system
+     call does not work, so we support it either way.  */
+#  if !HP_TIMING_AVAIL
+  /* Check using the clock_getres system call.  */
+  struct timespec ts;
+  INTERNAL_SYSCALL_DECL (err);
+  int r = INTERNAL_SYSCALL (clock_getres, err, 2,
+			    (name == _SC_CPUTIME
+			     ? CLOCK_PROCESS_CPUTIME_ID
+			     : CLOCK_THREAD_CPUTIME_ID),
+			    &ts);
+  if (INTERNAL_SYSCALL_ERROR_P (r, err))
+    return -1;
+#  endif
+  return _POSIX_VERSION;
+# else
+  return -1;
+# endif
+}
+# define HAS_CPUCLOCK() has_cpuclock ()
+#endif
+
+
 /* Get the value of the system variable NAME.  */
 long int
 __sysconf (int name)
@@ -56,27 +84,9 @@ __sysconf (int name)
       }
 #endif
 
-#if defined __NR_clock_getres || HP_TIMING_AVAIL
     case _SC_CPUTIME:
     case _SC_THREAD_CPUTIME:
-      {
-	/* If we have HP_TIMING, we will fall back on that if the system
-	   call does not work, so we support it either way.  */
-# if !HP_TIMING_AVAIL
-	/* Check using the clock_getres system call.  */
-	struct timespec ts;
-	INTERNAL_SYSCALL_DECL (err);
-	int r = INTERNAL_SYSCALL (clock_getres, err, 2,
-				  (name == _SC_CPUTIME
-				   ? CLOCK_PROCESS_CPUTIME_ID
-				   : CLOCK_THREAD_CPUTIME_ID),
-				  &ts);
-	if (INTERNAL_SYSCALL_ERROR_P (r, err))
-	  return -1;
-# endif
-	return _POSIX_VERSION;
-      }
-#endif
+      return HAS_CPUCLOCK ();
 
     case _SC_ARG_MAX:
 #if __LINUX_KERNEL_VERSION < 0x020617

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                              |    7 ++++
 NEWS                                   |   14 ++++----
 sysdeps/unix/sysv/linux/ia64/sysconf.c |   20 ++-----------
 sysdeps/unix/sysv/linux/sysconf.c      |   50 +++++++++++++++++++-------------
 4 files changed, 47 insertions(+), 44 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]