aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/savedregs.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.base/savedregs.c')
-rw-r--r--gdb/testsuite/gdb.base/savedregs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/savedregs.c b/gdb/testsuite/gdb.base/savedregs.c
index 9f302a0..4f962ac 100644
--- a/gdb/testsuite/gdb.base/savedregs.c
+++ b/gdb/testsuite/gdb.base/savedregs.c
@@ -45,11 +45,25 @@ catcher (int sig)
static void
thrower (void)
{
+ /* Trigger a SIGSEGV. */
*(char *)0 = 0;
+
+ /* On MMU-less system, previous memory access to address zero doesn't
+ trigger a SIGSEGV. Trigger a SIGILL. Each arch should define its
+ own illegal instruction here. */
+
+#if defined(__arm__)
+ asm(".word 0xf8f00000");
+#elif defined(__TMS320C6X__)
+ asm(".word 0x56454313");
+#else
+#endif
+
}
main ()
{
+ signal (SIGILL, catcher);
signal (SIGSEGV, catcher);
thrower ();
}