[3/3] x86: clock_gettime and timespec_get vDSO cleanup
Commit Message
This patch removes the x86 specific timespec_get and clock_gettime
implementation to use generic HAVE_CLOCK_GETTIME_VSYSCALL way.]
--
* sysdeps/unix/sysv/linux/i386/sysdep.h (HAVE_CLOCK_GETTIME_VSYSCALL):
Define.
(HAVE_GETTIMEOFDAY_VSYSCALL): Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h
(HAVE_CLOCK_GETTIME_VSYSCALL): Likewise.
(HAVE_GETTIMEOFDAY_VSYSCALL): Likewise.
* sysdeps/unix/sysv/linux/timespec_get.c: Include errno.h.
* sysdeps/unix/sysv/linux/x86/clock_gettime.c: Remove file.
* sysdeps/unix/sysv/linux/x86/timespec_get.c: Likewise.
---
Comments
Ping.
On 20-04-2015 13:48, Adhemerval Zanella wrote:
> This patch removes the x86 specific timespec_get and clock_gettime
> implementation to use generic HAVE_CLOCK_GETTIME_VSYSCALL way.]
>
> --
>
> * sysdeps/unix/sysv/linux/i386/sysdep.h (HAVE_CLOCK_GETTIME_VSYSCALL):
> Define.
> (HAVE_GETTIMEOFDAY_VSYSCALL): Likewise.
> * sysdeps/unix/sysv/linux/x86_64/sysdep.h
> (HAVE_CLOCK_GETTIME_VSYSCALL): Likewise.
> (HAVE_GETTIMEOFDAY_VSYSCALL): Likewise.
> * sysdeps/unix/sysv/linux/timespec_get.c: Include errno.h.
> * sysdeps/unix/sysv/linux/x86/clock_gettime.c: Remove file.
> * sysdeps/unix/sysv/linux/x86/timespec_get.c: Likewise.
>
> ---
>
> diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
> index 7f6fcf3..d76aca5 100644
> --- a/sysdeps/unix/sysv/linux/i386/sysdep.h
> +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
> @@ -328,6 +328,10 @@ struct libc_do_syscall_args
> } \
> (int) resultvar; })
>
> +/* List of system calls which are supported as vsyscalls. */
> +# define HAVE_CLOCK_GETTIME_VSYSCALL 1
> +# define HAVE_GETTIMEOFDAY_VSYSCALL 1
> +
> /* Define a macro which expands inline into the wrapper code for a system
> call. This use is for internal calls that do not need to handle errors
> normally. It will never touch errno. This returns just what the kernel
> diff --git a/sysdeps/unix/sysv/linux/timespec_get.c b/sysdeps/unix/sysv/linux/timespec_get.c
> index 0e5f513..b42a44f 100644
> --- a/sysdeps/unix/sysv/linux/timespec_get.c
> +++ b/sysdeps/unix/sysv/linux/timespec_get.c
> @@ -17,6 +17,7 @@
>
> #include <time.h>
> #include <sysdep.h>
> +#include <errno.h>
>
> #ifdef HAVE_CLOCK_GETTIME_VSYSCALL
> # define HAVE_VSYSCALL
> diff --git a/sysdeps/unix/sysv/linux/x86/clock_gettime.c b/sysdeps/unix/sysv/linux/x86/clock_gettime.c
> deleted file mode 100644
> index 98ffb01..0000000
> --- a/sysdeps/unix/sysv/linux/x86/clock_gettime.c
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -/* Get the current value of a clock. Linux/x86 version.
> - Copyright (C) 2015 Free Software Foundation, Inc.
> - This file is part of the GNU C Library.
> -
> - The GNU C Library is free software; you can redistribute it and/or
> - modify it under the terms of the GNU Lesser General Public
> - License as published by the Free Software Foundation; either
> - version 2.1 of the License, or (at your option) any later version.
> -
> - The GNU C Library is distributed in the hope that it will be useful,
> - but WITHOUT ANY WARRANTY; without even the implied warranty of
> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> - Lesser General Public License for more details.
> -
> - You should have received a copy of the GNU Lesser General Public
> - License along with the GNU C Library; if not, see
> - <http://www.gnu.org/licenses/>. */
> -
> -#include <libc-vdso.h>
> -
> -#ifdef SHARED
> -# define SYSCALL_GETTIME(id, tp) \
> - ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
> - long int v_ret; \
> - PTR_DEMANGLE (f); \
> - v_ret = (*f) (id, tp); \
> - if (INTERNAL_SYSCALL_ERROR_P (v_ret, )) { \
> - __set_errno (INTERNAL_SYSCALL_ERRNO (v_ret, )); \
> - v_ret = -1; \
> - } \
> - v_ret; })
> -#endif
> -
> -#include <sysdeps/unix/sysv/linux/clock_gettime.c>
> diff --git a/sysdeps/unix/sysv/linux/x86/timespec_get.c b/sysdeps/unix/sysv/linux/x86/timespec_get.c
> deleted file mode 100644
> index b21efce..0000000
> --- a/sysdeps/unix/sysv/linux/x86/timespec_get.c
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -/* timespec_get -- returns the calendar time based on a given time base.
> - Linux/x86 version.
> - Copyright (C) 2015 Free Software Foundation, Inc.
> - This file is part of the GNU C Library.
> -
> - The GNU C Library is free software; you can redistribute it and/or
> - modify it under the terms of the GNU Lesser General Public
> - License as published by the Free Software Foundation; either
> - version 2.1 of the License, or (at your option) any later version.
> -
> - The GNU C Library is distributed in the hope that it will be useful,
> - but WITHOUT ANY WARRANTY; without even the implied warranty of
> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> - Lesser General Public License for more details.
> -
> - You should have received a copy of the GNU Lesser General Public
> - License along with the GNU C Library; if not, see
> - <http://www.gnu.org/licenses/>. */
> -
> -#include <libc-vdso.h>
> -
> -#ifdef SHARED
> -# define INTERNAL_GETTIME(id, tp) \
> - ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
> - PTR_DEMANGLE (f); \
> - (*f) (id, tp); })
> -#endif
> -
> -#include <sysdeps/unix/sysv/linux/timespec_get.c>
> diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
> index cc66093..bea3192 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/sysdep.h
> +++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
> @@ -252,6 +252,10 @@
> # undef INTERNAL_SYSCALL_ERRNO
> # define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
>
> +/* List of system calls which are supported as vsyscalls. */
> +# define HAVE_CLOCK_GETTIME_VSYSCALL 1
> +# define HAVE_GETTIMEOFDAY_VSYSCALL 1
> +
> # define LOAD_ARGS_0()
> # define LOAD_REGS_0
> # define ASM_ARGS_0
>
Ping.
On 11-05-2015 16:12, Adhemerval Zanella wrote:
> Ping.
>
> On 20-04-2015 13:48, Adhemerval Zanella wrote:
>> This patch removes the x86 specific timespec_get and clock_gettime
>> implementation to use generic HAVE_CLOCK_GETTIME_VSYSCALL way.]
>>
>> --
>>
>> * sysdeps/unix/sysv/linux/i386/sysdep.h (HAVE_CLOCK_GETTIME_VSYSCALL):
>> Define.
>> (HAVE_GETTIMEOFDAY_VSYSCALL): Likewise.
>> * sysdeps/unix/sysv/linux/x86_64/sysdep.h
>> (HAVE_CLOCK_GETTIME_VSYSCALL): Likewise.
>> (HAVE_GETTIMEOFDAY_VSYSCALL): Likewise.
>> * sysdeps/unix/sysv/linux/timespec_get.c: Include errno.h.
>> * sysdeps/unix/sysv/linux/x86/clock_gettime.c: Remove file.
>> * sysdeps/unix/sysv/linux/x86/timespec_get.c: Likewise.
>>
>> ---
>>
>> diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
>> index 7f6fcf3..d76aca5 100644
>> --- a/sysdeps/unix/sysv/linux/i386/sysdep.h
>> +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
>> @@ -328,6 +328,10 @@ struct libc_do_syscall_args
>> } \
>> (int) resultvar; })
>>
>> +/* List of system calls which are supported as vsyscalls. */
>> +# define HAVE_CLOCK_GETTIME_VSYSCALL 1
>> +# define HAVE_GETTIMEOFDAY_VSYSCALL 1
>> +
>> /* Define a macro which expands inline into the wrapper code for a system
>> call. This use is for internal calls that do not need to handle errors
>> normally. It will never touch errno. This returns just what the kernel
>> diff --git a/sysdeps/unix/sysv/linux/timespec_get.c b/sysdeps/unix/sysv/linux/timespec_get.c
>> index 0e5f513..b42a44f 100644
>> --- a/sysdeps/unix/sysv/linux/timespec_get.c
>> +++ b/sysdeps/unix/sysv/linux/timespec_get.c
>> @@ -17,6 +17,7 @@
>>
>> #include <time.h>
>> #include <sysdep.h>
>> +#include <errno.h>
>>
>> #ifdef HAVE_CLOCK_GETTIME_VSYSCALL
>> # define HAVE_VSYSCALL
>> diff --git a/sysdeps/unix/sysv/linux/x86/clock_gettime.c b/sysdeps/unix/sysv/linux/x86/clock_gettime.c
>> deleted file mode 100644
>> index 98ffb01..0000000
>> --- a/sysdeps/unix/sysv/linux/x86/clock_gettime.c
>> +++ /dev/null
>> @@ -1,34 +0,0 @@
>> -/* Get the current value of a clock. Linux/x86 version.
>> - Copyright (C) 2015 Free Software Foundation, Inc.
>> - This file is part of the GNU C Library.
>> -
>> - The GNU C Library is free software; you can redistribute it and/or
>> - modify it under the terms of the GNU Lesser General Public
>> - License as published by the Free Software Foundation; either
>> - version 2.1 of the License, or (at your option) any later version.
>> -
>> - The GNU C Library is distributed in the hope that it will be useful,
>> - but WITHOUT ANY WARRANTY; without even the implied warranty of
>> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>> - Lesser General Public License for more details.
>> -
>> - You should have received a copy of the GNU Lesser General Public
>> - License along with the GNU C Library; if not, see
>> - <http://www.gnu.org/licenses/>. */
>> -
>> -#include <libc-vdso.h>
>> -
>> -#ifdef SHARED
>> -# define SYSCALL_GETTIME(id, tp) \
>> - ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
>> - long int v_ret; \
>> - PTR_DEMANGLE (f); \
>> - v_ret = (*f) (id, tp); \
>> - if (INTERNAL_SYSCALL_ERROR_P (v_ret, )) { \
>> - __set_errno (INTERNAL_SYSCALL_ERRNO (v_ret, )); \
>> - v_ret = -1; \
>> - } \
>> - v_ret; })
>> -#endif
>> -
>> -#include <sysdeps/unix/sysv/linux/clock_gettime.c>
>> diff --git a/sysdeps/unix/sysv/linux/x86/timespec_get.c b/sysdeps/unix/sysv/linux/x86/timespec_get.c
>> deleted file mode 100644
>> index b21efce..0000000
>> --- a/sysdeps/unix/sysv/linux/x86/timespec_get.c
>> +++ /dev/null
>> @@ -1,29 +0,0 @@
>> -/* timespec_get -- returns the calendar time based on a given time base.
>> - Linux/x86 version.
>> - Copyright (C) 2015 Free Software Foundation, Inc.
>> - This file is part of the GNU C Library.
>> -
>> - The GNU C Library is free software; you can redistribute it and/or
>> - modify it under the terms of the GNU Lesser General Public
>> - License as published by the Free Software Foundation; either
>> - version 2.1 of the License, or (at your option) any later version.
>> -
>> - The GNU C Library is distributed in the hope that it will be useful,
>> - but WITHOUT ANY WARRANTY; without even the implied warranty of
>> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>> - Lesser General Public License for more details.
>> -
>> - You should have received a copy of the GNU Lesser General Public
>> - License along with the GNU C Library; if not, see
>> - <http://www.gnu.org/licenses/>. */
>> -
>> -#include <libc-vdso.h>
>> -
>> -#ifdef SHARED
>> -# define INTERNAL_GETTIME(id, tp) \
>> - ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
>> - PTR_DEMANGLE (f); \
>> - (*f) (id, tp); })
>> -#endif
>> -
>> -#include <sysdeps/unix/sysv/linux/timespec_get.c>
>> diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
>> index cc66093..bea3192 100644
>> --- a/sysdeps/unix/sysv/linux/x86_64/sysdep.h
>> +++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
>> @@ -252,6 +252,10 @@
>> # undef INTERNAL_SYSCALL_ERRNO
>> # define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
>>
>> +/* List of system calls which are supported as vsyscalls. */
>> +# define HAVE_CLOCK_GETTIME_VSYSCALL 1
>> +# define HAVE_GETTIMEOFDAY_VSYSCALL 1
>> +
>> # define LOAD_ARGS_0()
>> # define LOAD_REGS_0
>> # define ASM_ARGS_0
>>
Since it is a refactor based on already committed patches, I will push it
soon if anyone opposes it.
On 26-05-2015 17:41, Adhemerval Zanella wrote:
> Ping.
>
> On 11-05-2015 16:12, Adhemerval Zanella wrote:
>> Ping.
>>
>> On 20-04-2015 13:48, Adhemerval Zanella wrote:
>>> This patch removes the x86 specific timespec_get and clock_gettime
>>> implementation to use generic HAVE_CLOCK_GETTIME_VSYSCALL way.]
>>>
>>> --
>>>
>>> * sysdeps/unix/sysv/linux/i386/sysdep.h (HAVE_CLOCK_GETTIME_VSYSCALL):
>>> Define.
>>> (HAVE_GETTIMEOFDAY_VSYSCALL): Likewise.
>>> * sysdeps/unix/sysv/linux/x86_64/sysdep.h
>>> (HAVE_CLOCK_GETTIME_VSYSCALL): Likewise.
>>> (HAVE_GETTIMEOFDAY_VSYSCALL): Likewise.
>>> * sysdeps/unix/sysv/linux/timespec_get.c: Include errno.h.
>>> * sysdeps/unix/sysv/linux/x86/clock_gettime.c: Remove file.
>>> * sysdeps/unix/sysv/linux/x86/timespec_get.c: Likewise.
>>>
>>> ---
>>>
>>> diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
>>> index 7f6fcf3..d76aca5 100644
>>> --- a/sysdeps/unix/sysv/linux/i386/sysdep.h
>>> +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
>>> @@ -328,6 +328,10 @@ struct libc_do_syscall_args
>>> } \
>>> (int) resultvar; })
>>>
>>> +/* List of system calls which are supported as vsyscalls. */
>>> +# define HAVE_CLOCK_GETTIME_VSYSCALL 1
>>> +# define HAVE_GETTIMEOFDAY_VSYSCALL 1
>>> +
>>> /* Define a macro which expands inline into the wrapper code for a system
>>> call. This use is for internal calls that do not need to handle errors
>>> normally. It will never touch errno. This returns just what the kernel
>>> diff --git a/sysdeps/unix/sysv/linux/timespec_get.c b/sysdeps/unix/sysv/linux/timespec_get.c
>>> index 0e5f513..b42a44f 100644
>>> --- a/sysdeps/unix/sysv/linux/timespec_get.c
>>> +++ b/sysdeps/unix/sysv/linux/timespec_get.c
>>> @@ -17,6 +17,7 @@
>>>
>>> #include <time.h>
>>> #include <sysdep.h>
>>> +#include <errno.h>
>>>
>>> #ifdef HAVE_CLOCK_GETTIME_VSYSCALL
>>> # define HAVE_VSYSCALL
>>> diff --git a/sysdeps/unix/sysv/linux/x86/clock_gettime.c b/sysdeps/unix/sysv/linux/x86/clock_gettime.c
>>> deleted file mode 100644
>>> index 98ffb01..0000000
>>> --- a/sysdeps/unix/sysv/linux/x86/clock_gettime.c
>>> +++ /dev/null
>>> @@ -1,34 +0,0 @@
>>> -/* Get the current value of a clock. Linux/x86 version.
>>> - Copyright (C) 2015 Free Software Foundation, Inc.
>>> - This file is part of the GNU C Library.
>>> -
>>> - The GNU C Library is free software; you can redistribute it and/or
>>> - modify it under the terms of the GNU Lesser General Public
>>> - License as published by the Free Software Foundation; either
>>> - version 2.1 of the License, or (at your option) any later version.
>>> -
>>> - The GNU C Library is distributed in the hope that it will be useful,
>>> - but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>>> - Lesser General Public License for more details.
>>> -
>>> - You should have received a copy of the GNU Lesser General Public
>>> - License along with the GNU C Library; if not, see
>>> - <http://www.gnu.org/licenses/>. */
>>> -
>>> -#include <libc-vdso.h>
>>> -
>>> -#ifdef SHARED
>>> -# define SYSCALL_GETTIME(id, tp) \
>>> - ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
>>> - long int v_ret; \
>>> - PTR_DEMANGLE (f); \
>>> - v_ret = (*f) (id, tp); \
>>> - if (INTERNAL_SYSCALL_ERROR_P (v_ret, )) { \
>>> - __set_errno (INTERNAL_SYSCALL_ERRNO (v_ret, )); \
>>> - v_ret = -1; \
>>> - } \
>>> - v_ret; })
>>> -#endif
>>> -
>>> -#include <sysdeps/unix/sysv/linux/clock_gettime.c>
>>> diff --git a/sysdeps/unix/sysv/linux/x86/timespec_get.c b/sysdeps/unix/sysv/linux/x86/timespec_get.c
>>> deleted file mode 100644
>>> index b21efce..0000000
>>> --- a/sysdeps/unix/sysv/linux/x86/timespec_get.c
>>> +++ /dev/null
>>> @@ -1,29 +0,0 @@
>>> -/* timespec_get -- returns the calendar time based on a given time base.
>>> - Linux/x86 version.
>>> - Copyright (C) 2015 Free Software Foundation, Inc.
>>> - This file is part of the GNU C Library.
>>> -
>>> - The GNU C Library is free software; you can redistribute it and/or
>>> - modify it under the terms of the GNU Lesser General Public
>>> - License as published by the Free Software Foundation; either
>>> - version 2.1 of the License, or (at your option) any later version.
>>> -
>>> - The GNU C Library is distributed in the hope that it will be useful,
>>> - but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>>> - Lesser General Public License for more details.
>>> -
>>> - You should have received a copy of the GNU Lesser General Public
>>> - License along with the GNU C Library; if not, see
>>> - <http://www.gnu.org/licenses/>. */
>>> -
>>> -#include <libc-vdso.h>
>>> -
>>> -#ifdef SHARED
>>> -# define INTERNAL_GETTIME(id, tp) \
>>> - ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
>>> - PTR_DEMANGLE (f); \
>>> - (*f) (id, tp); })
>>> -#endif
>>> -
>>> -#include <sysdeps/unix/sysv/linux/timespec_get.c>
>>> diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
>>> index cc66093..bea3192 100644
>>> --- a/sysdeps/unix/sysv/linux/x86_64/sysdep.h
>>> +++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
>>> @@ -252,6 +252,10 @@
>>> # undef INTERNAL_SYSCALL_ERRNO
>>> # define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
>>>
>>> +/* List of system calls which are supported as vsyscalls. */
>>> +# define HAVE_CLOCK_GETTIME_VSYSCALL 1
>>> +# define HAVE_GETTIMEOFDAY_VSYSCALL 1
>>> +
>>> # define LOAD_ARGS_0()
>>> # define LOAD_REGS_0
>>> # define ASM_ARGS_0
>>>
@@ -328,6 +328,10 @@ struct libc_do_syscall_args
} \
(int) resultvar; })
+/* List of system calls which are supported as vsyscalls. */
+# define HAVE_CLOCK_GETTIME_VSYSCALL 1
+# define HAVE_GETTIMEOFDAY_VSYSCALL 1
+
/* Define a macro which expands inline into the wrapper code for a system
call. This use is for internal calls that do not need to handle errors
normally. It will never touch errno. This returns just what the kernel
@@ -17,6 +17,7 @@
#include <time.h>
#include <sysdep.h>
+#include <errno.h>
#ifdef HAVE_CLOCK_GETTIME_VSYSCALL
# define HAVE_VSYSCALL
deleted file mode 100644
@@ -1,34 +0,0 @@
-/* Get the current value of a clock. Linux/x86 version.
- Copyright (C) 2015 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <libc-vdso.h>
-
-#ifdef SHARED
-# define SYSCALL_GETTIME(id, tp) \
- ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
- long int v_ret; \
- PTR_DEMANGLE (f); \
- v_ret = (*f) (id, tp); \
- if (INTERNAL_SYSCALL_ERROR_P (v_ret, )) { \
- __set_errno (INTERNAL_SYSCALL_ERRNO (v_ret, )); \
- v_ret = -1; \
- } \
- v_ret; })
-#endif
-
-#include <sysdeps/unix/sysv/linux/clock_gettime.c>
deleted file mode 100644
@@ -1,29 +0,0 @@
-/* timespec_get -- returns the calendar time based on a given time base.
- Linux/x86 version.
- Copyright (C) 2015 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <libc-vdso.h>
-
-#ifdef SHARED
-# define INTERNAL_GETTIME(id, tp) \
- ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
- PTR_DEMANGLE (f); \
- (*f) (id, tp); })
-#endif
-
-#include <sysdeps/unix/sysv/linux/timespec_get.c>
@@ -252,6 +252,10 @@
# undef INTERNAL_SYSCALL_ERRNO
# define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
+/* List of system calls which are supported as vsyscalls. */
+# define HAVE_CLOCK_GETTIME_VSYSCALL 1
+# define HAVE_GETTIMEOFDAY_VSYSCALL 1
+
# define LOAD_ARGS_0()
# define LOAD_REGS_0
# define ASM_ARGS_0