aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/libc-vdso.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/libc-vdso.h')
-rw-r--r--sysdeps/unix/sysv/linux/libc-vdso.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/libc-vdso.h b/sysdeps/unix/sysv/linux/libc-vdso.h
index 2e63aa1bba..792ac39d85 100644
--- a/sysdeps/unix/sysv/linux/libc-vdso.h
+++ b/sysdeps/unix/sysv/linux/libc-vdso.h
@@ -21,6 +21,13 @@
#define VDSO_SYMBOL(__name) __vdso_##__name
+/* Adjust the return IFUNC value from a vDSO symbol accordingly required
+ by the ELFv1 ABI. It is used by the architecture to create an ODP
+ entry since the kernel vDSO does not provide it. */
+#ifndef VDSO_IFUNC_RET
+# define VDSO_IFUNC_RET(__value) (__value)
+#endif
+
#ifdef HAVE_CLOCK_GETTIME_VSYSCALL
extern int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
attribute_hidden;