2009-07-13 Michael Snyder * gdb.arch/i386-signal.c (sigframe): Add a nop to avoid confusing the i386 epilogue unwinder. Index: gdb.arch/i386-signal.c =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.arch/i386-signal.c,v retrieving revision 1.4 diff -u -p -r1.4 i386-signal.c --- gdb.arch/i386-signal.c 3 Jan 2009 05:58:03 -0000 1.4 +++ gdb.arch/i386-signal.c 13 Jul 2009 20:22:52 -0000 @@ -37,6 +37,10 @@ main (void) The default CIE created by gas suffices to unwind from an empty function. */ +/* Note: to make sure that the Dwarf unwinder gets to handle + the frame, we add an extra 'nop' after the label. Otherwise, + the new epilogue unwinder will see the 'ret' and grab the frame. */ + asm(".text\n" " .align 8\n" " .globl setup\n" @@ -49,5 +53,6 @@ asm(".text\n" " nop\n" " .globl sigframe\n" "sigframe:\n" + " nop\n" " ret\n" " .cfi_endproc");