diff mbox series

[uclibc-ng-devel] x86: Add vDSO support.

Message ID 20240420160912.411014-1-dm.chestnykh@gmail.com
State Accepted
Headers show
Series [uclibc-ng-devel] x86: Add vDSO support. | expand

Commit Message

Dmitriy Chestnykh April 20, 2024, 4:09 p.m. UTC
Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
---
 extra/Configs/Config.i386    |  1 +
 ldso/ldso/i386/dl-syscalls.h | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)

Comments

Waldemar Brodkorb April 21, 2024, 9:31 a.m. UTC | #1
Hi Dmitry,
Dmitry Chestnykh wrote,

> Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>

Committed and pushed,
 best regards
  Waldemar
Ramin Moussavi April 25, 2024, 6:33 p.m. UTC | #2
nice to see that someone is cleaning up the code for using the vdso
functions

that code needed a bit of rework

Am So., 21. Apr. 2024 um 11:50 Uhr schrieb Waldemar Brodkorb <
wbx@openadk.org>:

> Hi Dmitry,
> Dmitry Chestnykh wrote,
>
> > Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
>
> Committed and pushed,
>  best regards
>   Waldemar
> _______________________________________________
> devel mailing list -- devel@uclibc-ng.org
> To unsubscribe send an email to devel-leave@uclibc-ng.org
>
diff mbox series

Patch

diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386
index c928ac1a2..c2a9a6e93 100644
--- a/extra/Configs/Config.i386
+++ b/extra/Configs/Config.i386
@@ -14,6 +14,7 @@  config FORCE_OPTIONS_FOR_ARCH
 	select ARCH_HAS_MMU
 	select ARCH_HAS_UCONTEXT
 	select ARCH_HAS_DEPRECATED_SYSCALLS
+	select ARCH_VDSO_SUPPORT
 
 choice
 	prompt "Target x86 Processor Family"
diff --git a/ldso/ldso/i386/dl-syscalls.h b/ldso/ldso/i386/dl-syscalls.h
index f40c4fd31..8f144ee28 100644
--- a/ldso/ldso/i386/dl-syscalls.h
+++ b/ldso/ldso/i386/dl-syscalls.h
@@ -1 +1,29 @@ 
+/* stub for arch-specific syscall issues/specific implementations */
+
+#ifndef _DL_SYSCALLS_H
+#define _DL_SYSCALLS_H
+
+#if defined(__VDSO_SUPPORT__) && !defined(UCLIBC_LDSO)
+
+#include "../dl-vdso-calls.h"
+
+static int __attribute__ ((used)) __x86_vdso_clock_gettime(clockid_t clock_id, struct timespec *tp);
+static int __attribute__ ((used)) __x86_vdso_clock_gettime(clockid_t clock_id, struct timespec *tp)
+{
+    return __generic_vdso_clock_gettime(clock_id, tp);
+}
+
+static int __attribute__ ((used)) __x86_vdso_gettimeofday(struct timeval *tv, __timezone_ptr_t tz);
+static int __attribute__ ((used)) __x86_vdso_gettimeofday(struct timeval *tv, __timezone_ptr_t tz)
+{
+    return __generic_vdso_gettimeofday(tv, tz);
+}
+
+#define ARCH_VDSO_GETTIMEOFDAY(tv, tz)        __x86_vdso_gettimeofday(tv, tz)
+#define ARCH_VDSO_CLOCK_GETTIME(clock_id, tp) __x86_vdso_clock_gettime(clock_id, tp)
+
+#endif /* defined(__VDSO_SUPPORT__) && !defined(UCLIBC_LDSO) */
+
+#endif /* _DL_SYSCALLS_H */
+
 /* stub for arch-specific syscall issues */