Hi, Here are some more small symbol lookup vs libunwind cleanups. This helps make our libunwind interface simpler and is more correct (and hopefully more efficient). Besides some cleanups of ununsed interfaces there are two main changes in creating our FrameIdentifier. First, we no longer use libunwind to get the current function symbol and starting address, we already know the Symbol of the current Frame. Second we defer getting the Canonical Frame Address to libunwind instead of doing it ourselves by unwinding one step and then getting the Stack Pointer register. libunwind can do this for use more efficiently since it already holds the CFA value for the current cursor. At least on x86 and x86_64, I have asked upstream to make this generic for all platforms (ppc32/64 doesn't expose this yet, but Jose agreed this would be a good thing to have). frysk-core/frysk/stack/ChangeLog 2007-12-03 Mark Wielaard * LibunwindFrame.java (getFrameIdentifier): Get CFA from cursor. frysk-sys/lib/unwind/ChangeLog 2007-12-03 Mark Wielaard * Cursor.java (getCFA): New method. * Unwind.java (getCFA): Likewise. * cni/UnwindH.hxx (getCFA): Likewise. frysk-core/frysk/stack/ChangeLog 2007-11-30 Mark Wielaard * LibunwindAddressSpace.java (getDynInfoListAddr): Removed. (resume): Likewise. frysk-sys/lib/unwind/ChangeLog 2007-11-30 Mark Wielaard * AddressSpace.java (getDynInfoListAddr): Removed. (resume): Likewise. * cni/UnwindH.hxx (get_dyn_info_list_addr): Return -UNW_ENOINFO. (resume): return -UNW_EINVAL. frysk-core/frysk/stack/ChangeLog 2007-11-30 Mark Wielaard * LibunwindFrame (getProcInfo): Removed. (getFrameIdentifier): Use Symbol.getAddress(), not ProcInfo. Although these changes are related and presented as one patch here it is actually three separate commits, which were all three tested on x86 and x86_64 (fedora 8). Cheers, Mark