00db10
commit 89fb6835583088059b8d8987c86caac33e37e5ea
00db10
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
00db10
Date:   Tue Jun 11 11:11:11 2013 +0530
00db10
00db10
    Fix symbol definitions for __clock_* functions
00db10
    
00db10
    __clock_gettime and other __clock_* functions could result in an extra
00db10
    PLT reference within libc.so if it actually gets used.  None of the
00db10
    code currently uses them, which is why this probably went unnoticed.
00db10
00db10
Index: b/include/time.h
00db10
===================================================================
00db10
--- a/include/time.h
00db10
+++ b/include/time.h
00db10
@@ -21,6 +21,7 @@ libc_hidden_proto (strptime)
00db10
 
00db10
 extern __typeof (clock_getres) __clock_getres;
00db10
 extern __typeof (clock_gettime) __clock_gettime;
00db10
+libc_hidden_proto (__clock_gettime)
00db10
 extern __typeof (clock_settime) __clock_settime;
00db10
 extern __typeof (clock_nanosleep) __clock_nanosleep;
00db10
 extern __typeof (clock_getcpuclockid) __clock_getcpuclockid;
00db10
Index: b/rt/clock_getcpuclockid.c
00db10
===================================================================
00db10
--- a/rt/clock_getcpuclockid.c
00db10
+++ b/rt/clock_getcpuclockid.c
00db10
@@ -21,7 +21,7 @@
00db10
 #include <unistd.h>
00db10
 
00db10
 int
00db10
-clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
00db10
+__clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
00db10
 {
00db10
   /* We don't allow any process ID but our own.  */
00db10
   if (pid != 0 && pid != getpid ())
00db10
@@ -37,4 +37,4 @@ clock_getcpuclockid (pid_t pid, clockid_
00db10
   return ENOENT;
00db10
 #endif
00db10
 }
00db10
-strong_alias (clock_getcpuclockid, __clock_getcpuclockid)
00db10
+weak_alias (__clock_getcpuclockid, clock_getcpuclockid)
00db10
Index: b/rt/clock_getres.c
00db10
===================================================================
00db10
--- a/rt/clock_getres.c
00db10
+++ b/rt/clock_getres.c
00db10
@@ -21,10 +21,10 @@
00db10
 
00db10
 /* Get resolution of clock.  */
00db10
 int
00db10
-clock_getres (clockid_t clock_id, struct timespec *res)
00db10
+__clock_getres (clockid_t clock_id, struct timespec *res)
00db10
 {
00db10
   __set_errno (ENOSYS);
00db10
   return -1;
00db10
 }
00db10
-strong_alias (clock_getres, __clock_getres)
00db10
+weak_alias (__clock_getres, clock_getres)
00db10
 stub_warning (clock_getres)
00db10
Index: b/rt/clock_gettime.c
00db10
===================================================================
00db10
--- a/rt/clock_gettime.c
00db10
+++ b/rt/clock_gettime.c
00db10
@@ -21,10 +21,11 @@
00db10
 
00db10
 /* Get current value of CLOCK and store it in TP.  */
00db10
 int
00db10
-clock_gettime (clockid_t clock_id, struct timespec *tp)
00db10
+__clock_gettime (clockid_t clock_id, struct timespec *tp)
00db10
 {
00db10
   __set_errno (ENOSYS);
00db10
   return -1;
00db10
 }
00db10
-strong_alias (clock_gettime, __clock_gettime)
00db10
+weak_alias (__clock_gettime, clock_gettime)
00db10
+libc_hidden_def (__clock_gettime)
00db10
 stub_warning (clock_gettime)
00db10
Index: b/rt/clock_nanosleep.c
00db10
===================================================================
00db10
--- a/rt/clock_nanosleep.c
00db10
+++ b/rt/clock_nanosleep.c
00db10
@@ -20,8 +20,8 @@
00db10
 #include <time.h>
00db10
 
00db10
 int
00db10
-clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
00db10
-		 struct timespec *rem)
00db10
+__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
00db10
+		   struct timespec *rem)
00db10
 {
00db10
   if (__builtin_expect (req->tv_nsec, 0) < 0
00db10
       || __builtin_expect (req->tv_nsec, 0) >= 1000000000)
00db10
@@ -33,5 +33,5 @@ clock_nanosleep (clockid_t clock_id, int
00db10
   /* Not implemented.  */
00db10
   return ENOSYS;
00db10
 }
00db10
-strong_alias (clock_nanosleep, __clock_nanosleep)
00db10
+weak_alias (__clock_nanosleep, clock_nanosleep)
00db10
 stub_warning (clock_nanosleep)
00db10
Index: b/rt/clock_settime.c
00db10
===================================================================
00db10
--- a/rt/clock_settime.c
00db10
+++ b/rt/clock_settime.c
00db10
@@ -21,10 +21,10 @@
00db10
 
00db10
 /* Set CLOCK to value TP.  */
00db10
 int
00db10
-clock_settime (clockid_t clock_id, const struct timespec *tp)
00db10
+__clock_settime (clockid_t clock_id, const struct timespec *tp)
00db10
 {
00db10
   __set_errno (ENOSYS);
00db10
   return -1;
00db10
 }
00db10
-strong_alias (clock_settime, __clock_settime)
00db10
+weak_alias (__clock_settime, clock_settime)
00db10
 stub_warning (clock_settime)
00db10
Index: b/sysdeps/posix/clock_getres.c
00db10
===================================================================
00db10
--- a/sysdeps/posix/clock_getres.c
00db10
+++ b/sysdeps/posix/clock_getres.c
00db10
@@ -76,7 +76,7 @@ realtime_getres (struct timespec *res)
00db10
 
00db10
 /* Get resolution of clock.  */
00db10
 int
00db10
-clock_getres (clockid_t clock_id, struct timespec *res)
00db10
+__clock_getres (clockid_t clock_id, struct timespec *res)
00db10
 {
00db10
   int retval = -1;
00db10
 
00db10
@@ -115,4 +115,4 @@ clock_getres (clockid_t clock_id, struct
00db10
 
00db10
   return retval;
00db10
 }
00db10
-strong_alias (clock_getres, __clock_getres)
00db10
+weak_alias (__clock_getres, clock_getres)
00db10
Index: b/sysdeps/unix/clock_gettime.c
00db10
===================================================================
00db10
--- a/sysdeps/unix/clock_gettime.c
00db10
+++ b/sysdeps/unix/clock_gettime.c
00db10
@@ -89,7 +89,7 @@ realtime_gettime (struct timespec *tp)
00db10
 
00db10
 /* Get current value of CLOCK and store it in TP.  */
00db10
 int
00db10
-clock_gettime (clockid_t clock_id, struct timespec *tp)
00db10
+__clock_gettime (clockid_t clock_id, struct timespec *tp)
00db10
 {
00db10
   int retval = -1;
00db10
 
00db10
@@ -132,4 +132,5 @@ clock_gettime (clockid_t clock_id, struc
00db10
 
00db10
   return retval;
00db10
 }
00db10
-strong_alias (clock_gettime, __clock_gettime)
00db10
+weak_alias (__clock_gettime, clock_gettime)
00db10
+libc_hidden_def (__clock_gettime)
00db10
Index: b/sysdeps/unix/clock_nanosleep.c
00db10
===================================================================
00db10
--- a/sysdeps/unix/clock_nanosleep.c
00db10
+++ b/sysdeps/unix/clock_nanosleep.c
00db10
@@ -39,8 +39,8 @@
00db10
 /* This implementation assumes that these is only a `nanosleep' system
00db10
    call.  So we have to remap all other activities.  */
00db10
 int
00db10
-clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
00db10
-		 struct timespec *rem)
00db10
+__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
00db10
+		   struct timespec *rem)
00db10
 {
00db10
   struct timespec now;
00db10
 
00db10
@@ -98,4 +98,4 @@ clock_nanosleep (clockid_t clock_id, int
00db10
 
00db10
   return __builtin_expect (nanosleep (req, rem), 0) ? errno : 0;
00db10
 }
00db10
-strong_alias (clock_nanosleep, __clock_nanosleep)
00db10
+weak_alias (__clock_nanosleep, clock_nanosleep)
00db10
Index: b/sysdeps/unix/clock_settime.c
00db10
===================================================================
00db10
--- a/sysdeps/unix/clock_settime.c
00db10
+++ b/sysdeps/unix/clock_settime.c
00db10
@@ -72,7 +72,7 @@ hp_timing_settime (clockid_t clock_id, c
00db10
 
00db10
 /* Set CLOCK to value TP.  */
00db10
 int
00db10
-clock_settime (clockid_t clock_id, const struct timespec *tp)
00db10
+__clock_settime (clockid_t clock_id, const struct timespec *tp)
00db10
 {
00db10
   int retval;
00db10
 
00db10
@@ -124,4 +124,4 @@ clock_settime (clockid_t clock_id, const
00db10
 
00db10
   return retval;
00db10
 }
00db10
-strong_alias (clock_settime, __clock_settime)
00db10
+weak_alias (__clock_settime, clock_settime)
00db10
Index: b/sysdeps/unix/sysv/linux/clock_getcpuclockid.c
00db10
===================================================================
00db10
--- a/sysdeps/unix/sysv/linux/clock_getcpuclockid.c
00db10
+++ b/sysdeps/unix/sysv/linux/clock_getcpuclockid.c
00db10
@@ -23,7 +23,7 @@
00db10
 #include "kernel-posix-cpu-timers.h"
00db10
 
00db10
 int
00db10
-clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
00db10
+__clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
00db10
 {
00db10
   /* The clockid_t value is a simple computation from the PID.
00db10
      But we do a clock_getres call to validate it.  */
00db10
@@ -46,4 +46,4 @@ clock_getcpuclockid (pid_t pid, clockid_
00db10
   else
00db10
     return INTERNAL_SYSCALL_ERRNO (r, err);
00db10
 }
00db10
-strong_alias (clock_getcpuclockid, __clock_getcpuclockid)
00db10
+weak_alias (__clock_getcpuclockid, clock_getcpuclockid)
00db10
Index: b/sysdeps/unix/sysv/linux/clock_nanosleep.c
00db10
===================================================================
00db10
--- a/sysdeps/unix/sysv/linux/clock_nanosleep.c
00db10
+++ b/sysdeps/unix/sysv/linux/clock_nanosleep.c
00db10
@@ -26,8 +26,8 @@
00db10
 /* We can simply use the syscall.  The CPU clocks are not supported
00db10
    with this function.  */
00db10
 int
00db10
-clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
00db10
-		 struct timespec *rem)
00db10
+__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
00db10
+		   struct timespec *rem)
00db10
 {
00db10
   INTERNAL_SYSCALL_DECL (err);
00db10
   int r;
00db10
@@ -52,4 +52,4 @@ clock_nanosleep (clockid_t clock_id, int
00db10
   return (INTERNAL_SYSCALL_ERROR_P (r, err)
00db10
 	  ? INTERNAL_SYSCALL_ERRNO (r, err) : 0);
00db10
 }
00db10
-strong_alias (clock_nanosleep, __clock_nanosleep)
00db10
+weak_alias (__clock_nanosleep, clock_nanosleep)