Fix symbol definitions for __clock_* functions
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Tue, 11 Jun 2013 05:41:11 +0000 (11:11 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Tue, 11 Jun 2013 05:41:11 +0000 (11:11 +0530)
__clock_gettime and other __clock_* functions could result in an extra
PLT reference within libc.so if it actually gets used.  None of the
code currently uses them, which is why this probably went unnoticed.

13 files changed:
ChangeLog
include/time.h
rt/clock_getcpuclockid.c
rt/clock_getres.c
rt/clock_gettime.c
rt/clock_nanosleep.c
rt/clock_settime.c
sysdeps/posix/clock_getres.c
sysdeps/unix/clock_gettime.c
sysdeps/unix/clock_nanosleep.c
sysdeps/unix/clock_settime.c
sysdeps/unix/sysv/linux/clock_getcpuclockid.c
sysdeps/unix/sysv/linux/clock_nanosleep.c

index 19cb14c..ded27a8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2013-06-11  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+       * include/time.h (__clock_gettime): Add libc_hidden_proto.
+       * rt/clock_getcpuclockid.c (clock_getcpuclockid): Rename to
+       __clock_getcpuclockid.  Add weak_alias and libc_hidden_def.
+       * sysdeps/unix/sysv/linux/clock_getcpuclockid.c
+       (clock_getcpuclockid): Likewise.
+       * rt/clock_getres.c (clock_getres): Rename to __clock_getres.
+       Add weak_alias and libc_hidden_def.
+       * sysdeps/posix/clock_getres.c (clock_getres): Likewise.
+       * rt/clock_gettime.c (clock_gettime): Rename to
+       __clock_gettime.  Add weak_alias and libc_hidden_def.
+       * sysdeps/unix/clock_gettime.c (clock_gettime): Likewise.
+       * rt/clock_nanosleep.c (clock_nanosleep): Rename to
+       __clock_nanosleep.  Add weak_alias and libc_hidden_def.
+       * sysdeps/unix/clock_nanosleep.c (clock_nanosleep): Likewise.
+       * sysdeps/unix/sysv/linux/clock_nanosleep.c (clock_nanosleep):
+       Likewise.
+       * rt/clock_settime.c (clock_settime): Rename to
+       __clock_settime.  Add weak_alias and libc_hidden_def.
+       * sysdeps/unix/clock_settime.c (clock_settime): Likewise.
+
 2013-06-10  Joseph Myers  <joseph@codesourcery.com>
 
        * mach/err_boot.sub: Remove trailing whitespace.
index 9be15b9..8dd10dc 100644 (file)
@@ -21,6 +21,7 @@ libc_hidden_proto (strptime)
 
 extern __typeof (clock_getres) __clock_getres;
 extern __typeof (clock_gettime) __clock_gettime;
+libc_hidden_proto (__clock_gettime)
 extern __typeof (clock_settime) __clock_settime;
 extern __typeof (clock_nanosleep) __clock_nanosleep;
 extern __typeof (clock_getcpuclockid) __clock_getcpuclockid;
index 44d7724..d16ce14 100644 (file)
@@ -21,7 +21,7 @@
 #include <unistd.h>
 
 int
-clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
+__clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
 {
   /* We don't allow any process ID but our own.  */
   if (pid != 0 && pid != getpid ())
@@ -37,4 +37,4 @@ clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
   return ENOENT;
 #endif
 }
-strong_alias (clock_getcpuclockid, __clock_getcpuclockid)
+weak_alias (__clock_getcpuclockid, clock_getcpuclockid)
index cd59b14..df19c40 100644 (file)
 
 /* Get resolution of clock.  */
 int
-clock_getres (clockid_t clock_id, struct timespec *res)
+__clock_getres (clockid_t clock_id, struct timespec *res)
 {
   __set_errno (ENOSYS);
   return -1;
 }
-strong_alias (clock_getres, __clock_getres)
+weak_alias (__clock_getres, clock_getres)
 stub_warning (clock_getres)
index cc7936d..1c9e524 100644 (file)
 
 /* Get current value of CLOCK and store it in TP.  */
 int
-clock_gettime (clockid_t clock_id, struct timespec *tp)
+__clock_gettime (clockid_t clock_id, struct timespec *tp)
 {
   __set_errno (ENOSYS);
   return -1;
 }
-strong_alias (clock_gettime, __clock_gettime)
+weak_alias (__clock_gettime, clock_gettime)
+libc_hidden_def (__clock_gettime)
 stub_warning (clock_gettime)
index 24f8bc6..8779147 100644 (file)
@@ -20,8 +20,8 @@
 #include <time.h>
 
 int
-clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
-                struct timespec *rem)
+__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
+                  struct timespec *rem)
 {
   if (__builtin_expect (req->tv_nsec, 0) < 0
       || __builtin_expect (req->tv_nsec, 0) >= 1000000000)
@@ -33,5 +33,5 @@ clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
   /* Not implemented.  */
   return ENOSYS;
 }
-strong_alias (clock_nanosleep, __clock_nanosleep)
+weak_alias (__clock_nanosleep, clock_nanosleep)
 stub_warning (clock_nanosleep)
index 411a7ee..9249f26 100644 (file)
 
 /* Set CLOCK to value TP.  */
 int
-clock_settime (clockid_t clock_id, const struct timespec *tp)
+__clock_settime (clockid_t clock_id, const struct timespec *tp)
 {
   __set_errno (ENOSYS);
   return -1;
 }
-strong_alias (clock_settime, __clock_settime)
+weak_alias (__clock_settime, clock_settime)
 stub_warning (clock_settime)
index 7581f32..5d898e4 100644 (file)
@@ -76,7 +76,7 @@ realtime_getres (struct timespec *res)
 
 /* Get resolution of clock.  */
 int
-clock_getres (clockid_t clock_id, struct timespec *res)
+__clock_getres (clockid_t clock_id, struct timespec *res)
 {
   int retval = -1;
 
@@ -115,4 +115,4 @@ clock_getres (clockid_t clock_id, struct timespec *res)
 
   return retval;
 }
-strong_alias (clock_getres, __clock_getres)
+weak_alias (__clock_getres, clock_getres)
index 1c64f07..d46057a 100644 (file)
@@ -89,7 +89,7 @@ realtime_gettime (struct timespec *tp)
 
 /* Get current value of CLOCK and store it in TP.  */
 int
-clock_gettime (clockid_t clock_id, struct timespec *tp)
+__clock_gettime (clockid_t clock_id, struct timespec *tp)
 {
   int retval = -1;
 
@@ -132,4 +132,5 @@ clock_gettime (clockid_t clock_id, struct timespec *tp)
 
   return retval;
 }
-strong_alias (clock_gettime, __clock_gettime)
+weak_alias (__clock_gettime, clock_gettime)
+libc_hidden_def (__clock_gettime)
index 33fee7b..0079324 100644 (file)
@@ -39,8 +39,8 @@
 /* This implementation assumes that these is only a `nanosleep' system
    call.  So we have to remap all other activities.  */
 int
-clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
-                struct timespec *rem)
+__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
+                  struct timespec *rem)
 {
   struct timespec now;
 
@@ -98,4 +98,4 @@ clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
 
   return __builtin_expect (nanosleep (req, rem), 0) ? errno : 0;
 }
-strong_alias (clock_nanosleep, __clock_nanosleep)
+weak_alias (__clock_nanosleep, clock_nanosleep)
index 48269cc..6605e9e 100644 (file)
@@ -72,7 +72,7 @@ hp_timing_settime (clockid_t clock_id, const struct timespec *tp)
 
 /* Set CLOCK to value TP.  */
 int
-clock_settime (clockid_t clock_id, const struct timespec *tp)
+__clock_settime (clockid_t clock_id, const struct timespec *tp)
 {
   int retval;
 
@@ -124,4 +124,4 @@ clock_settime (clockid_t clock_id, const struct timespec *tp)
 
   return retval;
 }
-strong_alias (clock_settime, __clock_settime)
+weak_alias (__clock_settime, clock_settime)
index 5c89c66..e234bdc 100644 (file)
@@ -23,7 +23,7 @@
 #include "kernel-posix-cpu-timers.h"
 
 int
-clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
+__clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
 {
   /* The clockid_t value is a simple computation from the PID.
      But we do a clock_getres call to validate it.  */
@@ -46,4 +46,4 @@ clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
   else
     return INTERNAL_SYSCALL_ERRNO (r, err);
 }
-strong_alias (clock_getcpuclockid, __clock_getcpuclockid)
+weak_alias (__clock_getcpuclockid, clock_getcpuclockid)
index 41bc5e9..2e496d2 100644 (file)
@@ -26,8 +26,8 @@
 /* We can simply use the syscall.  The CPU clocks are not supported
    with this function.  */
 int
-clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
-                struct timespec *rem)
+__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
+                  struct timespec *rem)
 {
   INTERNAL_SYSCALL_DECL (err);
   int r;
@@ -52,4 +52,4 @@ clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req,
   return (INTERNAL_SYSCALL_ERROR_P (r, err)
          ? INTERNAL_SYSCALL_ERRNO (r, err) : 0);
 }
-strong_alias (clock_nanosleep, __clock_nanosleep)
+weak_alias (__clock_nanosleep, clock_nanosleep)