From 15b8d67e29142251a30576b5ab469051a8833e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Fri, 30 Nov 2018 14:32:35 -0800 Subject: [PATCH] Enable VDSO on i386 statically linked programs [BZ #19767] * sysdeps/unix/sysv/linux/i386/init-first.c: Don't check SHARED. * sysdeps/unix/sysv/linux/i386/sysdep.h (ALWAYS_USE_VSYSCALL): New. --- ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/i386/init-first.c | 12 +++++------- sysdeps/unix/sysv/linux/i386/sysdep.h | 3 +++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index bb53b641a8..87d3863e7c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2018-11-30 Rafael Ávila de Espíndola + + [BZ #19767] + * sysdeps/unix/sysv/linux/i386/init-first.c: Don't check SHARED. + * sysdeps/unix/sysv/linux/i386/sysdep.h (ALWAYS_USE_VSYSCALL): + New. + 2018-11-30 Florian Weimer * scripts/abilist.awk: Print "0x0" for size 0. Handle "g"/"D". diff --git a/sysdeps/unix/sysv/linux/i386/init-first.c b/sysdeps/unix/sysv/linux/i386/init-first.c index 82ac7f5cf2..6e62dd5923 100644 --- a/sysdeps/unix/sysv/linux/i386/init-first.c +++ b/sysdeps/unix/sysv/linux/i386/init-first.c @@ -16,11 +16,10 @@ License along with the GNU C Library; if not, see . */ -#ifdef SHARED -# include -# include -# include -# include +#include +#include +#include +#include long int (*VDSO_SYMBOL (clock_gettime)) (clockid_t, struct timespec *) attribute_hidden; @@ -44,7 +43,6 @@ __vdso_platform_setup (void) VDSO_SYMBOL (clock_gettime) = p; } -# define VDSO_SETUP __vdso_platform_setup -#endif +#define VDSO_SETUP __vdso_platform_setup #include diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 3255cc78b8..3891663a64 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -19,6 +19,9 @@ #ifndef _LINUX_I386_SYSDEP_H #define _LINUX_I386_SYSDEP_H 1 +/* Always enable vsyscalls on i386 */ +#define ALWAYS_USE_VSYSCALL 1 + /* There is some commonality. */ #include #include