From: Michael Snyder Date: Wed, 15 Jul 2009 01:12:16 +0000 (+0000) Subject: 2009-07-14 Michael Snyder X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6e0a4f159349aa3d4f6a0c46eb23ec86197fccfc;p=binutils-gdb.git 2009-07-14 Michael Snyder * gdb.arch/i386-signal.c (sigframe): Add a nop to avoid confusing the i386 epilogue unwinder. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index ad57d81432b..4c3fd098a9a 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-07-14 Michael Snyder + + * gdb.arch/i386-signal.c (sigframe): Add a nop to avoid + confusing the i386 epilogue unwinder. + 2009-07-14 Stan Shebs * 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 d44bc888648..bf6f5c73443 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");