ARM specific
Some ARM compilers in Thumb mode use BL (branch-and-link)
instead of B (branch) for long jumps, since BL has more range.
By default, IDA tries to determine if BL is a jump or a call.
You can override IDA's decision using commands in Edit/Other menu
(Force BL call/Force BL jump) or the following two functions.
// Force BL instruction to be a jump
// ea - address of the BL instruction
// returns: 1-ok, 0-failed
success force_bl_jump(long ea);
// Force BL instruction to be a call
// ea - address of the BL instruction
// returns: 1-ok, 0-failed
success force_bl_call(long ea);
Last updated