about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-08-28 11:04:23 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-08-28 11:04:23 +0200
commite863acf0a88958dec00e7d1ee3ce891aa5ddd6b6 (patch)
treefcc310b299c56f5146531b5e77a23a48eee8cf17 /src
parent3fe020572dfc0636ab82bae962c3514134e9e128 (diff)
downloadbox64-e863acf0a88958dec00e7d1ee3ce891aa5ddd6b6.tar.gz
box64-e863acf0a88958dec00e7d1ee3ce891aa5ddd6b6.zip
[BOX32][TRACE] Improved trace for nanosleep
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x86int3.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/emu/x86int3.c b/src/emu/x86int3.c
index 9bcfd328..ceec800b 100755
--- a/src/emu/x86int3.c
+++ b/src/emu/x86int3.c
@@ -403,6 +403,9 @@ void x86Int3(x64emu_t* emu, uintptr_t* addr)
                 } else  if(!strcmp(s, "__errno_location")) {
                     snprintf(buff, 255, "%04d|%p: Calling %s()", tid, from_ptriv(R_ESP), (char *)s);
                     perr = 4;
+                } else if (!strcmp(s, "nanosleep")) {
+                    pu32 = *(uint32_t**)from_ptrv(R_ESP+4);
+                    snprintf(buff, 256, "%04d|%p: Calling %s(%p[%d, %d], %p)", tid, from_ptriv(R_ESP), (char *)s, (void*)from_ptriv(R_ESP+4), pu32?pu32[0]:0, pu32?pu32[1]:0, (void*)from_ptriv(R_ESP+8));
                 } else {
                     snprintf(buff, 255, "%04d|%p: Calling %s (%08X, %08X, %08X...)", tid, from_ptriv(R_ESP), (char *)s, from_ptri(uint32_t, R_ESP+4), from_ptri(uint32_t, R_ESP+8), from_ptri(uint32_t, R_ESP+12));
                 }