diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/i386-signal.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index ad57d81..4c3fd09 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-07-14 Michael Snyder <msnyder@vmware.com> + + * gdb.arch/i386-signal.c (sigframe): Add a nop to avoid + confusing the i386 epilogue unwinder. + 2009-07-14 Stan Shebs <stan@codesourcery.com> * gdb.trace/tracecmd.exp: Add basic test of tracepoint conditions. diff --git a/gdb/testsuite/gdb.arch/i386-signal.c b/gdb/testsuite/gdb.arch/i386-signal.c index d44bc88..bf6f5c7 100644 --- a/gdb/testsuite/gdb.arch/i386-signal.c +++ b/gdb/testsuite/gdb.arch/i386-signal.c @@ -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 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"); |