Following on to my patch of 9/7 implementing reverse-step, reverse-next and reverse-continue, this patch is sufficient to implement reverse-finish. This is meant for discussion, not approval (I don't plan to check anything in right away). Again, this is based on a modular approach that assumes only a simple interface "get_exec_direction()". I haven't taken it down to the architecture level, but have simply assumed that every function has a single entry point (at its label), and that it is sufficient to continue backwards to that point, and (assuming the correct frame) do one more single-step to reach the call. Here's the patch: