]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Use save_vars to restore GDBFLAGS
authorTom de Vries <tdevries@suse.de>
Fri, 3 May 2024 13:07:33 +0000 (15:07 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 3 May 2024 13:07:33 +0000 (15:07 +0200)
There's a pattern of using:
...
set saved_gdbflags $GDBFLAGS
set GDBFLAGS "$GDBFLAGS ..."
<do something with GDBFLAGS>
set GDBFLAGS $saved_gdbflags
...

Simplify this by using save_vars:
...
save_vars { GDBFLAGS } {
    set GDBFLAGS "$GDBFLAGS ..."
    <do something with GDBFLAGS>
}
...

Tested on x86_64-linux.

25 files changed:
gdb/testsuite/gdb.base/batch-preserve-term-settings.exp
gdb/testsuite/gdb.base/bp-cmds-execution-x-script.exp
gdb/testsuite/gdb.base/break-main-file-remove-fail.exp
gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
gdb/testsuite/gdb.base/break-unload-file.exp
gdb/testsuite/gdb.base/code_elim.exp
gdb/testsuite/gdb.base/paginate-execution-startup.exp
gdb/testsuite/gdb.base/remotetimeout.exp
gdb/testsuite/gdb.base/write_mem.exp
gdb/testsuite/gdb.cp/readnow-language.exp
gdb/testsuite/gdb.dwarf2/count.exp
gdb/testsuite/gdb.dwarf2/dw2-icycle.exp
gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp
gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp
gdb/testsuite/gdb.dwarf2/implptrconst.exp
gdb/testsuite/gdb.dwarf2/implptrpiece.exp
gdb/testsuite/gdb.dwarf2/nostaticblock.exp
gdb/testsuite/gdb.dwarf2/symtab-producer.exp
gdb/testsuite/gdb.fortran/info-main.exp
gdb/testsuite/gdb.mi/mi-async.exp
gdb/testsuite/gdb.python/py-prompt.exp
gdb/testsuite/gdb.threads/fork-plus-threads.exp
gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp
gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp
gdb/testsuite/lib/gdb.exp

index dc2b1ce617ef08b5f342fedb8b38d2fbe90afa2e..d4ceba68c95303b99073bb9e0f9e9d1aa0885e85 100644 (file)
@@ -228,8 +228,6 @@ proc test_terminal_settings_preserved_after_cli_exit { cmds } {
        return
     }
 
-    set saved_gdbflags $GDBFLAGS
-
     set stty_supported [run_stty "stty before" stty_before]
 
     set test "start gdb"
@@ -296,8 +294,6 @@ proc test_terminal_settings_preserved_after_sigterm { } {
        return
     }
 
-    set saved_gdbflags $GDBFLAGS
-
     set stty_supported [run_stty "stty before" stty_before]
 
     set test "start gdb"
index 25adf015b7f0e51175ff3b8f6347e9aa16d058c4..1d91958e3c56d800a33e566f3afa5eb2b4f557f8 100644 (file)
@@ -25,30 +25,24 @@ if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
 
 set x_file ${srcdir}/${subdir}/$testfile.gdb
 
-global GDBFLAGS
-set saved_gdbflags $GDBFLAGS
-
 # Run the test proper.
 
 proc test {} {
     global inferior_exited_re
     global binfile
     global gdb_prompt
-    global saved_gdbflags GDBFLAGS
+    global GDBFLAGS
     global x_file
 
     gdb_exit
 
-    set GDBFLAGS "$GDBFLAGS -x $x_file $binfile"
-
-    set GDBFLAGS $saved_gdbflags
-    append GDBFLAGS " -x \"$x_file\""
-    append GDBFLAGS " --args \"$binfile\""
-
     set test "run to end"
 
-    gdb_exit
-    set res [gdb_spawn]
+    save_vars { GDBFLAGS } {
+       append GDBFLAGS " -x \"$x_file\""
+       append GDBFLAGS " --args \"$binfile\""
+       set res [gdb_spawn]
+    }
     if { $res != 0} {
        fail $test
        return -1
@@ -65,5 +59,3 @@ proc test {} {
 }
 
 test
-
-set GDBFLAGS $saved_gdbflags
index 8a8c508b340bdbae6c25497b3e95cd1bfa97f36a..97b662c78717697e18f18a28c783df0db87c2d01 100644 (file)
@@ -35,25 +35,25 @@ proc test_remove_bp { initial_load } {
 
        gdb_exit
 
-       set saved_gdbflags $GDBFLAGS
+       save_vars { GDBFLAGS } {
 
-       # See "used to behave differently" further below.
-       if { $initial_load == "file" } {
-           gdb_start
-           gdb_file_cmd $binfile
-       } else {
-           global last_loaded_file
+           # See "used to behave differently" further below.
+           if { $initial_load == "file" } {
+               gdb_start
+               gdb_file_cmd $binfile
+           } else {
+               global last_loaded_file
 
-           # gdb_file_cmd sets this.  This is what gdb_reload
-           # implementations use as binary.
-           set last_loaded_file $binfile
+               # gdb_file_cmd sets this.  This is what gdb_reload
+               # implementations use as binary.
+               set last_loaded_file $binfile
 
-           set GDBFLAGS "$GDBFLAGS $binfile"
-           gdb_start
+               set GDBFLAGS "$GDBFLAGS $binfile"
+               gdb_start
+           }
+           gdb_reinitialize_dir $srcdir/$subdir
+           gdb_reload
        }
-       gdb_reinitialize_dir $srcdir/$subdir
-       gdb_reload
-       set GDBFLAGS $saved_gdbflags
 
        if ![runto start] {
            return
index 613c9dc47e89564c3fdcfeed3b3fb361da401e14..67afe4c9fa52d8377efdf0416a6b86b543138b10 100644 (file)
@@ -48,10 +48,10 @@ proc set_breakpoint_on_gcd_function {} {
 
 set_breakpoint_on_gcd_function
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow"
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow"
+    clean_restart ${testfile}
+}
 
 with_test_prefix "readnow" {
     set_breakpoint_on_gcd_function
index 2d62cc51cec10623ae2f486fdd4535fb2407c218..fb9874b4297aaf561e5b544ead8f6282e785877a 100644 (file)
@@ -38,26 +38,26 @@ proc test_break { initial_load always_inserted break_command } {
     with_test_prefix "$prefix" {
        gdb_exit
 
-       set saved_gdbflags $GDBFLAGS
+       save_vars { GDBFLAGS } {
 
-       # See "used to behave differently" further below.
-       if { $initial_load == "file" } {
-           gdb_start
-           gdb_file_cmd $binfile
-       } else {
-           global last_loaded_file
+           # See "used to behave differently" further below.
+           if { $initial_load == "file" } {
+               gdb_start
+               gdb_file_cmd $binfile
+           } else {
+               global last_loaded_file
 
-           # gdb_file_cmd sets this.  This is what gdb_reload
-           # implementations use as binary.
-           set last_loaded_file $binfile
+               # gdb_file_cmd sets this.  This is what gdb_reload
+               # implementations use as binary.
+               set last_loaded_file $binfile
 
-           set GDBFLAGS "$GDBFLAGS $binfile"
-           gdb_start
-       }
+               set GDBFLAGS "$GDBFLAGS $binfile"
+               gdb_start
+           }
 
-       gdb_reinitialize_dir $srcdir/$subdir
-       gdb_reload
-       set GDBFLAGS $saved_gdbflags
+           gdb_reinitialize_dir $srcdir/$subdir
+           gdb_reload
+       }
 
        if {![runto_main]} {
            return
index e66382fdbd9442df1c0250b3799d46ecab43d7ed..8ead31dc8e891d0d64464538174dd7c1076758f2 100644 (file)
@@ -93,11 +93,10 @@ with_test_prefix "single psymtabs" {
 # Same thing for symtabs
 
 gdb_exit
-global GDBFLAGS
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow $binfile1"
-gdb_start
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow $binfile1"
+    gdb_start
+}
 
 with_test_prefix "single symtabs" {
     test_eliminated_var my_global_symbol
index f0f7db5932c6ddd0710bf5ecbc85e9e5d3e7a594..134cf64ac8ef37f32b47bad840d6b539e827f2ec 100644 (file)
@@ -27,25 +27,22 @@ if [is_remote host] {
   set file_arg [remote_download host $file_arg]
 }
 
-global GDBFLAGS
-set saved_gdbflags $GDBFLAGS
-
 # Returns true if the board can 'gdb -ex "start"', false otherwise.
 
 proc probe_can_run_cmdline  {} {
     global srcfile file_arg
-    global saved_gdbflags GDBFLAGS
+    global GDBFLAGS
     global gdb_prompt
 
-    set GDBFLAGS $saved_gdbflags
-    append GDBFLAGS " -ex \"start\""
-    append GDBFLAGS " --args \"$file_arg\""
-
     with_test_prefix "probe support" {
        set test "run to main"
 
        gdb_exit
-       set res [gdb_spawn]
+       save_vars { GDBFLAGS } {
+           append GDBFLAGS " -ex \"start\""
+           append GDBFLAGS " --args \"$file_arg\""
+           set res [gdb_spawn]
+       }
        if { $res != 0} {
            fail $test
            return -1
@@ -74,23 +71,25 @@ proc probe_can_run_cmdline  {} {
 
 proc test_fg_execution_pagination_return {} {
     global file_arg
-    global saved_gdbflags GDBFLAGS
+    global GDBFLAGS
     global gdb_prompt pagination_prompt
 
-    set GDBFLAGS $saved_gdbflags
-    append GDBFLAGS " -ex \"set height 2\""
-    append GDBFLAGS " -ex \"start\""
-    append GDBFLAGS " --args \"$file_arg\""
-
     with_test_prefix "return" {
        set test "run to pagination"
 
        gdb_exit
-       set res [gdb_spawn]
+
+       save_vars { GDBFLAGS  } {
+           append GDBFLAGS " -ex \"set height 2\""
+           append GDBFLAGS " -ex \"start\""
+           append GDBFLAGS " --args \"$file_arg\""
+           set res [gdb_spawn]
+       }
        if { $res != 0} {
            fail $test
            return $res
        }
+
        gdb_test_multiple "" $test {
            -re "$pagination_prompt$" {
                pass $test
@@ -127,24 +126,25 @@ proc test_fg_execution_pagination_return {} {
 
 proc test_fg_execution_pagination_cancel { how } {
     global file_arg
-    global saved_gdbflags GDBFLAGS
+    global GDBFLAGS
     global gdb_prompt pagination_prompt
 
-    set GDBFLAGS $saved_gdbflags
-
-    append GDBFLAGS " -ex \"set height 2\""
-    append GDBFLAGS " -ex \"start\""
-    append GDBFLAGS " --args \"$file_arg\""
-
     with_test_prefix "cancel with $how" {
        set test "run to pagination"
 
        gdb_exit
-       set res [gdb_spawn]
+
+       save_vars { GDBFLAGS } {
+           append GDBFLAGS " -ex \"set height 2\""
+           append GDBFLAGS " -ex \"start\""
+           append GDBFLAGS " --args \"$file_arg\""
+           set res [gdb_spawn]
+       }
        if { $res != 0} {
            fail $test
            return $res
        }
+
        gdb_test_multiple "" $test {
            -re "$pagination_prompt$" {
                pass $test
@@ -182,5 +182,3 @@ save_vars { INTERNAL_GDBFLAGS } {
        test_fg_execution_pagination_cancel "quit"
     }
 }
-
-set GDBFLAGS $saved_gdbflags
index 27f02956202744624260f68547b4f09d4d8a1ad7..b7d8c90ca015699b8ae1496460150b424555a49e 100644 (file)
 # This is a test for the gdb invocation option -l.
 
 
-global GDBFLAGS
+gdb_exit
 
 #
 # Test that -l is processed correctly.
 #
-set old_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -l 42"
-gdb_exit
-gdb_start
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -l 42"
+    gdb_start
+}
+
 gdb_test "show remotetimeout" \
        "Timeout limit to wait for target to respond is 42\." \
        "correct remotetimeout printed"
-
-set GDBFLAGS $old_gdbflags
-
index 89c064795c6b122e84b8732fff7020da8ae3fc24..3f2380c64a4cb00733f3e99824331f1f8150c2f0 100644 (file)
@@ -27,21 +27,27 @@ if {[build_executable $testfile.exp $testfile \
     return -1
 }
 
-set old_gdbflags $GDBFLAGS
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS $binfile"
+    clean_restart
+}
 
 # Expect a failure before --write has been added to the command line
-set GDBFLAGS "$old_gdbflags $binfile"
-clean_restart
 test_print_reject "set {int}main = 0x4242" "Cannot access memory at address"
 
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --write $binfile"
+    clean_restart
+}
+
 # Setting memory should now work correctly after adding --write
-set GDBFLAGS "$old_gdbflags --write $binfile"
-clean_restart
 gdb_test_no_output "set {int}main = 0x4242"
 
-# Check that memory write persists after quitting GDB
 gdb_exit
-gdb_start
-gdb_test "x /x main" "<main>:.*4242"
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --write $binfile"
+    gdb_start
+}
 
-set GDBFLAGS $old_gdbflags
+# Check that memory write persists after quitting GDB
+gdb_test "x /x main" "<main>:.*4242"
index 05193ec9f360e5de7be449132ddc7e6236cd0213..a9cd64516868e44acacda695bee4ff841faa5162 100644 (file)
@@ -19,9 +19,9 @@ if {[build_executable ${testfile}.exp $testfile ${testfile}.cc {c++ debug}] == -
     return -1
 }
 
-set old_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart $testfile
-set GDBFLAGS $old_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart $testfile
+}
 
 gdb_test "show language" {The current source language is "auto; currently c\+\+"\.}
index 99c52d231aef6226e5ea02b0b7d09586c7e4a110..52deb19146bee34266183282ffe3a13551ef64fb 100644 (file)
@@ -138,11 +138,10 @@ if { [gdb_compile [list ${binfile}1.o ${binfile}2.o] \
     return -1
 }
 
-global GDBFLAGS
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS [concat $GDBFLAGS " -readnow"]
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS [concat $GDBFLAGS " -readnow"]
+    clean_restart ${testfile}
+}
 
 if ![runto_main] {
     return -1
index 9c004562d695c98184992a9fa8ba2b4206a0de2d..2675f70df144d1a17482e12f757ca4380e0f08e0 100644 (file)
@@ -33,10 +33,10 @@ if { [build_executable "failed to prepare" ${testfile} \
 # start the debugger with -readnow.  This force expansion as soon as
 # the objfile is loaded.
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart ${testfile}
+}
 
 # And just to be sure that the debugger did not crash after having
 # expanded our symbols, do a life-check.
index 2a5aa3ee0c15f97a440361647f45f423249ce580..9b89b8ce6faeca865c171b793df9a5aa94760b71 100644 (file)
@@ -32,10 +32,10 @@ proc test { } {
 
 test
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow"
-clean_restart ${binfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow"
+    clean_restart ${binfile}
+}
 
 with_test_prefix "readnow" {
     test
index 63c834b8846c561a78b9e511868af56bd69e604d..24dc132aa82929a4ac62489c48d581e697600a48 100644 (file)
@@ -24,9 +24,9 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != ""
     return -1
 }
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow"
-clean_restart $executable
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow"
+    clean_restart $executable
+}
 
 gdb_test "p 1" " = 1" "alive"
index 796b8b70307b5b87b04d22454a51da6f2473fb2b..8e6dbf0d2138563a56b2701620581c31843ddb1a 100644 (file)
@@ -90,10 +90,10 @@ if { [build_executable ${testfile}.exp ${testfile} \
 
 # We need --readnow because otherwise we never read in the CU we
 # created above.
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart ${testfile}
+}
 
 if ![runto_main] {
     return -1
index 83bdf9911358a7dab877a016531ec9099071cd98..585cd7497b6ff5e1df825360b7918adb33a30436 100644 (file)
@@ -108,10 +108,10 @@ if { [build_executable ${testfile}.exp ${testfile} \
 
 # We need --readnow because otherwise we never read in the CU we
 # created above.
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart ${testfile}
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart ${testfile}
+}
 
 if ![runto_main] {
     return -1
index 46e2b4c4ca8f969b3670ee01d6272263fbb1e8fd..e8d41f04efca1f255333f1647b388fc541cceb16 100644 (file)
@@ -38,9 +38,9 @@ if { [build_executable ${testfile}.exp ${testfile} \
     return -1
 }
 
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS --readnow"
-clean_restart $testfile
-set GDBFLAGS $saved_gdbflags
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS --readnow"
+    clean_restart $testfile
+}
 
 gdb_test "p 1" " = 1" "alive"
index 756b1d60bf29dc03f83b6b8aca70359c2ec52681..ac16c95d8a3ac12bcacead95547578dd2cded0b3 100644 (file)
@@ -73,17 +73,15 @@ Dwarf::assemble $asm_file {
 
 # We need --readnow because otherwise we never read in the CUs we
 # created above.
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS "$GDBFLAGS -readnow"
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
 
-if { [prepare_for_testing "failed to prepare" ${testfile} \
-         [list $srcfile $asm_file] {nodebug}] } {
-    set GDBFLAGS $saved_gdbflags
-    return -1
+    if { [prepare_for_testing "failed to prepare" ${testfile} \
+             [list $srcfile $asm_file] {nodebug}] } {
+       return -1
+    }
 }
 
-set GDBFLAGS $saved_gdbflags
-
 gdb_py_test_silent_cmd "python with_producer = gdb.lookup_global_symbol(\"with_producer\")" \
     "get with_producer symbol" 0
 
index e8583f3bf9f8363ca6cc172dc983846cc9844f59..7d11235b12f2c1640ca2e6e598efea7b02772d34 100644 (file)
@@ -19,11 +19,12 @@ load_lib fortran.exp
 
 standard_testfile .f90
 
-set old_gdbflags $GDBFLAGS
-set GDBFLAGS [string map {"-readnow" ""} "$GDBFLAGS"]
+save_vars { GDBFLAGS } {
+    set GDBFLAGS [string map {"-readnow" ""} "$GDBFLAGS"]
 
-if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}]} {
-    return -1
+    if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug f90}]} {
+       return -1
+    }
 }
 
 gdb_test "info main" "simple" "info main prior to start"
@@ -35,8 +36,8 @@ if ![fortran_runto_main] {
 
 gdb_test "info main" "simple" "info main post start"
 
-set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart $testfile
+save_vars { GDBFLAGS } {
+    set GDBFLAGS "$GDBFLAGS -readnow"
+    clean_restart $testfile
+}
 gdb_test "info main" "simple" "info main with readnow"
-
-set GDBFLAGS $old_gdbflags
index fc138a6e9eadbe5062f382dbd4a08490f1b5efa6..74aff568a347cb20e190f8d8e5ae8eb9cf394724 100644 (file)
@@ -29,10 +29,6 @@ if {![istarget *-linux*]} {
 # Check if start command is supported.
 require !use_gdb_stub
 
-# The plan is for async mode to become the default but toggle for now.
-set saved_gdbflags $GDBFLAGS
-set GDBFLAGS [concat $GDBFLAGS " -ex \"set mi-async on\""]
-
 load_lib mi-support.exp
 
 standard_testfile basics.c
@@ -42,8 +38,13 @@ if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
      return -1
 }
 
-if {[mi_clean_restart $binfile]} {
-    return
+# The plan is for async mode to become the default but toggle for now.
+save_vars { GDBFLAGS } {
+    set GDBFLAGS [concat $GDBFLAGS " -ex \"set mi-async on\""]
+
+    if {[mi_clean_restart $binfile]} {
+       return
+    }
 }
 
 # mi_gdb_test cannot be used for asynchronous commands because there are
@@ -75,5 +76,3 @@ proc linux_async_tests {} {
 linux_async_tests
 
 mi_gdb_exit
-
-set GDBFLAGS $saved_gdbflags
index f1f93bff572c823e9fa92e44f865ec3889fb3457..614fe9d82ea94dc1a1779dcf6f5829caf3d3a524 100644 (file)
@@ -27,11 +27,9 @@ if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} {
     return -1
 }
 
-save_vars { INTERNAL_GDBFLAGS } {
+save_vars { INTERNAL_GDBFLAGS GDBFLAGS } {
     set INTERNAL_GDBFLAGS [string map {"-q" ""} $INTERNAL_GDBFLAGS]
 
-    global GDBFLAGS
-    set saved_gdbflags $GDBFLAGS
     set GDBFLAGS [concat $GDBFLAGS " -ex \"python p = list()\""]
     set prompt_func "python def foo(x): global p; p.append(x);  return \'(Foo) \'"
     set GDBFLAGS [concat $GDBFLAGS " -ex \"$prompt_func\""]
@@ -72,7 +70,6 @@ save_vars { INTERNAL_GDBFLAGS } {
     }
 
     if {![can_spawn_for_attach]} {
-       set GDBFLAGS $saved_gdbflags
        return 0
     }
 
@@ -115,6 +112,5 @@ save_vars { INTERNAL_GDBFLAGS } {
        gdb_exit
     }
 
-    set GDBFLAGS $saved_gdbflags
     kill_wait_spawned_process $test_spawn_id
 }
index 431ad4a8b7fa10008268aefc5decea2081818b55..c08b4c1579a6f68a10c00b7947d527eccd887d42 100644 (file)
@@ -34,17 +34,15 @@ proc do_test { detach-on-fork } {
     global srcfile testfile
     global gdb_prompt
 
-    set saved_gdbflags $GDBFLAGS
-    set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop on\""]
+    save_vars { GDBFLAGS } {
+       set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop on\""]
 
-    if {[prepare_for_testing "failed to prepare" \
-            $testfile $srcfile {debug pthreads}] == -1} {
-       set GDBFLAGS $saved_gdbflags
-       return -1
+       if {[prepare_for_testing "failed to prepare" \
+                $testfile $srcfile {debug pthreads}] == -1} {
+           return -1
+       }
     }
 
-    set GDBFLAGS $saved_gdbflags
-
     if {![runto_main]} {
        return 0
     }
index 7f010045e297a2c6ad924120cc5fdcd1b4682eca..66311fe383134b64519afb031988ed68e6cab3ae 100644 (file)
@@ -72,10 +72,10 @@ proc do_test { cond_bp_target detach_on_fork displaced } {
     global linenum
     global is_remote_target
 
-    set saved_gdbflags $GDBFLAGS
-    set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop on\""]
-    clean_restart $binfile
-    set GDBFLAGS $saved_gdbflags
+    save_vars { GDBFLAGS } {
+       set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop on\""]
+       clean_restart $binfile
+    }
 
     if {![runto_main]} {
        return 0
index e1bc6feea46c36a9eecc0a1546fc07669eb9f6cd..4ff68a6b71e244716710ef0372e7dab2d99e82c6 100644 (file)
@@ -40,10 +40,10 @@ proc do_test { non_stop cond_bp_target } {
     global binfile
     global linenum
 
-    set saved_gdbflags $GDBFLAGS
-    set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop $non_stop\""]
-    clean_restart $binfile
-    set GDBFLAGS $saved_gdbflags
+    save_vars { GDBFLAGS } {
+       set GDBFLAGS [concat $GDBFLAGS " -ex \"set non-stop $non_stop\""]
+       clean_restart $binfile
+    }
 
     if {![runto_main]} {
        return 0
index fe3f05c18df943c66f848d45c42d0d798d655232..4c3097defa4476e6fb4e376af91aa4f099628a05 100644 (file)
@@ -6128,16 +6128,14 @@ proc gdb_spawn { } {
 proc gdb_spawn_with_cmdline_opts { cmdline_flags } {
     global GDBFLAGS
 
-    set saved_gdbflags $GDBFLAGS
+    save_vars { GDBFLAGS } {
+       if {$GDBFLAGS != ""} {
+           append GDBFLAGS " "
+       }
+       append GDBFLAGS $cmdline_flags
 
-    if {$GDBFLAGS != ""} {
-       append GDBFLAGS " "
+       set res [gdb_spawn]
     }
-    append GDBFLAGS $cmdline_flags
-
-    set res [gdb_spawn]
-
-    set GDBFLAGS $saved_gdbflags
 
     return $res
 }