No longer pull thread list explicitly
authorYao Qi <yao@codesourcery.com>
Wed, 8 Oct 2014 14:26:27 +0000 (22:26 +0800)
committerYao Qi <yao@codesourcery.com>
Sat, 11 Oct 2014 00:32:52 +0000 (08:32 +0800)
As the result of the patch below, GDB updates thread list when a stop is
presented to user.  The tests don't have to fetch thread list explicitly.

  [PATCH 3/3] Fix non-stop regressions caused by "breakpoints always-inserted off" changes
  https://sourceware.org/ml/gdb-patches/2014-09/msg00734.html

This patch is to remove the test code updating thread list.

Run these three tests many times on arm-linux-gnueabi and x86-linux.
No regressions.

gdb/testsuite:

2014-10-11  Yao Qi  <yao@codesourcery.com>

* gdb.threads/thread-find.exp: Don't execute command
"info threads".
* gdb.threads/attach-into-signal.exp (corefunc): Likewise.
* gdb.threads/linux-dp.exp: Don't check the condition
$threads_created equals to zero.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.threads/attach-into-signal.exp
gdb/testsuite/gdb.threads/linux-dp.exp
gdb/testsuite/gdb.threads/thread-find.exp

index 13aecb4..e33cbd2 100644 (file)
@@ -1,3 +1,11 @@
+2014-10-11  Yao Qi  <yao@codesourcery.com>
+
+       * gdb.threads/thread-find.exp: Don't execute command
+       "info threads".
+       * gdb.threads/attach-into-signal.exp (corefunc): Likewise.
+       * gdb.threads/linux-dp.exp: Don't check the condition
+       $threads_created equals to zero.
+
 2014-10-10  Pedro Alves  <palves@redhat.com>
 
        * gdb.base/bigcore.exp: Remove references to IRIX.
index d77380b..277a9d0 100644 (file)
@@ -102,15 +102,6 @@ proc corefunc { threadtype executable } {
                        # that by peeking at the thread's siginfo.
                        # SIGALRM is 14, SIGSTOP is 19.
 
-                       # With remote targets, we need to pull the
-                       # thread list explicitly before GDB even knows
-                       # about thread 2.
-                       set test2 "pull thread list"
-                       gdb_test_multiple "info threads" $test2 {
-                           -re "\r\n$gdb_prompt $" {
-                           }
-                       }
-
                        set test2 "thread apply 2 print \$_siginfo.si_signo"
                        gdb_test_multiple $test2 $test2 {
                            -re " = 14\r\n$gdb_prompt $" {
index 8fa8288..f4099fe 100644 (file)
@@ -104,14 +104,7 @@ for {set i 0} {$i < 5} {incr i} {
        -re "$gdb_prompt $" {
        }
     }
-    if { $threads_created == 0 } {
-       # Not all targets announce new threads as they are created.
-       # For example, the GDB
-       # remote protocol target only finds out about threads when
-       # they actually report some event like a breakpoint hit,
-       # or when the user types 'info threads'.
-       unsupported "create philosopher: $i"
-    } elseif { $threads_created == 1 } {
+    if { $threads_created == 1 } {
        if { $expect_manager < 0 } {
            set expect_manager 0
        }
index 25f2856..3e82989 100644 (file)
@@ -29,10 +29,6 @@ runto_main
 gdb_breakpoint [gdb_get_line_number "linuxthreads.exp: info threads 2"]
 gdb_continue_to_breakpoint "main thread's sleep"
 
-# Make sure thread list is up-to-date (in case remote targets have not yet
-# reported thread creation events)
-gdb_test "info threads"
-
 # Create thread names.
 gdb_test "thread apply 1 thread name threadname_1" \
     "Thread 1 .*" \