From de5f37e1db1f860e2bd07cbd45307734e75cac9b Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 22 Aug 2013 13:54:15 +0000 Subject: [PATCH] fix gdb.arch to be parallel-safe This fixes parts of gdb.arch to be parallel-safe. I only changed the bits I could test on this machine. I don't have access to many of the machines needed to fully switch gdb.arch; but I am happy to provide advice to others attempting this. Or, I can send an untested patch to convert it all. Tested on x86-64 Fedora 18. * gdb.arch/amd64-byte.exp: Use standard_testfile, clean_restart. * gdb.arch/amd64-disp-step.exp: Use standard_testfile. * gdb.arch/amd64-dword.exp: Use standard_testfile, clean_restart. * gdb.arch/amd64-entry-value-param.exp: Use standard_testfile. * gdb.arch/amd64-entry-value.exp: Use standard_testfile. * gdb.arch/amd64-prologue-xmm.exp: Use standard_testfile. * gdb.arch/amd64-word.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-avx.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-byte.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-disp-step.exp: Use standard_testfile. * gdb.arch/i386-dr3-watch.exp: Use standard_testfile. * gdb.arch/i386-permbkpt.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-signal.exp: Use standard_testfile. * gdb.arch/i386-size-overlap.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-sse.exp: Use standard_testfile, clean_restart. * gdb.arch/i386-unwind.exp: Use standard_testfile. * gdb.arch/i386-word.exp: Use standard_testfile, clean_restart. --- gdb/testsuite/ChangeLog | 23 ++++++++++++++++++++++ gdb/testsuite/gdb.arch/amd64-byte.exp | 9 ++------- gdb/testsuite/gdb.arch/amd64-disp-step.exp | 4 +--- gdb/testsuite/gdb.arch/amd64-dword.exp | 9 ++------- gdb/testsuite/gdb.arch/amd64-entry-value-param.exp | 8 +++----- gdb/testsuite/gdb.arch/amd64-entry-value.exp | 3 +-- gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp | 7 +++---- gdb/testsuite/gdb.arch/amd64-word.exp | 9 ++------- gdb/testsuite/gdb.arch/i386-avx.exp | 9 ++------- gdb/testsuite/gdb.arch/i386-byte.exp | 9 ++------- gdb/testsuite/gdb.arch/i386-disp-step.exp | 4 +--- gdb/testsuite/gdb.arch/i386-dr3-watch.exp | 5 ++--- gdb/testsuite/gdb.arch/i386-permbkpt.exp | 9 ++------- gdb/testsuite/gdb.arch/i386-signal.exp | 4 +--- gdb/testsuite/gdb.arch/i386-size-overlap.exp | 4 +--- gdb/testsuite/gdb.arch/i386-sse.exp | 9 ++------- gdb/testsuite/gdb.arch/i386-unwind.exp | 4 +--- gdb/testsuite/gdb.arch/i386-word.exp | 9 ++------- 18 files changed, 53 insertions(+), 85 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 59fcf90..fa1b321 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,28 @@ 2013-08-22 Tom Tromey + * gdb.arch/amd64-byte.exp: Use standard_testfile, + clean_restart. + * gdb.arch/amd64-disp-step.exp: Use standard_testfile. + * gdb.arch/amd64-dword.exp: Use standard_testfile, + clean_restart. + * gdb.arch/amd64-entry-value-param.exp: Use standard_testfile. + * gdb.arch/amd64-entry-value.exp: Use standard_testfile. + * gdb.arch/amd64-prologue-xmm.exp: Use standard_testfile. + * gdb.arch/amd64-word.exp: Use standard_testfile, + clean_restart. + * gdb.arch/i386-avx.exp: Use standard_testfile, clean_restart. + * gdb.arch/i386-byte.exp: Use standard_testfile, clean_restart. + * gdb.arch/i386-disp-step.exp: Use standard_testfile. + * gdb.arch/i386-dr3-watch.exp: Use standard_testfile. + * gdb.arch/i386-permbkpt.exp: Use standard_testfile, clean_restart. + * gdb.arch/i386-signal.exp: Use standard_testfile. + * gdb.arch/i386-size-overlap.exp: Use standard_testfile, clean_restart. + * gdb.arch/i386-sse.exp: Use standard_testfile, clean_restart. + * gdb.arch/i386-unwind.exp: Use standard_testfile. + * gdb.arch/i386-word.exp: Use standard_testfile, clean_restart. + +2013-08-22 Tom Tromey + * gdb.python/py-error.exp: Use gdb_remote_download. * gdb.python/py-mi.exp: Use gdb_remote_download. * gdb.python/py-objfile-script.exp: Use standard_output_file. diff --git a/gdb/testsuite/gdb.arch/amd64-byte.exp b/gdb/testsuite/gdb.arch/amd64-byte.exp index 0b908fa..c4774e6 100644 --- a/gdb/testsuite/gdb.arch/amd64-byte.exp +++ b/gdb/testsuite/gdb.arch/amd64-byte.exp @@ -24,9 +24,7 @@ if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { return } -set testfile "amd64-byte" -set srcfile amd64-pseudo.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile amd64-pseudo.c if [get_compiler_info] { return -1 @@ -37,10 +35,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list return } -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${binfile} if ![runto_main] then { gdb_suppress_tests diff --git a/gdb/testsuite/gdb.arch/amd64-disp-step.exp b/gdb/testsuite/gdb.arch/amd64-disp-step.exp index 14a65d3..1ad39cc 100644 --- a/gdb/testsuite/gdb.arch/amd64-disp-step.exp +++ b/gdb/testsuite/gdb.arch/amd64-disp-step.exp @@ -25,9 +25,7 @@ if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { set newline "\[\r\n\]*" -set testfile "amd64-disp-step" -set srcfile ${testfile}.S -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile .S set additional_flags "-Wa,-g" diff --git a/gdb/testsuite/gdb.arch/amd64-dword.exp b/gdb/testsuite/gdb.arch/amd64-dword.exp index 7b5cab7..759cd0e 100644 --- a/gdb/testsuite/gdb.arch/amd64-dword.exp +++ b/gdb/testsuite/gdb.arch/amd64-dword.exp @@ -24,9 +24,7 @@ if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { return } -set testfile "amd64-dword" -set srcfile amd64-pseudo.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile amd64-pseudo.c if [get_compiler_info] { return -1 @@ -37,10 +35,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list return } -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${binfile} if ![runto_main] then { gdb_suppress_tests diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp index 4197ed8..e44b6ff 100644 --- a/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp +++ b/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp @@ -13,14 +13,12 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -set testfile amd64-entry-value-param -set srcfile ${testfile}.S -set csrcfile ${testfile}.c +standard_testfile .S .c set opts {} if [info exists COMPILE] { # make check RUNTESTFLAGS="gdb.arch/amd64-entry-value-param.exp COMPILE=1" - set srcfile ${csrcfile} + set srcfile ${srcfile2} lappend opts debug optimize=-O2 } elseif { ![istarget x86_64-*-* ] || ![is_lp64_target] } { verbose "Skipping amd64-entry-value-param." @@ -35,7 +33,7 @@ if ![runto_main] { return -1 } -set srcfile $csrcfile +set srcfile $srcfile2 gdb_breakpoint [gdb_get_line_number "break-here"] gdb_continue_to_breakpoint "break-here" ".* break-here .*" diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value.exp b/gdb/testsuite/gdb.arch/amd64-entry-value.exp index df6cb27..2393a71 100644 --- a/gdb/testsuite/gdb.arch/amd64-entry-value.exp +++ b/gdb/testsuite/gdb.arch/amd64-entry-value.exp @@ -13,8 +13,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -set testfile amd64-entry-value -set srcfile ${testfile}.s +standard_testfile .s set opts {} if [info exists COMPILE] { diff --git a/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp b/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp index 28ad9b4..6fafa26 100644 --- a/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp +++ b/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp @@ -15,10 +15,9 @@ # Test GCC PR debug/48827 workaround in GDB. -set testfile "amd64-prologue-xmm" -set srcfile ${testfile}.s +standard_testfile .s +set csrcfile [file rootname $srcfile].c set csrcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile}.x set opts {} if [info exists COMPILE] { @@ -30,7 +29,7 @@ if [info exists COMPILE] { return 0 } -if {[prepare_for_testing ${testfile}.exp ${testfile} $srcfile $opts]} { +if {[prepare_for_testing ${testfile}.exp ${binfile} $srcfile $opts]} { return -1 } diff --git a/gdb/testsuite/gdb.arch/amd64-word.exp b/gdb/testsuite/gdb.arch/amd64-word.exp index 7009b16..101716d 100644 --- a/gdb/testsuite/gdb.arch/amd64-word.exp +++ b/gdb/testsuite/gdb.arch/amd64-word.exp @@ -24,9 +24,7 @@ if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { return } -set testfile "amd64-word" -set srcfile amd64-pseudo.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile amd64-pseudo.c if [get_compiler_info] { return -1 @@ -37,10 +35,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list return } -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${binfile} if ![runto_main] then { gdb_suppress_tests diff --git a/gdb/testsuite/gdb.arch/i386-avx.exp b/gdb/testsuite/gdb.arch/i386-avx.exp index bbbc6f4..1ee1437 100644 --- a/gdb/testsuite/gdb.arch/i386-avx.exp +++ b/gdb/testsuite/gdb.arch/i386-avx.exp @@ -24,9 +24,7 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { return } -set testfile "i386-avx" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile .c if [get_compiler_info] { return -1 @@ -42,10 +40,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list return } -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${binfile} if ![runto_main] then { gdb_suppress_tests diff --git a/gdb/testsuite/gdb.arch/i386-byte.exp b/gdb/testsuite/gdb.arch/i386-byte.exp index 94d0b40..9a0a778 100644 --- a/gdb/testsuite/gdb.arch/i386-byte.exp +++ b/gdb/testsuite/gdb.arch/i386-byte.exp @@ -24,9 +24,7 @@ if {(![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"])} then { return } -set testfile "i386-byte" -set srcfile i386-pseudo.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile i386-pseudo.c if [get_compiler_info] { return -1 @@ -37,10 +35,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list return } -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${binfile} if ![runto_main] then { gdb_suppress_tests diff --git a/gdb/testsuite/gdb.arch/i386-disp-step.exp b/gdb/testsuite/gdb.arch/i386-disp-step.exp index 8d3d5b8..812902c 100644 --- a/gdb/testsuite/gdb.arch/i386-disp-step.exp +++ b/gdb/testsuite/gdb.arch/i386-disp-step.exp @@ -23,9 +23,7 @@ if { ![is_x86_like_target] } then { return } -set testfile "i386-disp-step" -set srcfile ${testfile}.S -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile .S set additional_flags "-Wa,-g" diff --git a/gdb/testsuite/gdb.arch/i386-dr3-watch.exp b/gdb/testsuite/gdb.arch/i386-dr3-watch.exp index 81e33bc..b51c26c 100644 --- a/gdb/testsuite/gdb.arch/i386-dr3-watch.exp +++ b/gdb/testsuite/gdb.arch/i386-dr3-watch.exp @@ -23,10 +23,9 @@ if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } then { return 0 } -set testfile "i386-dr3-watch" -set srcfile ${testfile}.c +standard_testfile -if [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug $additional_flags}] { +if [prepare_for_testing ${testfile}.exp ${binfile} ${srcfile} {debug $additional_flags}] { untested "failed to compile ${testfile}" return -1 } diff --git a/gdb/testsuite/gdb.arch/i386-permbkpt.exp b/gdb/testsuite/gdb.arch/i386-permbkpt.exp index 81ee493..88bfff3 100644 --- a/gdb/testsuite/gdb.arch/i386-permbkpt.exp +++ b/gdb/testsuite/gdb.arch/i386-permbkpt.exp @@ -23,9 +23,7 @@ if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } then { return } -set testfile "i386-permbkpt" -set srcfile ${testfile}.S -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile .S # some targets have leading underscores on assembly symbols. set additional_flags [gdb_target_symbol_prefix_flags] @@ -35,10 +33,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list return -1 } -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${binfile} gdb_test "break main" "" "First permanent break" gdb_test "break main" "" "Second permanent break" diff --git a/gdb/testsuite/gdb.arch/i386-signal.exp b/gdb/testsuite/gdb.arch/i386-signal.exp index 987941c..1c0a901 100644 --- a/gdb/testsuite/gdb.arch/i386-signal.exp +++ b/gdb/testsuite/gdb.arch/i386-signal.exp @@ -20,9 +20,7 @@ if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } then { return } -set testfile "i386-signal" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ executable { debug }] != "" } { diff --git a/gdb/testsuite/gdb.arch/i386-size-overlap.exp b/gdb/testsuite/gdb.arch/i386-size-overlap.exp index 66ed303..d65ec70 100644 --- a/gdb/testsuite/gdb.arch/i386-size-overlap.exp +++ b/gdb/testsuite/gdb.arch/i386-size-overlap.exp @@ -22,9 +22,7 @@ if { ![is_x86_like_target] } then { return } -set testfile "i386-size-overlap" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile # some targets have leading underscores on assembly symbols. set additional_flags [gdb_target_symbol_prefix_flags] diff --git a/gdb/testsuite/gdb.arch/i386-sse.exp b/gdb/testsuite/gdb.arch/i386-sse.exp index c62a3a0..773c7ff 100644 --- a/gdb/testsuite/gdb.arch/i386-sse.exp +++ b/gdb/testsuite/gdb.arch/i386-sse.exp @@ -24,9 +24,7 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { return } -set testfile "i386-sse" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile .c if [get_compiler_info] { return -1 @@ -42,10 +40,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list return } -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${binfile} if ![runto_main] then { gdb_suppress_tests diff --git a/gdb/testsuite/gdb.arch/i386-unwind.exp b/gdb/testsuite/gdb.arch/i386-unwind.exp index c6c0ee5..d0740db 100644 --- a/gdb/testsuite/gdb.arch/i386-unwind.exp +++ b/gdb/testsuite/gdb.arch/i386-unwind.exp @@ -26,9 +26,7 @@ if { ![is_x86_like_target] } then { return } -set testfile "i386-unwind" -set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile # some targets have leading underscores on assembly symbols. set additional_flags [gdb_target_symbol_prefix_flags] diff --git a/gdb/testsuite/gdb.arch/i386-word.exp b/gdb/testsuite/gdb.arch/i386-word.exp index 5ca4159..b19ce40 100644 --- a/gdb/testsuite/gdb.arch/i386-word.exp +++ b/gdb/testsuite/gdb.arch/i386-word.exp @@ -24,9 +24,7 @@ if {(![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"])} then { return } -set testfile "i386-word" -set srcfile i386-pseudo.c -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile i386-pseudo.c if [get_compiler_info] { return -1 @@ -37,10 +35,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list return } -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} +clean_restart ${binfile} if ![runto_main] then { gdb_suppress_tests -- 2.7.4