Bug 384959 - Incorrect jumpkind for arm instruction - LDR PC, [SP],#4
Summary: Incorrect jumpkind for arm instruction - LDR PC, [SP],#4
Status: REPORTED
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (other bugs)
Version First Reported In: 3.14 SVN
Platform: unspecified Linux
: NOR major
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-22 12:10 UTC by Artem
Modified: 2017-09-22 12:10 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Example binary with ldr pc, [sp], #4 used as ret. (169.33 KB, application/x-executable)
2017-09-22 12:10 UTC, Artem
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Artem 2017-09-22 12:10:50 UTC
Created attachment 107951 [details]
Example binary with ldr pc, [sp], #4 used as ret.

When processing ARM instruction in thumb mode:

5D F8 04 FB                 LDR.W           PC, [SP],#4

IRSB jumpkind is set to Ijk_Broing, should be Ijk_Ret.

See example in attached wget binary. 

Function - sub_227D0, block start addr - 00022878, ret instr addr - 00022890.