diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-12-03 18:01:57 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-12-03 18:01:57 +0100 |
| commit | 2ecb87ddc3506fe6fd67b339114c2bd7fbd65d3c (patch) | |
| tree | 8c78e3984e656b086e096038661c7a985fb29052 | |
| parent | a34530ebb7b0bfda29145de17b530c703206b6af (diff) | |
| download | box64-2ecb87ddc3506fe6fd67b339114c2bd7fbd65d3c.tar.gz box64-2ecb87ddc3506fe6fd67b339114c2bd7fbd65d3c.zip | |
Optimized __tls_get_addr wrapped function a bit
| -rwxr-xr-x | src/wrapped/wrappedldlinux.c | 4 | ||||
| -rwxr-xr-x | src/wrapped/wrappedldlinux_private.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/wrapped/wrappedldlinux.c b/src/wrapped/wrappedldlinux.c index 1030fc5f..d88c10c2 100755 --- a/src/wrapped/wrappedldlinux.c +++ b/src/wrapped/wrappedldlinux.c @@ -20,10 +20,10 @@ typedef struct my_tls_s { unsigned long int o; } my_tls_t; -EXPORT void* my___tls_get_addr(x64emu_t* emu, void* p) +EXPORT void* my___tls_get_addr(void* p) { my_tls_t *t = (my_tls_t*)p; - void* ret = GetDTatOffset(emu->context, t->i, t->o); + void* ret = (void*)((char*)GetTLSPointer(my_context, my_context->elfs[t->i])+t->o); return ret; } diff --git a/src/wrapped/wrappedldlinux_private.h b/src/wrapped/wrappedldlinux_private.h index 6bfae5fb..7b863d14 100755 --- a/src/wrapped/wrappedldlinux_private.h +++ b/src/wrapped/wrappedldlinux_private.h @@ -20,4 +20,4 @@ DATAB(_r_debug, 40) DATA(_rtld_global, sizeof(void*)) DATA(_rtld_global_ro, sizeof(void*)) DATA(__stack_chk_guard, sizeof(void*)) -GOM(__tls_get_addr, pFEp) +GOM(__tls_get_addr, pFp) //%NoE |