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 19cb14c896cd100481ff570864703aea903f5043..ded27a8a22a8b332461759d123cff0be740a5033 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 9be15b97398c61f3242101eeb9d745911701fa15..8dd10dcdd8d9592231c052d31f35e482d081c030 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 44d7724fad543517982dfdab797bfbbcedf7bbec..d16ce14a8ba0214050ceee9124a3e8f366c69291 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 cd59b141f4eb66c1dea8800df86ec1ceae1ab770..df19c40de3d5088d7b4c29c46363b13b5798d20f 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 cc7936de8a53aaa508dcaff37a74728a8a55c651..1c9e52459a5787c89e32251f18d0f9fd7e602e4e 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 24f8bc66086c993234fad7bb14c3fdce63ff9f6b..87791475160dca1caa8c63d45421156050aa5c88 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 411a7ee5da7eccfc78e69f118ca685cdcf317f65..9249f262ff0f6a44e9d96de56347be70c69097b7 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 7581f32806628cc48b8b4063ad618be76bcf8324..5d898e4d04d7d2c3f9eec8e315e2e7d3df8a186e 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 1c64f07ec3817d6360ae0816a5d48bbc04f087f5..d46057a6c7746ecda2fa4617fa79c4b37a2ee207 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 33fee7ba280a8a0cd16c06796ef5221c1b8301ad..00793242f61f06e81b5333736e509e47cf096073 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 48269ccd9105f72e88e890606ec0996c40190dca..6605e9ead9b8f7b0c66e882a4f3b88a84029015d 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 5c89c66a4eee4de8fee99b0b01b64a17545fdf59..e234bdc609f198015f1564e663496e746bac66ad 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 41bc5e904155f982171ec25dc89735c1fbbba7ac..2e496d28c64474362e9dc3ff48f44887945f1f96 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)