summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/x86_64/init-first.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-20 19:50:45 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-20 19:50:45 +0200
commit4dd9e35bfd35d3138bc44169baba098005bad51e (patch)
treea4939c43a9c3fe00eb27f023e14acc5e1fe8808c /sysdeps/unix/sysv/linux/x86_64/init-first.c
parentbd42a4599d1b6f77bcfe1e4f67b7cbd9e1cb2dfd (diff)
parentf76453c31593957fec1a99b986bfa5506618b79c (diff)
Merge commit 'refs/top-bases/t/bigmem' into t/bigmem
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64/init-first.c')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/init-first.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/init-first.c b/sysdeps/unix/sysv/linux/x86_64/init-first.c
index fb090dfed7..6e2b04030e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/init-first.c
+++ b/sysdeps/unix/sysv/linux/x86_64/init-first.c
@@ -1,5 +1,5 @@
/* Initialization code run first thing by the ELF startup code. Linux/x86-64.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-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
@@ -20,20 +20,18 @@
# include <time.h>
# include <sysdep.h>
# include <dl-vdso.h>
-# include <bits/libc-vdso.h>
-
-long int (*__vdso_clock_gettime) (clockid_t, struct timespec *)
- __attribute__ ((nocommon));
-strong_alias (__vdso_clock_gettime, __GI___vdso_clock_gettime attribute_hidden)
-
-long int (*__vdso_getcpu) (unsigned *, unsigned *, void *) attribute_hidden;
+# include <libc-vdso.h>
+long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
+ attribute_hidden;
+long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *)
+ attribute_hidden;
extern long int __syscall_clock_gettime (clockid_t, struct timespec *);
static inline void
-_libc_vdso_platform_setup (void)
+__vdso_platform_setup (void)
{
PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
@@ -41,18 +39,14 @@ _libc_vdso_platform_setup (void)
if (p == NULL)
p = __syscall_clock_gettime;
PTR_MANGLE (p);
- __GI___vdso_clock_gettime = p;
+ VDSO_SYMBOL(clock_gettime) = p;
p = _dl_vdso_vsym ("__vdso_getcpu", &linux26);
- /* If the vDSO is not available we fall back on the old vsyscall. */
-#define VSYSCALL_ADDR_vgetcpu 0xffffffffff600800
- if (p == NULL)
- p = (void *) VSYSCALL_ADDR_vgetcpu;
PTR_MANGLE (p);
- __vdso_getcpu = p;
+ VDSO_SYMBOL(getcpu) = p;
}
-# define VDSO_SETUP _libc_vdso_platform_setup
+# define VDSO_SETUP __vdso_platform_setup
#endif
#include <csu/init-first.c>