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.20-307-gc5c2b7c


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  c5c2b7c3fd823fc5c4a52506292a90eba60b0c62 (commit)
      from  9752c3cdbce2b3b8338abf09c8b9dd9e78908b8a (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c5c2b7c3fd823fc5c4a52506292a90eba60b0c62

commit c5c2b7c3fd823fc5c4a52506292a90eba60b0c62
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Sat Dec 6 23:40:48 2014 +0000

    Fix pthreads getrlimit, gettimeofday namespace (bug 17682).
    
    Some pthreads functions use getrlimit and gettimeofday, but these
    functions are XSI, not base POSIX; this is a namespace issue for
    dynamic linking as well as static linking.  This patch makes them use
    __getrlimit and __gettimeofday instead - the former needed to be newly
    exported from libc.so at GLIBC_PRIVATE (and so now needs
    libc_hidden_proto / libc_hidden_def), the latter was already exported.
    
    Tested for x86_64 (testsuite, and that disassembly of installed shared
    libraries is unchanged by the patch).
    
    	[BZ #17682]
    	* resource/Versions (libc): Add __getrlimit at GLIBC_PRIVATE.
    	* resource/getrlimit.c (__getrlimit): Use libc_hidden_def.
    	* sysdeps/mach/hurd/getrlimit.c (__getrlimit): Likewise.
    	* include/sys/resource.h (__getrlimit): Use libc_hidden_proto.
    	* nptl/nptl-init.c (__pthread_initialize_minimal_internal): Use
    	__getrlimit instead of getrlimit.
    	* nptl/pthread_cond_timedwait.c (__pthread_cond_timedwait): Use
    	__gettimeofday instead of gettimeofday.
    	* nptl/pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock):
    	Likewise.
    	* nptl/pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock):
    	Likewise.
    	* sysdeps/pthread/aio_misc.c (handle_fildes_io): Likewise.
    	* conform/Makefile (test-xfail-POSIX2008/aio.h/linknamespace):
    	Remove variable.
    	(test-xfail-POSIX2008/pthread.h/linknamespace): Likewise.
    	(test-xfail-POSIX2008/time.h/linknamespace): Likewise.

diff --git a/ChangeLog b/ChangeLog
index fede1bb..676fd0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2014-12-06  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17682]
+	* resource/Versions (libc): Add __getrlimit at GLIBC_PRIVATE.
+	* resource/getrlimit.c (__getrlimit): Use libc_hidden_def.
+	* sysdeps/mach/hurd/getrlimit.c (__getrlimit): Likewise.
+	* include/sys/resource.h (__getrlimit): Use libc_hidden_proto.
+	* nptl/nptl-init.c (__pthread_initialize_minimal_internal): Use
+	__getrlimit instead of getrlimit.
+	* nptl/pthread_cond_timedwait.c (__pthread_cond_timedwait): Use
+	__gettimeofday instead of gettimeofday.
+	* nptl/pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock):
+	Likewise.
+	* nptl/pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock):
+	Likewise.
+	* sysdeps/pthread/aio_misc.c (handle_fildes_io): Likewise.
+	* conform/Makefile (test-xfail-POSIX2008/aio.h/linknamespace):
+	Remove variable.
+	(test-xfail-POSIX2008/pthread.h/linknamespace): Likewise.
+	(test-xfail-POSIX2008/time.h/linknamespace): Likewise.
+
 2014-12-05  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
 	* libio/tst-ftell-active-handler.c (do_ftell_test): Fix buffer overrun
diff --git a/NEWS b/NEWS
index 84c1353..1b08d40 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,8 @@ Version 2.21
   16619, 16740, 16857, 17192, 17266, 17344, 17363, 17370, 17371, 17411,
   17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571,
   17572, 17573, 17574, 17581, 17582, 17583, 17584, 17585, 17589, 17594,
-  17601, 17608, 17616, 17625, 17633, 17647, 17653, 17664, 17665, 17668.
+  17601, 17608, 17616, 17625, 17633, 17647, 17653, 17664, 17665, 17668,
+  17682.
 
 * CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
   under certain input conditions resulting in the execution of a shell for
diff --git a/conform/Makefile b/conform/Makefile
index a73b217..f99c30c 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -424,18 +424,15 @@ test-xfail-XOPEN2K/syslog.h/linknamespace = yes
 test-xfail-XOPEN2K/ucontext.h/linknamespace = yes
 test-xfail-XOPEN2K/unistd.h/linknamespace = yes
 test-xfail-XOPEN2K/wordexp.h/linknamespace = yes
-test-xfail-POSIX2008/aio.h/linknamespace = yes
 test-xfail-POSIX2008/ctype.h/linknamespace = yes
 test-xfail-POSIX2008/dirent.h/linknamespace = yes
 test-xfail-POSIX2008/fcntl.h/linknamespace = yes
 test-xfail-POSIX2008/grp.h/linknamespace = yes
 test-xfail-POSIX2008/mqueue.h/linknamespace = yes
 test-xfail-POSIX2008/netdb.h/linknamespace = yes
-test-xfail-POSIX2008/pthread.h/linknamespace = yes
 test-xfail-POSIX2008/regex.h/linknamespace = yes
 test-xfail-POSIX2008/semaphore.h/linknamespace = yes
 test-xfail-POSIX2008/spawn.h/linknamespace = yes
-test-xfail-POSIX2008/time.h/linknamespace = yes
 test-xfail-POSIX2008/unistd.h/linknamespace = yes
 test-xfail-XOPEN2K8/dirent.h/linknamespace = yes
 test-xfail-XOPEN2K8/fcntl.h/linknamespace = yes
diff --git a/include/sys/resource.h b/include/sys/resource.h
index c35df43..1ce190f 100644
--- a/include/sys/resource.h
+++ b/include/sys/resource.h
@@ -9,6 +9,7 @@ libc_hidden_proto (getrlimit64)
 /* Now define the internal interfaces.  */
 extern int __getrlimit (enum __rlimit_resource __resource,
 			struct rlimit *__rlimits);
+libc_hidden_proto (__getrlimit)
 extern int __getrusage (enum __rusage_who __who, struct rusage *__usage)
 	attribute_hidden;
 
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index dcb77c5..8e90f05 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -433,7 +433,7 @@ __pthread_initialize_minimal_internal (void)
   /* Determine the default allowed stack size.  This is the size used
      in case the user does not specify one.  */
   struct rlimit limit;
-  if (getrlimit (RLIMIT_STACK, &limit) != 0
+  if (__getrlimit (RLIMIT_STACK, &limit) != 0
       || limit.rlim_cur == RLIM_INFINITY)
     /* The system limit is not usable.  Use an architecture-specific
        default.  */
diff --git a/nptl/pthread_cond_timedwait.c b/nptl/pthread_cond_timedwait.c
index 1c53bdd..989f0a6 100644
--- a/nptl/pthread_cond_timedwait.c
+++ b/nptl/pthread_cond_timedwait.c
@@ -131,7 +131,7 @@ __pthread_cond_timedwait (cond, mutex, abstime)
 # else
 	/* Get the current time.  So far we support only one clock.  */
 	struct timeval tv;
-	(void) gettimeofday (&tv, NULL);
+	(void) __gettimeofday (&tv, NULL);
 
 	/* Convert the absolute timeout value to a relative timeout.  */
 	rt.tv_sec = abstime->tv_sec - tv.tv_sec;
diff --git a/nptl/pthread_rwlock_timedrdlock.c b/nptl/pthread_rwlock_timedrdlock.c
index d3044fb..822ac8b 100644
--- a/nptl/pthread_rwlock_timedrdlock.c
+++ b/nptl/pthread_rwlock_timedrdlock.c
@@ -90,7 +90,7 @@ pthread_rwlock_timedrdlock (rwlock, abstime)
      || !defined lll_futex_timed_wait_bitset)
       /* Get the current time.  So far we support only one clock.  */
       struct timeval tv;
-      (void) gettimeofday (&tv, NULL);
+      (void) __gettimeofday (&tv, NULL);
 
       /* Convert the absolute timeout value to a relative timeout.  */
       struct timespec rt;
diff --git a/nptl/pthread_rwlock_timedwrlock.c b/nptl/pthread_rwlock_timedwrlock.c
index 560403f..22f9ad5 100644
--- a/nptl/pthread_rwlock_timedwrlock.c
+++ b/nptl/pthread_rwlock_timedwrlock.c
@@ -81,7 +81,7 @@ pthread_rwlock_timedwrlock (rwlock, abstime)
      || !defined lll_futex_timed_wait_bitset)
       /* Get the current time.  So far we support only one clock.  */
       struct timeval tv;
-      (void) gettimeofday (&tv, NULL);
+      (void) __gettimeofday (&tv, NULL);
 
       /* Convert the absolute timeout value to a relative timeout.  */
       struct timespec rt;
diff --git a/resource/Versions b/resource/Versions
index caff6a2..d6c2cce 100644
--- a/resource/Versions
+++ b/resource/Versions
@@ -22,4 +22,7 @@ libc {
     # s*
     setrlimit64;
   }
+  GLIBC_PRIVATE {
+    __getrlimit;
+  }
 }
diff --git a/resource/getrlimit.c b/resource/getrlimit.c
index 6920622..799ee6e 100644
--- a/resource/getrlimit.c
+++ b/resource/getrlimit.c
@@ -27,6 +27,7 @@ __getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__getrlimit)
 weak_alias (__getrlimit, getrlimit)
 
 stub_warning (getrlimit)
diff --git a/sysdeps/mach/hurd/getrlimit.c b/sysdeps/mach/hurd/getrlimit.c
index 0dc7518..141135b 100644
--- a/sysdeps/mach/hurd/getrlimit.c
+++ b/sysdeps/mach/hurd/getrlimit.c
@@ -43,4 +43,5 @@ __getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits)
 
   return 0;
 }
+libc_hidden_def (__getrlimit)
 weak_alias (__getrlimit, getrlimit)
diff --git a/sysdeps/pthread/aio_misc.c b/sysdeps/pthread/aio_misc.c
index 5ebceee..4aed16a 100644
--- a/sysdeps/pthread/aio_misc.c
+++ b/sysdeps/pthread/aio_misc.c
@@ -631,7 +631,7 @@ handle_fildes_io (void *arg)
 	  struct timespec wakeup_time;
 
 	  ++idle_thread_count;
-	  gettimeofday (&now, NULL);
+	  __gettimeofday (&now, NULL);
 	  wakeup_time.tv_sec = now.tv_sec + optim.aio_idle_time;
 	  wakeup_time.tv_nsec = now.tv_usec * 1000;
 	  if (wakeup_time.tv_nsec >= 1000000000)

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

Summary of changes:
 ChangeLog                         |   21 +++++++++++++++++++++
 NEWS                              |    3 ++-
 conform/Makefile                  |    3 ---
 include/sys/resource.h            |    1 +
 nptl/nptl-init.c                  |    2 +-
 nptl/pthread_cond_timedwait.c     |    2 +-
 nptl/pthread_rwlock_timedrdlock.c |    2 +-
 nptl/pthread_rwlock_timedwrlock.c |    2 +-
 resource/Versions                 |    3 +++
 resource/getrlimit.c              |    1 +
 sysdeps/mach/hurd/getrlimit.c     |    1 +
 sysdeps/pthread/aio_misc.c        |    2 +-
 12 files changed, 34 insertions(+), 9 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]