about summary refs log tree commit diff stats
path: root/src/elfs
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-25 20:56:45 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-25 20:56:45 +0100
commit235784b46f47411b73d383c4fb462c3ffac323a4 (patch)
treed24269356747e3799f80b59038bebe7c6c1b2c13 /src/elfs
parent66af0f810cef61adc8cf4eff2a24132259aae0da (diff)
downloadbox64-235784b46f47411b73d383c4fb462c3ffac323a4.tar.gz
box64-235784b46f47411b73d383c4fb462c3ffac323a4.zip
Added wrapped libfontconfig and libfreetype, plus some elfloader/tls bugfix
Diffstat (limited to 'src/elfs')
-rwxr-xr-xsrc/elfs/elfloader.c3
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);
 }