Hi Andrew, this patch is a merge of Mark's i386newframe-branch to your offbyone-branch. It works quite well, unwinds through signal frames and frameless functions, but still has some strange regressions that aren't present in i386newframe branch. For example this program: int var; void foo () { var = 0x1234; } int main () { foo (); return 0; } Running it in the GDB: (gdb) b main Breakpoint 1 at 0x804832c: file tst.c, line 8. (gdb) r Starting program: tst Breakpoint 1, main () at tst.c:8 8 foo (); (gdb) n Program exited normally. (gdb) Why it didn't stop on "return 0" but exitted immediately instead? Did you observe this behaviour in offbyone branch too, or is it caused by this patch? It seems to have something to do with symbols, linetables, ... but I can't see how it could be related to this patch. It doesn't matter if I compile the program with stabs or dwarf2 debug info. Ideas? Anyway comments on the code are welcome. As soon as i386newframe is merged to offbyone I'll start porting x86-64 on top of it as well. Michal Ludvig -- * SuSE CR, s.r.o * mludvig@suse.cz * (+420) 296.545.373 * http://www.suse.cz