diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-08-27 16:17:17 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-08-27 16:17:17 +0200 |
| commit | 3fe020572dfc0636ab82bae962c3514134e9e128 (patch) | |
| tree | ee2fe2191bab2db8f04404debe951d0040e55430 /src/os | |
| parent | 234f6f2b14231679832a9c64469df2a5c8cefa73 (diff) | |
| download | box64-3fe020572dfc0636ab82bae962c3514134e9e128.tar.gz box64-3fe020572dfc0636ab82bae962c3514134e9e128.zip | |
Improved handling of TF flag
Diffstat (limited to 'src/os')
| -rw-r--r-- | src/os/emit_signals_linux.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/os/emit_signals_linux.c b/src/os/emit_signals_linux.c index 4e7f6c77..efc2af51 100644 --- a/src/os/emit_signals_linux.c +++ b/src/os/emit_signals_linux.c @@ -22,6 +22,7 @@ #include "x64emu.h" #include "signals.h" #include "libtools/signal_private.h" +#include "box64cpu_util.h" void my_sigactionhandler_oldcode(x64emu_t* emu, int32_t sig, int simple, siginfo_t* info, void * ucntx, int* old_code, void* cur_db, uintptr_t x64pc); void EmitSignal(x64emu_t* emu, int sig, void* addr, int code) @@ -49,6 +50,14 @@ void EmitSignal(x64emu_t* emu, int sig, void* addr, int code) if (elf) elfname = ElfName(elf); printf_log(LOG_NONE, "Emit Signal %d at IP=%p(%s / %s) / addr=%p, code=0x%x\n", sig, (void*)R_RIP, x64name ? x64name : "???", elfname ? elfname : "?", addr, code); + if(sig==5) + printf_log(LOG_INFO, "\t Opcode (%02X %02X %02X %02X) %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n", + Peek(emu, -4), Peek(emu, -3), Peek(emu, -2), Peek(emu, -1), + Peek(emu, 0), Peek(emu, 1), Peek(emu, 2), Peek(emu, 3), + Peek(emu, 4), Peek(emu, 5), Peek(emu, 6), Peek(emu, 7), + Peek(emu, 8), Peek(emu, 9), Peek(emu,10), Peek(emu,11), + Peek(emu,12), Peek(emu,13), Peek(emu,14)); + print_rolling_log(LOG_INFO); if ((BOX64ENV(showbt) || sig == X64_SIGABRT) && BOX64ENV(log) >= LOG_INFO) { |