From ae780a21f25455e4ca4b2fa7e350e7f994e0f198 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Tue, 5 Sep 2017 17:40:44 +0200 Subject: [PATCH] Test different follow-exec-mode settings in gdb.multi/multi-arch-exec.exp Using follow-exec-mode "new" takes a different code path than "same", so it's interesting to test this path in combination with a change in architecture of the inferior. This test fails if you remove the previous patch. gdb/testsuite/ChangeLog: * gdb.multi/multi-arch-exec.exp: Test with different "follow-exec-mode" settings. (do_test): New procedure. --- gdb/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.multi/multi-arch-exec.exp | 24 +++++++++++++++------ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index e53192283e..dfb63a3fa0 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2017-09-05 Simon Marchi + + * gdb.multi/multi-arch-exec.exp: Test with different + "follow-exec-mode" settings. + (do_test): New procedure. + 2017-09-04 Pedro Alves * gdb.base/func-static.c (S::method const, S::method volatile) diff --git a/gdb/testsuite/gdb.multi/multi-arch-exec.exp b/gdb/testsuite/gdb.multi/multi-arch-exec.exp index ed985320b8..27a0d602a1 100644 --- a/gdb/testsuite/gdb.multi/multi-arch-exec.exp +++ b/gdb/testsuite/gdb.multi/multi-arch-exec.exp @@ -76,12 +76,22 @@ if { [prepare_for_testing "failed to prepare" ${exec2} "${srcfile2}" \ return -1 } -clean_restart ${exec1} -if ![runto_main] then { - fail "couldn't run to main" - return -1 +proc do_test { mode } { + global exec1 + + clean_restart ${exec1} + if ![runto_main] then { + fail "couldn't run to main" + return -1 + } + + gdb_test_no_output "set follow-exec-mode $mode" + + # Test that GDB updates the target description / arch successfuly + # after the exec. + gdb_test "continue" "Breakpoint 1, main.*" "continue across exec that changes architecture" } -# Test that GDB updates the target description / arch successfuly -# after the exec. -gdb_test "continue" "Breakpoint 1, main.*" "continue across exec that changes architecture" +foreach follow_exec_mode {"same" "new"} { + do_test $follow_exec_mode +} -- 2.34.1