about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2012-05-22 16:00:50 -0700
committerRoland McGrath <roland@hack.frob.com>2012-05-24 13:13:46 -0700
commitc14874927b499ddfdbb03745bb32bfc778b8595f (patch)
treea07ace4f46694be67780cdf4765044f80ac4f729 /sysdeps/unix/sysv/linux
parentd6c33fda03457ca8ca87a562fa2681af16ca4ea5 (diff)
downloadglibc-c14874927b499ddfdbb03745bb32bfc778b8595f.tar.gz
glibc-c14874927b499ddfdbb03745bb32bfc778b8595f.tar.xz
glibc-c14874927b499ddfdbb03745bb32bfc778b8595f.zip
syscalls.list support for vDSO IFUNCs, use it for x32 gettimeofday and time.
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/dl-vdso.h11
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list2
2 files changed, 13 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/dl-vdso.h b/sysdeps/unix/sysv/linux/dl-vdso.h
index c30671de72..4149bacdce 100644
--- a/sysdeps/unix/sysv/linux/dl-vdso.h
+++ b/sysdeps/unix/sysv/linux/dl-vdso.h
@@ -33,6 +33,17 @@
   /* We don't have a specific file where the symbol can be found.  */	      \
   var.filename = NULL
 
+/* Use this for the known version sets defined below, where we
+   record their precomputed hash values only once, in this file.  */
+#define PREPARE_VERSION_KNOWN(var, vname) \
+  PREPARE_VERSION (var, VDSO_NAME_##vname, VDSO_HASH_##vname)
+
+#define VDSO_NAME_LINUX_2_6	"LINUX_2.6"
+#define VDSO_HASH_LINUX_2_6	61765110
+#define VDSO_NAME_LINUX_2_6_15	"LINUX_2.6.15"
+#define VDSO_HASH_LINUX_2_6_15	123718565
+#define VDSO_NAME_LINUX_2_6_29	"LINUX_2.6.29"
+#define VDSO_HASH_LINUX_2_6_29	123718585
 
 /* Functions for resolving symbols in the VDSO link map.  */
 extern void *_dl_vdso_vsym (const char *name,
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list b/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
index 7edb6fd618..2cc58af2df 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
@@ -1,6 +1,8 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
 fallocate	-	fallocate	Ci:iiii	fallocate	fallocate64
+gettimeofday	-	gettimeofday:__vdso_gettimeofday@LINUX_2.6	i:pP	__gettimeofday	gettimeofday
 posix_fadvise	-	fadvise64	Vi:iiii	posix_fadvise	posix_fadvise64
 preadv		-	preadv		Ci:ipii	preadv		preadv64
 pwritev		-	pwritev		Ci:ipii	pwritev		pwritev64
+time		-	time:__vdso_time@LINUX_2.6			Ei:P	time