diff options
author | Dmitry Chestnykh <dm.chestnykh@gmail.com> | 2024-04-15 15:31:58 +0300 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2024-04-18 14:52:06 +0200 |
commit | 3a36a3100af2ee1cca69345af83228757e8c55fe (patch) | |
tree | 6ec6990dba241b65a925eb581ef59bcb3a74e843 /ldso/include/ldso.h | |
parent | 0694e42c9c9789bd87fba7e6639b21d2f28e09d4 (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/include/ldso.h')
-rwxr-xr-x | ldso/include/ldso.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/ldso/include/ldso.h b/ldso/include/ldso.h index 80d5d5dd5..a397cce61 100755 --- a/ldso/include/ldso.h +++ b/ldso/include/ldso.h @@ -194,10 +194,6 @@ extern void *_dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE loa #define AUX_MAX_AT_ID 40 extern ElfW(auxv_t) _dl_auxvt[AUX_MAX_AT_ID]; -void load_vdso( uint32_t sys_info_ehdr, char **envp ); - -#ifdef __VDSO_SUPPORT__ -extern void* _dl__vdso_gettimeofday; -#endif +void load_vdso(void *sys_info_ehdr, char **envp ); #endif /* _LDSO_H */ |