about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-12-04 12:14:26 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-12-04 12:14:26 +0100
commit6bee1dcecd38196585c2d1c7c18cc456ebc2c834 (patch)
tree141d9c3522a477eb4983165f4e28665610125af6
parent3c28048038076e72d32b52ce380dd0007acec5fd (diff)
downloadbox64-6bee1dcecd38196585c2d1c7c18cc456ebc2c834.tar.gz
box64-6bee1dcecd38196585c2d1c7c18cc456ebc2c834.zip
[TRACE] Add stack top trace for endbr64 opcode
-rwxr-xr-xsrc/emu/x64run_private.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/emu/x64run_private.c b/src/emu/x64run_private.c
index c057b8a4..cbdf20ad 100755
--- a/src/emu/x64run_private.c
+++ b/src/emu/x64run_private.c
@@ -1078,6 +1078,8 @@ void PrintTrace(x64emu_t* emu, uintptr_t ip, int dynarec)
             } else if(peek==0x55 || peek==0x53) {
                 printf_log(LOG_NONE, " => STACK_TOP: %p", *(void**)(R_RSP));
                 printFunctionAddr(ip, "here: ");
+            } else if(peek==0xF3 && PK(1)==0x0F && PK(2)==0x1E && PK(3)==0xFA) {
+                printFunctionAddr(*(uintptr_t*)(R_RSP), " STACK_TOP: ");
             } else if(peek==0xE8) { // Call
                 uintptr_t nextaddr = ip + 5 + PK64(1);
                 printFunctionAddr(nextaddr, "=> ");