]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/testsuite/gdb.mi/mi-nsthrexec.exp
Update copyright year range in all GDB files
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.mi / mi-nsthrexec.exp
index 7d0689c09fc51f6ce27acf90498f38a7db02ac3a..6f2acb7014e0f573845b6c9f641467e3d6a14cd3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright 2009-2021 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 main thread doesn't just silently stop at the first internal
 # breakpoint (usually the _dl_debug_state breakpoint).
 
-# No exec event support in the remote protocol.
-if { [is_remote target] } then {
-    continue
+if { ![support_displaced_stepping] } { 
+    unsupported "displaced stepping"
+    return -1
 }
 
 load_lib mi-support.exp
 set MIFLAGS "-i=mi"
 
-gdb_exit
-if {[mi_gdb_start]} {
-    continue
-}
-
 #
 # Start here
 #
-set testfile "nsthrexec"
-set srcfile "$testfile.c"
-set binfile "$objdir/$subdir/mi-$testfile"
+standard_testfile nsthrexec.c
 
-set options [list debug incdir=$objdir]
+set options [list debug]
 if {[gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile executable $options] != "" } {
     return -1
 }
 
-mi_gdb_reinitialize_dir $srcdir/$subdir
-mi_gdb_load $binfile
-
-set supported 0
-gdb_test_multiple "-gdb-show non-stop" "" {
-    -re ".*\\^done,value=\"off\",supported=\"(\[^\"\]+)\"\r\n$mi_gdb_prompt$" {
-       if { $expect_out(1,string) == "1" } {
-           set supported 1
-       }
-    }
-    -re ".*$mi_gdb_prompt$" {
-    }
+save_vars { GDBFLAGS } {
+    append GDBFLAGS " -ex \"set non-stop on\""
+    mi_clean_restart $binfile
 }
 
-mi_gdb_test "-gdb-set non-stop 1" ".*"
-mi_gdb_test "-gdb-set target-async 1" ".*"
-detect_async
+mi_gdb_test "-gdb-set mi-async 1" ".*"
+mi_detect_async
 
-if { [mi_run_to_main] < 0 } {
+if { [mi_runto_main] < 0 } {
     continue
 }
 
-mi_create_breakpoint thread_execler 2 keep thread_execler .* .* .* \
-    "breakpoint at thread_execler"
+mi_create_breakpoint thread_execler \
+    "breakpoint at thread_execler" \
+    -number 2 -function thread_execler
 
 # All threads should stop, except the main thread.
 mi_send_resuming_command "exec-continue --all" "resume all"
@@ -85,8 +69,10 @@ mi_check_thread_states {"stopped" "stopped"} "thread state, all stopped"
 # now that we know about all the threads, we can get rid of the breakpoints
 mi_delete_breakpoints
 
-mi_create_breakpoint main 3 keep main .* .* .* \
-    "breakpoint at main"
+mi_create_breakpoint main \
+    "breakpoint at main" \
+    -number 3 -func main
+
 
 # Now resume the execler thread.  Eventually, it execs.
 mi_send_resuming_command "exec-continue --thread 2" "resume execler thread"