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.
This commit is contained in:
Rafael Ávila de Espíndola 2018-11-30 14:32:35 -08:00 committed by H.J. Lu
parent 5e63c240a2
commit 15b8d67e29
3 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2018-11-30 Rafael Ávila de Espíndola <rafael@espindo.la>
[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 <fweimer@redhat.com> 2018-11-30 Florian Weimer <fweimer@redhat.com>
* scripts/abilist.awk: Print "0x0" for size 0. Handle "g"/"D". * scripts/abilist.awk: Print "0x0" for size 0. Handle "g"/"D".

View File

@ -16,11 +16,10 @@
License along with the GNU C Library; if not, see License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#ifdef SHARED #include <time.h>
# include <time.h> #include <sysdep.h>
# include <sysdep.h> #include <dl-vdso.h>
# include <dl-vdso.h> #include <sysdep-vdso.h>
# include <sysdep-vdso.h>
long int (*VDSO_SYMBOL (clock_gettime)) (clockid_t, struct timespec *) long int (*VDSO_SYMBOL (clock_gettime)) (clockid_t, struct timespec *)
attribute_hidden; attribute_hidden;
@ -44,7 +43,6 @@ __vdso_platform_setup (void)
VDSO_SYMBOL (clock_gettime) = p; VDSO_SYMBOL (clock_gettime) = p;
} }
# define VDSO_SETUP __vdso_platform_setup #define VDSO_SETUP __vdso_platform_setup
#endif
#include <csu/init-first.c> #include <csu/init-first.c>

View File

@ -19,6 +19,9 @@
#ifndef _LINUX_I386_SYSDEP_H #ifndef _LINUX_I386_SYSDEP_H
#define _LINUX_I386_SYSDEP_H 1 #define _LINUX_I386_SYSDEP_H 1
/* Always enable vsyscalls on i386 */
#define ALWAYS_USE_VSYSCALL 1
/* There is some commonality. */ /* There is some commonality. */
#include <sysdeps/unix/sysv/linux/sysdep.h> #include <sysdeps/unix/sysv/linux/sysdep.h>
#include <sysdeps/unix/i386/sysdep.h> #include <sysdeps/unix/i386/sysdep.h>