Martin Storsjö : winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
Alexandre Julliard
julliard at winehq.org
Tue Nov 9 15:55:08 CST 2021
Module: wine
Branch: master
Commit: 22d2b61a646eda01945b9c282a1cb9b1ea13e968
URL: https://source.winehq.org/git/wine.git/?a=commit;h=22d2b61a646eda01945b9c282a1cb9b1ea13e968
Author: Martin Storsjö <martin at martin.st>
Date: Tue Nov 9 16:05:45 2021 +0200
winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
Signed-off-by: Martin Storsjö <martin at martin.st>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
tools/winedump/pe.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/winedump/pe.c b/tools/winedump/pe.c
index 4629c3082f9..5d325fba3da 100644
--- a/tools/winedump/pe.c
+++ b/tools/winedump/pe.c
@@ -1171,13 +1171,20 @@ static void dump_armnt_unwind_info( const struct runtime_function_armnt *fnc )
excode = (code << 24) | (excodes[0] << 16) | (excodes[1] << 8) | excodes[2];
printf( "%s sp, sp, #%u\n", inepilogue ? "add" : "sub", (excode & 0xffffff) * 4 );
}
- else if (code <= 0xfc)
+ else if (code <= 0xfb)
printf( "nop\n" );
- else if (code <= 0xfe)
+ else if (code <= 0xfc)
+ printf( "nop.w\n" );
+ else if (code <= 0xfd)
{
printf( "(end) nop\n" );
inepilogue = TRUE;
}
+ else if (code <= 0xfe)
+ {
+ printf( "(end) nop.w\n" );
+ inepilogue = TRUE;
+ }
else
{
printf( "end\n" );
More information about the wine-cvs
mailing list