unbreak nios2-*-linux* testing

Message ID 559AAD97.4020500@codesourcery.com
State New, archived
Headers

Commit Message

Sandra Loosemore July 6, 2015, 4:32 p.m. UTC
  On 06/30/2015 08:57 AM, Sandra Loosemore wrote:
> As previously noted, on Nios II Linux targets, the kernel now puts
> signal handler handler trampolines on a read-only page of memory and GDB
> cannot set single-step breakpoints there.  My last attempt at working
> around this
>
> https://sourceware.org/ml/gdb-patches/2015-04/msg01092.html
>
> was rejected in favor of some not-yet-implemented target-independent
> solution:
>
> https://sourceware.org/ml/gdb-patches/2015-05/msg00183.html
>
> Given that the discussion pointed to by that thread is 11 years old, I
> think it's safe to say that fixing this is not a priority.  :-(
>
> Meanwhile, the GDB testsuite remains broken on this target.  Tests are
> not just failing, but getting stuck in infinite loops trying
> unsuccessfully to step out of a signal handler without recognizing that
> they are stuck.  This is blocking regression testing of other patches in
> my queue.
>
> This patch adds kfails for these issues similar to what other targets
> with this problem already do.  There are no code changes.
>
> OK to commit, so I can get on with other work?
>
> -Sandra
>

I realized I attached the wrong patch to my previous mail.  Here's the 
right one.  Is this one OK?

-Sandra
  

Comments

Yao Qi July 14, 2015, 7:42 a.m. UTC | #1
On 06/07/15 17:32, Sandra Loosemore wrote:
> 2015-06-29  Sandra Loosemore<sandra@codesourcery.com>
>
> 	gdb/testsuite/
> 	* gdb.base/sigaltstack.exp (finish_test): Add kfail for
> 	nios2-*-linux*.
> 	* gdb.base/sigbpt.exp (stepi_out): Likewise.
> 	* gdb.base/siginfo.exp: Likewise.
> 	* gdb.base/sigstep.exp (advance, advancei): Likewise.

Patch looks good to me.
  

Patch

diff --git a/gdb/testsuite/gdb.base/sigaltstack.exp b/gdb/testsuite/gdb.base/sigaltstack.exp
index b65ea48..59a6c17 100644
--- a/gdb/testsuite/gdb.base/sigaltstack.exp
+++ b/gdb/testsuite/gdb.base/sigaltstack.exp
@@ -76,6 +76,7 @@  proc finish_test { pattern msg } {
 	    # don't gracefully fall back to single-stepping.
 	    setup_kfail gdb/8841 "i?86-*-linux*"
 	    setup_kfail gdb/8841 "*-*-openbsd*"
+	    setup_kfail gdb/8841 "nios2-*-linux*"
 	    fail "$msg (could not set breakpoint)"
 	}
 	-re "$pattern.*${gdb_prompt} $" {
diff --git a/gdb/testsuite/gdb.base/sigbpt.exp b/gdb/testsuite/gdb.base/sigbpt.exp
index ac1378f..a53a71c 100644
--- a/gdb/testsuite/gdb.base/sigbpt.exp
+++ b/gdb/testsuite/gdb.base/sigbpt.exp
@@ -159,6 +159,10 @@  proc stepi_out { name args } {
 	    setup_kfail gdb/8841 "sparc*-*-openbsd*"
 	    fail "$test (could not insert single-step breakpoint)"
 	}
+	-re "Cannot insert breakpoint.*Cannot access memory.*$gdb_prompt $" {
+	    setup_kfail gdb/8841 "nios2*-*-linux*"
+	    fail "$test (could not insert single-step breakpoint)"
+	}
 	-re "keeper.*$gdb_prompt $" {
 	    send_gdb "stepi\n"
 	    exp_continue
diff --git a/gdb/testsuite/gdb.base/siginfo.exp b/gdb/testsuite/gdb.base/siginfo.exp
index 1ae87dd..45365a5 100644
--- a/gdb/testsuite/gdb.base/siginfo.exp
+++ b/gdb/testsuite/gdb.base/siginfo.exp
@@ -64,6 +64,10 @@  gdb_test_multiple "step" "${test}" {
 	setup_kfail gdb/8841 sparc*-*-openbsd*
 	fail "$test (could not insert single-step breakpoint)"
     }
+    -re "Cannot insert breakpoint.*Cannot access memory.*$gdb_prompt $" {
+        setup_kfail gdb/8841 "nios2*-*-linux*"
+	fail "$test (could not insert single-step breakpoint)"
+    }
     -re "done = 1;.*${gdb_prompt} $" {
 	send_gdb "$i\n"
 	exp_continue
diff --git a/gdb/testsuite/gdb.base/sigstep.exp b/gdb/testsuite/gdb.base/sigstep.exp
index 3c9454c..413f6de 100644
--- a/gdb/testsuite/gdb.base/sigstep.exp
+++ b/gdb/testsuite/gdb.base/sigstep.exp
@@ -109,6 +109,10 @@  proc advance { enter_cmd in_handler_prefix in_handler exit_cmd } {
 		setup_kfail gdb/8841 "sparc*-*-openbsd*"
 		fail "$test (could not insert single-step breakpoint)"
 	    }
+	    -re "Cannot insert breakpoint.*Cannot access memory.*$gdb_prompt $" {
+		setup_kfail gdb/8841 "nios2*-*-linux*"
+		fail "$test (could not insert single-step breakpoint)"
+	    }
 	    -re "done = 1;.*${gdb_prompt} $" {
 		send_gdb "$exit_cmd\n"
 		exp_continue -continue_timer
@@ -203,6 +207,7 @@  proc advancei { cmd } {
 		# don't gracefully fall back to single-stepping.
 		setup_kfail gdb/8841 "i?86-*-linux*"
 		setup_kfail gdb/8841 "*-*-openbsd*"
+		setup_kfail gdb/8841 "nios2-*-linux*"
 		fail "$test (could not set breakpoint)"
 		return
 	    }