[PATCH 09/18] winedump: Fix printing of the prologue version of the "ldr lr, [sp], #offset" opcode.

Martin Storsjö martin at martin.st
Tue Nov 9 08:05:46 CST 2021


This isn't mentioned in the documentation (which only writes out the
instruction that is executed while unwinding, i.e. the mirror form of
it), but a prologue version of this instruction would look like this.

Signed-off-by: Martin Storsjö <martin at martin.st>
---
 tools/winedump/pe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/winedump/pe.c b/tools/winedump/pe.c
index 5d325fba3da..43ba0618615 100644
--- a/tools/winedump/pe.c
+++ b/tools/winedump/pe.c
@@ -1113,7 +1113,7 @@ static void dump_armnt_unwind_info( const struct runtime_function_armnt *fnc )
                     if (inepilogue)
                         printf( "ldr lr, [sp], #%u\n", (excode & 0x0f) * 4 );
                     else
-                        printf( "unknown 32\n" );
+                        printf( "str lr, [sp, #-%u]!\n", (excode & 0x0f) * 4 );
                 }
                 else
                     printf( "unknown 32\n" );
-- 
2.25.1




More information about the wine-devel mailing list