Signed-off-by: Dmitry Chestnykh <[email protected]>
---
 extra/Configs/Config.aarch64    |  1 +
 ldso/ldso/aarch64/dl-syscalls.h | 39 ++++++++++++++++++++++++++++++++-
 2 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/extra/Configs/Config.aarch64 b/extra/Configs/Config.aarch64
index d666cc595..6074878f2 100644
--- a/extra/Configs/Config.aarch64
+++ b/extra/Configs/Config.aarch64
@@ -13,6 +13,7 @@ config FORCE_OPTIONS_FOR_ARCH
        select ARCH_ANY_ENDIAN
        select ARCH_HAS_MMU
        select ARCH_USE_MMU
+       select ARCH_VDSO_SUPPORT
        select UCLIBC_HAS_FPU
 
 choice
diff --git a/ldso/ldso/aarch64/dl-syscalls.h b/ldso/ldso/aarch64/dl-syscalls.h
index f40c4fd31..7f3566d6b 100644
--- a/ldso/ldso/aarch64/dl-syscalls.h
+++ b/ldso/ldso/aarch64/dl-syscalls.h
@@ -1 +1,38 @@
-/* stub for arch-specific syscall issues */
+/* stub for arch-specific syscall issues/specific implementations */
+#ifndef _DL_SYSCALLS_H
+#define _DL_SYSCALLS_H
+
+#ifdef __ARCH_VDSO_GETTIMEOFDAY_NAME
+#undef __ARCH_VDSO_GETTIMEOFDAY_NAME
+#endif
+
+#ifdef __ARCH_VDSO_CLOCK_GETTIME_NAME
+#undef __ARCH_VDSO_CLOCK_GETTIME_NAME
+#endif
+
+#define __ARCH_VDSO_GETTIMEOFDAY_NAME  "__kernel_gettimeofday"
+#define __ARCH_VDSO_CLOCK_GETTIME_NAME "__kernel_clock_gettime"
+
+#if defined(__VDSO_SUPPORT__) && !defined(UCLIBC_LDSO)
+
+#include "../dl-vdso-calls.h"
+
+static int __attribute__ ((used)) __aarch64_vdso_clock_gettime(clockid_t 
clock_id, struct timespec *tp);
+static int __attribute__ ((used)) __aarch64_vdso_clock_gettime(clockid_t 
clock_id, struct timespec *tp)
+{
+    return __generic_vdso_clock_gettime(clock_id, tp);
+}
+
+static int __attribute__ ((used)) __aarch64_vdso_gettimeofday(struct timeval 
*tv, __timezone_ptr_t tz);
+static int __attribute__ ((used)) __aarch64_vdso_gettimeofday(struct timeval 
*tv, __timezone_ptr_t tz)
+{
+    return __generic_vdso_gettimeofday(tv, tz);
+}
+
+#define ARCH_VDSO_GETTIMEOFDAY(tv, tz)        __aarch64_vdso_gettimeofday(tv, 
tz)
+#define ARCH_VDSO_CLOCK_GETTIME(clock_id, tp) 
__aarch64_vdso_clock_gettime(clock_id, tp)
+
+#endif /* defined(__VDSO_SUPPORT__) && !defined(UCLIBC_LDSO) */
+
+#endif /* _DL_SYSCALLS_H */
+
-- 
2.44.0

_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to