Hi, This looks like a small patch, but it actually is a pretty significant change in how we are using libunwind. Since we weren't trusting the IP address given by libunwind unw_get_reg() because that did a lookup of the current address through the current frame even though that could have missing or bogus dwarf info, we were using a full proc and symbol name lookup for each frame through libunwind. With this patch, and a small change to libunwind to always use the cached (and correct) ip value of the cursor, we don't need to do any symbol lookup through libunwind anymore (which will get rid of a lot of our workarounds, since the libunwind symbol lookup was basically just a guess). This also fixes a couple of issues with the load command that Rick was seeing, like bug #5267. You can now do all the normal fhpd commands (although the results are kind of boring of course). One last issue is bug #5286 (and the duplicate? #5345) with print, but those seem to happen also with other exe or core targets. frysk-core/frysk/stack/ChangeLog 2007-11-19 Mark Wielaard * LibunwindFrame.java (getAddress): Don't do a proc name lookup, use new Cursor.getIP(). frysk-imports/libunwind/ChangeLog 2007-11-19 Mark Wielaard * src/mi/Gget_reg.c (unw_get_reg): Use cached value from cursor when looking for UNW_REG_IP. frysk-sys/lib/unwind/ChangeLog 2007-11-19 Mark Wielaard * Cursor.java (getIP): New method. (unwind): Check current ip. * Unwind.java (getIP): New method. * cni/UnwindH.hxx (getIP): Likewise. (getContext): Check for null elfImage. All tests PASS before and after this patch on x86 and x86_64 (Fedora 8). I will clean up the libunwind interfaces up next to purge the stuff we aren't using anymore and out custom patches to some of the symbol lookup stuff in libunwind itself. Cheers, Mark