Bug 384959

Summary: Incorrect jumpkind for arm instruction - LDR PC, [SP],#4
Product: [Developer tools] valgrind Reporter: Artem <ashipotilov>
Component: vexAssignee: Julian Seward <jseward>
Status: REPORTED ---    
Severity: major    
Priority: NOR    
Version First Reported In: 3.14 SVN   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Example binary with ldr pc, [sp], #4 used as ret.

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.