OK, this is a bit of a rewrite for the infrun code that handles reverse stepping into/over shared library functions and trampolines. I believe we now correctly handle various combinations of ... * reverse-step, reverse-next * trampolines, solib-dynsym-resolver * resolved and unresolved symbols * debuggable (user) and undebuggable (eg. libc) functions This also includes the first testsuite test case for reverse debugging. If this one's accepted, I've got more queued up. Hui, this patch will replace your patch http://sourceware.org/ml/gdb-patches/2009-03/msg00005.html, so I'll appreciate your review. Marc, this patch should fix all of your solib step/next bugs. No regressions on linux-i686.