[PATCH 08/18] winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
Martin Storsjö
martin at martin.st
Tue Nov 9 08:05:45 CST 2021
Signed-off-by: Martin Storsjö <martin at martin.st>
---
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" );
--
2.25.1
More information about the wine-devel
mailing list