diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-10-10 20:54:40 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-10-10 20:54:40 +0200 |
| commit | 7f5c826bb13d2d989563d27436d5b4e4f95e3757 (patch) | |
| tree | 3e6c762ad6b54108367e246a7fda510318b9f5e7 /src/emu | |
| parent | acad3f3963d6f0b67526d91cf4683125dbbf4cb5 (diff) | |
| download | box64-7f5c826bb13d2d989563d27436d5b4e4f95e3757.tar.gz box64-7f5c826bb13d2d989563d27436d5b4e4f95e3757.zip | |
[BOX32][TRACE] Fixed trace for memcmp, strncasecmp and strncmp
Diffstat (limited to 'src/emu')
| -rwxr-xr-x | src/emu/x86int3.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/emu/x86int3.c b/src/emu/x86int3.c index 4f63f7b3..6d0780f3 100755 --- a/src/emu/x86int3.c +++ b/src/emu/x86int3.c @@ -32,7 +32,6 @@ #include "elfs/elfloader_private.h" typedef int32_t (*iFpppp_t)(void*, void*, void*, void*); -typedef unsigned long ulong; static uint64_t F64(uintptr_t* addr) { uint64_t ret = *(uint64_t*)*addr; @@ -229,16 +228,16 @@ void x86Int3(x64emu_t* emu, uintptr_t* addr) snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\")", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8))); ret_fmt = 1; } else if(strstr(s, "strncmp")==s || strstr(s, "__strncmp")==s) { - snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\", %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(ulong*)from_ptr(R_ESP+12)); + snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\", %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(ulong_t*)from_ptr(R_ESP+12)); ret_fmt = 1; } else if(strstr(s, "strncasecmp")==s) { - snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\", %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(ulong*)from_ptr(R_ESP+12)); + snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\", %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(ulong_t*)from_ptr(R_ESP+12)); ret_fmt = 1; } else if(strstr(s, "strtol")==s || strstr(s, "strtoul")==s) { snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", %p, %d)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(int*)from_ptr(R_ESP+12)); ret_fmt = 1; } else if(strstr(s, "memcmp")==s) { - snprintf(buff, 255, "%04d|%p: Calling %s(%p, %p, %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), from_ptri(ulong, R_ESP+12)); + snprintf(buff, 255, "%04d|%p: Calling %s(%p, %p, %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), from_ptri(ulong_t, R_ESP+12)); ret_fmt = 1; } else if(strstr(s, "strstr")==s) { snprintf(buff, 255, "%04d|%p: Calling %s(%p\"%.127s\", \"%.127s\")", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8))); |