2011-06-09 Yao Qi gdb/testsuite/ * gdb.base/savedregs.c (catcher): Add an invalid instruction to trigger SIGILL. (main): Install catcher for signal SIGILL. * gdb.base/savedregs.exp (process_saved_regs): Handle SIGILL. diff --git a/gdb/testsuite/gdb.base/savedregs.c b/gdb/testsuite/gdb.base/savedregs.c index 9c4ce87..9af2c6c 100644 --- a/gdb/testsuite/gdb.base/savedregs.c +++ b/gdb/testsuite/gdb.base/savedregs.c @@ -45,11 +45,12 @@ catcher (int sig) static void thrower (void) { - *(char *)0 = 0; + /* Assume 0xffff is an invalid instruction on all ports. */ + asm (".word 0xffff"); } main () { - signal (SIGSEGV, catcher); + signal (SIGILL, catcher); thrower (); } diff --git a/gdb/testsuite/gdb.base/savedregs.exp b/gdb/testsuite/gdb.base/savedregs.exp index 6434512..5d9634e 100644 --- a/gdb/testsuite/gdb.base/savedregs.exp +++ b/gdb/testsuite/gdb.base/savedregs.exp @@ -142,7 +142,7 @@ process_saved_regs thrower { main } { } # Continue to the signal catcher, check main's saved-reg info, capture # catcher's saved-reg info. -gdb_test "handle SIGSEGV pass print nostop" +gdb_test "handle SIGILL pass print nostop" gdb_test "advance catcher" "catcher .* at .*" process_saved_regs catcher { sigtramp thrower } { main }