Martin Storsjö : winedump: Fix printing of the prologue version of the "ldr lr, [sp], #offset" opcode.
Alexandre Julliard
julliard at winehq.org
Tue Nov 9 15:55:08 CST 2021
Module: wine
Branch: master
Commit: ae7979a42d418908f1f37d689a2274a71d82b215
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ae7979a42d418908f1f37d689a2274a71d82b215
Author: Martin Storsjö <martin at martin.st>
Date: Tue Nov 9 16:05:46 2021 +0200
winedump: Fix printing of the prologue version of the "ldr lr, [sp], #offset" opcode.
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>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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" );
More information about the wine-cvs
mailing list