Hello, This is the big one. This patch splits the existing get_prev_frame() in two: legacy_get_prev_frame(), and a rewritten get_prev_frame(). Old architectures that use the initialization methods: INIT_FRAME_EXTRA_INFO FRAME_CHAIN INIT_FRAME_PC INIT_FRAME_PC_FIRST FRAME_SAVED_PC continue to use the old frame initialization sequence (implemented by legacy_get_prev_frame()), however new ISAs can instead just implement the methods: unwind the pc unwind the frame's ID unwind a register The d10v, on the cagney-unwind-20030108-branch demonstrates this working. As part of this change, I moved the `set backtrace-below-main' command/code to "frame.c" (from "blockframe.c"). Since the logic was moved to get_prev_frame() it can be enabled/disabled without needing to flush the frame cache. Didn't see any regressions with this move. Following on from this will be patches to add: - sentinel frame (to simplify the way frames are implemented) - tradational frame (to simplify the process of updating existing architectures) - reimplement d10v's frame code, so that it uses the new mechanisms I'm looking to commit this specific change in a few days - need to run more tests first ... comments, Andrew