Message ID | 55352DC3.40900@linaro.org |
---|---|
State | New |
Headers | show |
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 >>>
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