diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ea055b1f33..0221554ee7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2014-10-24 Don Breazeal + + * infrun.c (follow_fork_inferior): Update fork message printing + to use target_terminal_ours_for_output instead of + target_terminal_ours, to use _() for all format strings, to print + "vfork" instead of "fork" for vforks, and to add a detach message. + (handle_vfork_child_exec_or_exit): Update message printing to use + target_terminal_ours_for_output instead of target_terminal_ours, to + use _() for all format strings, and to fix some formatting. + 2014-10-24 Pedro Alves * Makefile.in (ALLDEPFILES): Remove vax-nat.c. diff --git a/gdb/infrun.c b/gdb/infrun.c index 23c79f210e..90a31235ad 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -458,10 +458,11 @@ holding the child stopped. Try \"set detach-on-fork\" or \ if (info_verbose || debug_infrun) { - target_terminal_ours (); + target_terminal_ours_for_output (); fprintf_filtered (gdb_stdlog, - "Detaching after fork from " - "child process %d.\n", + _("Detaching after %s from " + "child process %d.\n"), + has_vforked ? "vfork" : "fork", child_pid); } } @@ -546,17 +547,13 @@ holding the child stopped. Try \"set detach-on-fork\" or \ if (info_verbose || debug_infrun) { - target_terminal_ours (); - if (has_vforked) - fprintf_filtered (gdb_stdlog, - _("Attaching after process %d " - "vfork to child process %d.\n"), - parent_pid, child_pid); - else - fprintf_filtered (gdb_stdlog, - _("Attaching after process %d " - "fork to child process %d.\n"), - parent_pid, child_pid); + target_terminal_ours_for_output (); + fprintf_filtered (gdb_stdlog, + _("Attaching after process %d " + "%s to child process %d.\n"), + parent_pid, + has_vforked ? "vfork" : "fork", + child_pid); } /* Add the new inferior first, so that the target_detach below @@ -593,7 +590,18 @@ holding the child stopped. Try \"set detach-on-fork\" or \ parent_inf->waiting_for_vfork_done = 0; } else if (detach_fork) - target_detach (NULL, 0); + { + if (info_verbose || debug_infrun) + { + target_terminal_ours_for_output (); + fprintf_filtered (gdb_stdlog, + _("Detaching after fork from " + "child process %d.\n"), + child_pid); + } + + target_detach (NULL, 0); + } /* Note that the detach above makes PARENT_INF dangling. */ @@ -927,18 +935,22 @@ handle_vfork_child_exec_or_exit (int exec) if (debug_infrun || info_verbose) { - target_terminal_ours (); + target_terminal_ours_for_output (); if (exec) - fprintf_filtered (gdb_stdlog, - "Detaching vfork parent process " - "%d after child exec.\n", - inf->vfork_parent->pid); + { + fprintf_filtered (gdb_stdlog, + _("Detaching vfork parent process " + "%d after child exec.\n"), + inf->vfork_parent->pid); + } else - fprintf_filtered (gdb_stdlog, - "Detaching vfork parent process " - "%d after child exit.\n", - inf->vfork_parent->pid); + { + fprintf_filtered (gdb_stdlog, + _("Detaching vfork parent process " + "%d after child exit.\n"), + inf->vfork_parent->pid); + } } target_detach (NULL, 0); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 7a20002033..036da6d036 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2014-10-24 Don Breazeal + + * gdb.base/foll-fork.exp (test_follow_fork, + catch_fork_child_follow): Check for updated fork messages emitted + from infrun.c. + * gdb.base/foll-vfork.exp (vfork_parent_follow_through_step, + vfork_parent_follow_to_bp, vfork_and_exec_child_follow_to_main_bp, + vfork_and_exec_child_follow_through_step): Check for updated vfork + messages emitted from infrun.c. + 2014-10-24 Pedro Alves * gdb.base/corefile.exp: Remove references to ultrix. diff --git a/gdb/testsuite/gdb.base/foll-fork.exp b/gdb/testsuite/gdb.base/foll-fork.exp index ad8b750e70..b2e2979ee9 100644 --- a/gdb/testsuite/gdb.base/foll-fork.exp +++ b/gdb/testsuite/gdb.base/foll-fork.exp @@ -115,7 +115,11 @@ proc test_follow_fork { who detach cmd } { # Set up the output we expect to see after we run. set expected_re "" if {$who == "child"} { - set expected_re "Attaching after.* fork to.*set breakpoint here.*" + set expected_re "Attaching after.* fork to.*" + if {$detach == "on"} { + append expected_re "Detaching after fork from .*" + } + append expected_re "set breakpoint here.*" } elseif {$who == "parent" && $detach == "on"} { set expected_re "Detaching after fork from .*set breakpoint here.*" } else { @@ -218,9 +222,9 @@ proc catch_fork_child_follow {} { "Temporary breakpoint.*, line $bp_after_fork.*" \ "set follow-fork child, tbreak" - gdb_test "continue" \ - "Attaching after.* fork to.* at .*$bp_after_fork.*" \ - "set follow-fork child, hit tbreak" + set expected_re "Attaching after.* fork to.*Detaching after fork from" + append expected_re ".* at .*$bp_after_fork.*" + gdb_test "continue" $expected_re "set follow-fork child, hit tbreak" # The parent has been detached; allow time for any output it might # generate to arrive, so that output doesn't get confused with diff --git a/gdb/testsuite/gdb.base/foll-vfork.exp b/gdb/testsuite/gdb.base/foll-vfork.exp index fe3663cba2..968db13a44 100644 --- a/gdb/testsuite/gdb.base/foll-vfork.exp +++ b/gdb/testsuite/gdb.base/foll-vfork.exp @@ -121,7 +121,7 @@ proc vfork_parent_follow_through_step {} { set test "step" gdb_test_multiple "next" $test { - -re "Detaching after fork from.*if \\(pid == 0\\).*$gdb_prompt " { + -re "Detaching after vfork from.*if \\(pid == 0\\).*$gdb_prompt " { pass $test } } @@ -146,7 +146,7 @@ proc vfork_parent_follow_to_bp {} { set test "continue to bp" gdb_test_multiple "continue" $test { - -re ".*Detaching after fork from child process.*Breakpoint.*${bp_location}.*$gdb_prompt " { + -re ".*Detaching after vfork from child process.*Breakpoint.*${bp_location}.*$gdb_prompt " { pass $test } } @@ -195,7 +195,7 @@ proc vfork_and_exec_child_follow_to_main_bp {} { set test "continue to bp" gdb_test_multiple "continue" $test { - -re "Attaching after.* vfork to.*xecuting new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " { + -re "Attaching after.* vfork to.*Detaching vfork parent.*xecuting new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " { pass $test } } @@ -239,7 +239,7 @@ proc vfork_and_exec_child_follow_through_step {} { # set linenum [gdb_get_line_number "printf(\"Hello from vforked-prog" ${srcfile2}] gdb_test_multiple "next" $test { - -re "Attaching after fork to.*Executing new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " { + -re "Attaching after vfork to.*Executing new program.*Breakpoint.*vforked-prog.c:${linenum}.*$gdb_prompt " { pass "$test" } }