diff --git a/pwndbg/gdblib/arch.py b/pwndbg/gdblib/arch.py index e1d5df03d..207421f28 100644 --- a/pwndbg/gdblib/arch.py +++ b/pwndbg/gdblib/arch.py @@ -33,6 +33,7 @@ pwnlib_archs_mapping = { "powerpc": "powerpc", "sparc": "sparc", "arm": "arm", + "iwmmxt":"arm", "armcm": "thumb", "rv32": "riscv32", "rv64": "riscv64", diff --git a/pwndbg/lib/regs.py b/pwndbg/lib/regs.py index 7911ff420..93b77a9d8 100644 --- a/pwndbg/lib/regs.py +++ b/pwndbg/lib/regs.py @@ -126,6 +126,14 @@ arm = RegisterSet( retval="r0", ) +iwmmxt = RegisterSet( + retaddr=("lr",), + flags={"cpsr": arm_cpsr_flags}, + gpr=("r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"), + args=("r0", "r1", "r2", "r3"), + retval="r0", +) + # ARM Cortex-M armcm = RegisterSet( retaddr=("lr",), @@ -549,6 +557,7 @@ reg_sets = { "mips": mips, "sparc": sparc, "arm": arm, + "iwmmxt": iwmmxt, "armcm": armcm, "aarch64": aarch64, "powerpc": powerpc,