aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2010-11-02 01:37:32 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2010-11-02 01:37:32 +0000
commita289b8f64e80d14000a8c35d51fe9d78d33bc83d (patch)
tree0b4abe18b22ecbdd38e24a59ccbb107b8abe58bb /gdb/testsuite
parent6d0cd39eb22c4ff76d1c360fdbef4b7506f95327 (diff)
downloadgdb-a289b8f64e80d14000a8c35d51fe9d78d33bc83d.zip
gdb-a289b8f64e80d14000a8c35d51fe9d78d33bc83d.tar.gz
gdb-a289b8f64e80d14000a8c35d51fe9d78d33bc83d.tar.bz2
gdb/
Revert: 2010-10-17 Jan Kratochvil <jan.kratochvil@redhat.com> Pedro Alves <pedro@codesourcery.com> * gdbthread.h (currently_stepping): New declaration. * infrun.c (currently_stepping): Remove the forward declaration. (currently_stepping): Make it global. * linux-nat.c (resume_callback) <lp->stopped && lp->status == 0>: New variables tp and step, initialized them. Pass STEP to to_resume. Print also possibly "PTRACE_SINGLESTEP" if STEP. Initialize LP->STEP. * remote.c (currently_stepping_callback): New. (remote_vcont_resume) <ptid_equal (ptid, minus_one_ptid) || ptid_is_pid (ptid)>: New variable tp. Call currently_stepping_callback and step such thread. gdb/testsuite/ Revert: 2010-10-17 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.threads/sigstep-threads.exp: New file. * gdb.threads/sigstep-threads.c: New file.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.threads/sigstep-threads.c54
-rw-r--r--gdb/testsuite/gdb.threads/sigstep-threads.exp74
3 files changed, 7 insertions, 128 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 8c07761..c70d914 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2010-11-02 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Revert:
+ 2010-10-17 Jan Kratochvil <jan.kratochvil@redhat.com>
+ * gdb.threads/sigstep-threads.exp: New file.
+ * gdb.threads/sigstep-threads.c: New file.
+
2010-10-20 Michael Snyder <msnyder@vmware.com>
* gdb.threads/fork-child-threads.exp: Don't run on remote target.
diff --git a/gdb/testsuite/gdb.threads/sigstep-threads.c b/gdb/testsuite/gdb.threads/sigstep-threads.c
deleted file mode 100644
index 7e04c32..0000000
--- a/gdb/testsuite/gdb.threads/sigstep-threads.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
- Copyright 2010 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <pthread.h>
-#include <assert.h>
-#include <signal.h>
-
-#include <asm/unistd.h>
-#include <unistd.h>
-#define tgkill(tgid, tid, sig) syscall (__NR_tgkill, (tgid), (tid), (sig))
-#define gettid() syscall (__NR_gettid)
-
-static volatile int var;
-
-static void
-handler (int signo) /* step-0 */
-{ /* step-0 */
- var++; /* step-1 */
- tgkill (getpid (), gettid (), SIGUSR1); /* step-2 */
-}
-
-static void *
-start (void *arg)
-{
- signal (SIGUSR1, handler);
- tgkill (getpid (), gettid (), SIGUSR1);
- assert (0);
-
- return NULL;
-}
-
-int
-main (void)
-{
- pthread_t thread;
-
- pthread_create (&thread, NULL, start, NULL);
- start (NULL); /* main-start */
- return 0;
-}
diff --git a/gdb/testsuite/gdb.threads/sigstep-threads.exp b/gdb/testsuite/gdb.threads/sigstep-threads.exp
deleted file mode 100644
index 5110706..0000000
--- a/gdb/testsuite/gdb.threads/sigstep-threads.exp
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2010 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-set testfile sigstep-threads
-set srcfile ${testfile}.c
-set executable ${testfile}
-set binfile ${objdir}/${subdir}/${executable}
-
-if { [gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
- untested ${testfile}.exp
- return -1
-}
-
-clean_restart $executable
-
-if ![runto_main] {
- return -1;
-}
-
-# `noprint' would not test the full logic of GDB.
-gdb_test "handle SIGUSR1 nostop print pass" "\r\nSIGUSR1\[ \t\]+No\[ \t\]+Yes\[ \t\]+Yes\[ \t\].*"
-
-gdb_test_no_output "set scheduler-locking off"
-
-gdb_breakpoint [gdb_get_line_number "step-1"]
-gdb_test_no_output {set $step1=$bpnum}
-gdb_continue_to_breakpoint "step-1" ".* step-1 .*"
-gdb_test_no_output {disable $step1}
-
-# 1 as we are now stopped at the `step-1' label.
-set step_at 1
-for {set i 0} {$i < 100} {incr i} {
- set test "step $i"
- # Presume this step failed - as in the case of a timeout.
- set failed 1
- gdb_test_multiple "step" $test {
- -re "\r\nProgram received signal SIGUSR1, User defined signal 1.\r\n" {
- exp_continue -continue_timer
- }
- -re "step-(\[012\]).*\r\n$gdb_prompt $" {
- set now $expect_out(1,string)
- if {$step_at == 2 && $now == 1} {
- set failed 0
- } elseif {$step_at == 1 && $now == 2} {
- set failed 0
- # Continue over the re-signalling back to the handle entry.
- gdb_test_no_output {enable $step1} ""
- gdb_test "continue" " step-1 .*" ""
- set now 1
- gdb_test_no_output {disable $step1} ""
- } else {
- fail $test
- }
- set step_at $now
- }
- }
- if $failed {
- return
- }
-}
-# We can never reliably say the racy problematic case has been tested.
-pass "step"