mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 06:10:39 +00:00
winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
Signed-off-by: Martin Storsjö <martin@martin.st> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
825e8d8105
commit
22d2b61a64
|
@ -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];
|
excode = (code << 24) | (excodes[0] << 16) | (excodes[1] << 8) | excodes[2];
|
||||||
printf( "%s sp, sp, #%u\n", inepilogue ? "add" : "sub", (excode & 0xffffff) * 4 );
|
printf( "%s sp, sp, #%u\n", inepilogue ? "add" : "sub", (excode & 0xffffff) * 4 );
|
||||||
}
|
}
|
||||||
else if (code <= 0xfc)
|
else if (code <= 0xfb)
|
||||||
printf( "nop\n" );
|
printf( "nop\n" );
|
||||||
else if (code <= 0xfe)
|
else if (code <= 0xfc)
|
||||||
|
printf( "nop.w\n" );
|
||||||
|
else if (code <= 0xfd)
|
||||||
{
|
{
|
||||||
printf( "(end) nop\n" );
|
printf( "(end) nop\n" );
|
||||||
inepilogue = TRUE;
|
inepilogue = TRUE;
|
||||||
}
|
}
|
||||||
|
else if (code <= 0xfe)
|
||||||
|
{
|
||||||
|
printf( "(end) nop.w\n" );
|
||||||
|
inepilogue = TRUE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf( "end\n" );
|
printf( "end\n" );
|
||||||
|
|
Loading…
Reference in a new issue