diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-25 20:56:45 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-25 20:56:45 +0100 |
| commit | 235784b46f47411b73d383c4fb462c3ffac323a4 (patch) | |
| tree | d24269356747e3799f80b59038bebe7c6c1b2c13 /src/elfs | |
| parent | 66af0f810cef61adc8cf4eff2a24132259aae0da (diff) | |
| download | box64-235784b46f47411b73d383c4fb462c3ffac323a4.tar.gz box64-235784b46f47411b73d383c4fb462c3ffac323a4.zip | |
Added wrapped libfontconfig and libfreetype, plus some elfloader/tls bugfix
Diffstat (limited to 'src/elfs')
| -rwxr-xr-x | src/elfs/elfloader.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index abe2b8d3..dd8d58e2 100755 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -1017,6 +1017,7 @@ void RunElfInit(elfheader_t* h, x64emu_t *emu) // and check init array now Elf64_Addr *addr = (Elf64_Addr*)(h->initarray + h->delta); for (int i=0; i<h->initarray_sz; ++i) { +if(strstr(h->name, "libcef.so") && i==3) trace_end = 0; if(addr[i]) { printf_log(LOG_DEBUG, "Calling Init[%d] for %s @%p\n", i, ElfName(h), (void*)addr[i]); RunFunctionWithEmu(emu, 0, (uintptr_t)addr[i], 3, context->argc, context->argv, context->envv); @@ -1158,7 +1159,7 @@ const char* FindNearestSymbolName(elfheader_t* h, void* p, uintptr_t* start, uin return ret; } -void* GetDTatOffset(box64context_t* context, int index, int offset) +void* GetDTatOffset(box64context_t* context, unsigned long int index, unsigned long int offset) { return (void*)((char*)GetTLSPointer(context, context->elfs[index])+offset); } |