summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--NEWS3
-rw-r--r--conform/Makefile3
-rw-r--r--include/sys/resource.h1
-rw-r--r--nptl/nptl-init.c2
-rw-r--r--nptl/pthread_cond_timedwait.c2
-rw-r--r--nptl/pthread_rwlock_timedrdlock.c2
-rw-r--r--nptl/pthread_rwlock_timedwrlock.c2
-rw-r--r--resource/Versions3
-rw-r--r--resource/getrlimit.c1
-rw-r--r--sysdeps/mach/hurd/getrlimit.c1
-rw-r--r--sysdeps/pthread/aio_misc.c2
12 files changed, 34 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index fede1bbcec..676fd0ee60 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 84c1353148..1b08d40a68 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 a73b217005..f99c30c7d5 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 c35df435a5..1ce190f5f0 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 dcb77c5cf6..8e90f05bb3 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 1c53bdddc3..989f0a6852 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 d3044fb047..822ac8bea5 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 560403f50a..22f9ad5d90 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 caff6a2f50..d6c2ccee1b 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 6920622922..799ee6eb49 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 0dc75185d9..141135ba5e 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 5ebceeee40..4aed16ac6d 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)