mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
Make sure __vdso_clock_gettime always contains a valid pointer
This commit is contained in:
parent
fc8bffcccf
commit
e38ba7ab6a
@ -1,3 +1,11 @@
|
|||||||
|
2011-09-07 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/x86_64/init-first.c
|
||||||
|
(_libc_vdso_platform_setup): If vDSO is not present store pointer to
|
||||||
|
syscall wrapper around clock_gettime in __vdso_clock_gettime.
|
||||||
|
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add entry for
|
||||||
|
clock_gettime.
|
||||||
|
|
||||||
2011-09-06 Ulrich Drepper <drepper@gmail.com>
|
2011-09-06 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/x86_64/clock_gettime.c (INTERNAL_GETTIME):
|
* sysdeps/unix/sysv/linux/x86_64/clock_gettime.c (INTERNAL_GETTIME):
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
02111-1307 USA. */
|
02111-1307 USA. */
|
||||||
|
|
||||||
#ifdef SHARED
|
#ifdef SHARED
|
||||||
|
# include <time.h>
|
||||||
|
# include <sysdep.h>
|
||||||
# include <dl-vdso.h>
|
# include <dl-vdso.h>
|
||||||
# include <bits/libc-vdso.h>
|
# include <bits/libc-vdso.h>
|
||||||
|
|
||||||
@ -27,12 +29,17 @@ strong_alias (__vdso_clock_gettime, __GI___vdso_clock_gettime attribute_hidden)
|
|||||||
long int (*__vdso_getcpu) (unsigned *, unsigned *, void *) attribute_hidden;
|
long int (*__vdso_getcpu) (unsigned *, unsigned *, void *) attribute_hidden;
|
||||||
|
|
||||||
|
|
||||||
|
extern long int __syscall_clock_gettime (clockid_t, struct timespec *);
|
||||||
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
_libc_vdso_platform_setup (void)
|
_libc_vdso_platform_setup (void)
|
||||||
{
|
{
|
||||||
PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
|
PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
|
||||||
|
|
||||||
void *p = _dl_vdso_vsym ("clock_gettime", &linux26);
|
void *p = _dl_vdso_vsym ("clock_gettime", &linux26);
|
||||||
|
if (p == NULL)
|
||||||
|
p = __syscall_clock_gettime;
|
||||||
PTR_MANGLE (p);
|
PTR_MANGLE (p);
|
||||||
__GI___vdso_clock_gettime = p;
|
__GI___vdso_clock_gettime = p;
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ semop - semop i:ipi __semop semop
|
|||||||
semtimedop - semtimedop i:ipip semtimedop
|
semtimedop - semtimedop i:ipip semtimedop
|
||||||
semget - semget i:iii __semget semget
|
semget - semget i:iii __semget semget
|
||||||
semctl - semctl i:iiii __semctl semctl
|
semctl - semctl i:iiii __semctl semctl
|
||||||
|
syscall_clock_gettime EXTRA clock_gettime Ei:ip __syscall_clock_gettime
|
||||||
|
|
||||||
|
|
||||||
# proper socket implementations:
|
# proper socket implementations:
|
||||||
|
Loading…
Reference in New Issue
Block a user