mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Fix symbol definitions for __clock_* functions
__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.
This commit is contained in:
parent
b8c61b4b1d
commit
89fb683558
22
ChangeLog
22
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.
|
||||
|
@ -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;
|
||||
|
@ -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)
|
||||
|
@ -21,10 +21,10 @@
|
||||
|
||||
/* 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)
|
||||
|
@ -21,10 +21,11 @@
|
||||
|
||||
/* 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)
|
||||
|
@ -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)
|
||||
|
@ -21,10 +21,10 @@
|
||||
|
||||
/* 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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user