Hi Andrew, On Mon, 2007-12-03 at 11:19 -0500, Andrew Cagney wrote: > The confusion comes from what libunwind considers to be the cursor's > CFA. It returns what you're more likely to recognize as the > inner-to-cursor's CFA and not the cursor''s CFA. Effectively the > current frame's SP, in fact: > > case UNW_X86_64_CFA: > case UNW_X86_64_RSP: > if (write) > return -UNW_EREADONLYREG; > *valp = c->dwarf.cfa; > return 0; Nice catch. Well that is somewhat of a bummer. Then we must fall back on the unwind one frame trick and get the SP again. What is somewhat worrying is that none of the tests caught this. So I added one that does fail with my change, and passes with that commit reverted. frysk-core/frysk/pkglibdir/ChangeLog 2007-12-03 Mark Wielaard * funit-stepping-asm.S: Add fifth function and _stepOverPrologue_ marker. frysk-core/frysk/stepping/ChangeLog 2007-12-03 Mark Wielaard * TestStepping.java (testASMFunctionStepOverPrologue): New test. Cheers, Mark