diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-09-13 12:09:35 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-09-13 12:09:35 +0200 |
| commit | ed4ff15682222f79f2bfbd2263345a2974bfa6c2 (patch) | |
| tree | 727373d97a2a4c745ef60137f4b98b660be83011 /src | |
| parent | de276ddfa9a4168d55f09b1e21774404826161ee (diff) | |
| download | box64-ed4ff15682222f79f2bfbd2263345a2974bfa6c2.tar.gz box64-ed4ff15682222f79f2bfbd2263345a2974bfa6c2.zip | |
[BOX32][TRACE] More improved trace for some 32bits functions call
Diffstat (limited to 'src')
| -rwxr-xr-x | src/emu/x86int3.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/emu/x86int3.c b/src/emu/x86int3.c index 53e4baa3..185750ef 100755 --- a/src/emu/x86int3.c +++ b/src/emu/x86int3.c @@ -302,7 +302,7 @@ void x86Int3(x64emu_t* emu, uintptr_t* addr) snprintf(buff, 255, "%04d|%p: Calling %s(%p, %p, %d, %d, %u, %u, %u, %d, %u, %p, %u, %p)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), s, from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(int*)from_ptr(R_ESP+12), *(int*)from_ptr(R_ESP+16), *(uint32_t*)from_ptr(R_ESP+20), *(uint32_t*)from_ptr(R_ESP+24), *(uint32_t*)from_ptr(R_ESP+28), *(int32_t*)from_ptr(R_ESP+32), *(uint32_t*)from_ptr(R_ESP+36), *(void**)from_ptr(R_ESP+40), *(uint32_t*)from_ptr(R_ESP+44), *(void**)from_ptr(R_ESP+48)); } else if(strstr(s, "XLoadQueryFont")==s) { snprintf(buff, 255, "%04d|%p: Calling %s(%p, \"%s\")", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), s, from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), from_ptrv(*(ptr_t*)from_ptr(R_ESP+8))); - } else if(strstr(s, "pthread_mutex_lock")==s) { + } else if(strstr(s, "pthread_mutex_lock")==s || strstr(s, "pthread_mutex_unlock")==s) { snprintf(buff, 255, "%04d|%p: Calling %s(%p)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), s, from_ptrv(*(ptr_t*)from_ptr(R_ESP+4))); } else if(strstr(s, "pthread_setname_np")==s) { post = 7; @@ -316,6 +316,8 @@ void x86Int3(x64emu_t* emu, uintptr_t* addr) } else if(!strcmp(s, "fmod")) { post = 4; snprintf(buff, 255, "%04d|%p: Calling %s(%f, %f)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), s, *(double*)from_ptr(R_ESP+4), *(double*)from_ptr(R_ESP+12)); + } else if(strstr(s, "pthread_once")==s) { + snprintf(buff, 255, "%04d|%p: Calling %s(%p[%d], %p)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), s, from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), *(int*)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), from_ptrv(*(ptr_t*)from_ptr(R_ESP+8))); } else if(!strcmp(s, "posix_memalign")) { post = 8; pu32 = (uint32_t*)from_ptr(*(ptr_t*)from_ptr(R_ESP+4)); |