summaryrefslogtreecommitdiff
path: root/ldso/ldso/dl-startup.c
diff options
context:
space:
mode:
authorDmitry Chestnykh <dm.chestnykh@gmail.com>2024-04-15 15:31:58 +0300
committerWaldemar Brodkorb <wbx@openadk.org>2024-04-18 14:52:06 +0200
commit3a36a3100af2ee1cca69345af83228757e8c55fe (patch)
tree6ec6990dba241b65a925eb581ef59bcb3a74e843 /ldso/ldso/dl-startup.c
parent0694e42c9c9789bd87fba7e6639b21d2f28e09d4 (diff)
Fix vDSO support for all supported architectures.
- Cleanup dl-vdso.c code. - Pass `void *` as first arg to `load_vdso()`, using 32-bit type is completely wrong on 64bit architectures. - Split libc code and vDSO-related code. Move arch-specific implementations into separate files. The performance improvement is for example 50-60 times on ARMv7 and about 4 times on x86_64. Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
Diffstat (limited to 'ldso/ldso/dl-startup.c')
-rw-r--r--ldso/ldso/dl-startup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ldso/ldso/dl-startup.c b/ldso/ldso/dl-startup.c
index 5b992a3a2..e7000bd87 100644
--- a/ldso/ldso/dl-startup.c
+++ b/ldso/ldso/dl-startup.c
@@ -373,7 +373,7 @@ DL_START(unsigned long args)
DL_GET_READY_TO_RUN_EXTRA_ARGS);
- load_vdso(_dl_auxvt[AT_SYSINFO_EHDR].a_un.a_val, envp);
+ load_vdso((void *)_dl_auxvt[AT_SYSINFO_EHDR].a_un.a_val, envp);
/* Transfer control to the application. */
SEND_STDERR_DEBUG("transfering control to application @ ");