1

If you right-click on the assembly window in Ghidra, one of the last options shown will be "Fallthrough":

enter image description here

Can someone explain in plain English what is that option for?

1 Answer 1

2

"Fallthrough" is the normal flow of instructions.

For conditionsl branch operations it is the non-jump branch.

This options allows overriding the default flow and set the next address to continue execution at after the current instruction is executed.

6
  • Is there also the opposite so we can mark places that we know don't continue execution as they normally would? Commented Aug 2 at 22:27
  • Fallthrough is the next instruction when not branching. The opposite would be the branch target, which can be a literal value, a register with or without an offset and etc. If Ghidra finds the target - it will be shown, sometimes it can be trickier.
    – Yotamz
    Commented Aug 3 at 17:25
  • I mean in cases like branch to subroutines or traps that are documented to never return. Commented Aug 3 at 18:29
  • In fact here's a perfect example of "the opposite of fallthrough" confusing Ghidra users in another recent question right here. Commented Aug 4 at 15:17
  • So the "opposite of fallthrough" you are referring to are two different cases: 1. jumps/calls to subroutines are simple instructions, regardless of whether Ghidra's decompiler can accurately predict their target or not. 2. instructions that generate interrupts, these will jump to an interrupt handler, you can say that the latter have no fallthrough.
    – Yotamz
    Commented Aug 5 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.