From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21362 invoked by alias); 10 Mar 2008 17:18:26 -0000 Received: (qmail 21336 invoked by uid 22791); 10 Mar 2008 17:18:20 -0000 X-Spam-Check-By: sourceware.org Received: from qnxmail.qnx.com (HELO qnxmail.qnx.com) (209.226.137.76) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 10 Mar 2008 17:18:02 +0000 Received: from smtp.ott.qnx.com (smtp.ott.qnx.com [10.42.96.5]) by hub.ott.qnx.com (8.9.3/8.9.3) with ESMTP id MAA14960; Mon, 10 Mar 2008 12:59:28 -0400 Received: from [10.42.100.129] (dhcp-100-129 [10.42.100.129]) by smtp.ott.qnx.com (8.8.8/8.6.12) with ESMTP id MAA24222; Mon, 10 Mar 2008 12:17:53 -0500 Message-ID: <47D56D4E.5040902@qnx.com> Date: Mon, 10 Mar 2008 17:18:00 -0000 From: Aleksandar Ristovski User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: Vladimir Prus CC: gdb-patches@sources.redhat.com, nickrob@snap.net.nz Subject: Re: [patch] fix for PR2424 References: <47CED9FB.7090904@qnx.com> <200803101111.13222.vladimir@codesourcery.com> <47D545B1.2000609@qnx.com> <200803101745.16451.vladimir@codesourcery.com> In-Reply-To: <200803101745.16451.vladimir@codesourcery.com> Content-Type: multipart/mixed; boundary="------------080009060304060002090203" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-03/txt/msg00101.txt.bz2 This is a multi-part message in MIME format. --------------080009060304060002090203 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Content-length: 2490 Vladimir Prus wrote: > > I think this is good. You did not attach your patches, so I cannot comment on > the code itself. Patches attached. > > Also, since this code touches infrun.c and affects CLI, I think some of the > global maintainers will have to approve it. The proposed patch (attached) will produce the following outputs: CLI: (gdb) tbreak main Temporary breakpoint 1 at 0x80483a0: file ./main.c, line 15. (gdb) r Starting program: /space/src/testcases/sigsegv/main Temporary breakpoint 1, main () at ./main.c:15 15 foo (p); MI: (gdb) -break-insert -t main ^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x080483a0",func="main",file="./main.c",fullname="/space/src/testcases/sigsegv/main.c",line="15",times="0"} (gdb) -exec-run ^running (gdb) *stopped,reason="breakpoint-hit",disp="del",bkptno="1",thread-id="0",frame={addr="0x080483a0",func="main",args=[],file="./main.c",fullname="/space/src/testcases/sigsegv/main.c",line="15"} ----- ChangeLog 2008-03-10 Aleksandar Ristovski * infrun.c (normal_stop) Move breakpoint_auto_delete further down to allow printing to 'see' real reason of stop. This fixes PR 2424. * breakpoint.c (print_it_typical): Print "Temporary breakpoint" instead of just "Breakpoint" when breakpoint is, well, temporary. (mention): Likewise. ----- testsuite ChangeLog 2008-03-10 Aleksandar Ristovski * gdb.base/attach.exp (proc_do_attach_tests): Matching pattern for temporary breakpoint to match "Temporary breakpoint". * gdb.base/break.exp (delete_breakpoints): Likewise. * gdb.base/call-ar-st.exp (get_debug_format): Likewise. * gdb.base/commands.exp (temporary_breakpoint_commands): Likewise. * gdb.base/display.exp: Likewise. * gdb.base/foll-exec.exp (do_exec_tests): Likewise. * gdb.base/restore.exp (restore_tests): Likewise. * gdb.base/sepdebug.exp: Likewise. * gdb.base/watchpoint.exp: Likewise. * gdb.mi/mi-pending.exp: Matching pattern for new "disp" field. * gdb.mi/mi-simplerun.exp (test_running_the_program): Likewise. * gdb.mi/mi-until.exp (test_runnint_to_foo): Likewise. * gdb.mi/mi-var-display.exp: Likewise. * gdb.mi/mi2-simplerun.exp (test_running_the_program): Likewise. * gdb.mi/mi2-until.exp (test_running_to_foo): Likewise. * gdb.mi/mi2-var-display.exp: Likewise. * lib/gdb.exp (gdb_breakpoint): Likewise. * lib/mi-support.exp: Add "reason" and "disp" fields to the matching pattern. This is to support fix for PR2424. --------------080009060304060002090203 Content-Type: text/plain; name="PR2424.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="PR2424.diff" Content-length: 3010 Index: gdb/infrun.c =================================================================== RCS file: /cvs/src/src/gdb/infrun.c,v retrieving revision 1.266 diff -u -p -r1.266 infrun.c --- gdb/infrun.c 29 Jan 2008 22:47:19 -0000 1.266 +++ gdb/infrun.c 10 Mar 2008 15:24:07 -0000 @@ -3151,11 +3151,6 @@ Further execution is probably impossible } } - /* Delete the breakpoint we stopped at, if it wants to be deleted. - Delete any breakpoint that is to be deleted at the next stop. */ - - breakpoint_auto_delete (stop_bpstat); - /* If an auto-display called a function and that got a signal, delete that auto-display to avoid an infinite recursion. */ @@ -3294,6 +3289,9 @@ Further execution is probably impossible done: annotate_stopped (); observer_notify_normal_stop (stop_bpstat); + /* Delete the breakpoint we stopped at, if it wants to be deleted. + Delete any breakpoint that is to be deleted at the next stop. */ + breakpoint_auto_delete (stop_bpstat); } static int Index: gdb/breakpoint.c =================================================================== RCS file: /cvs/src/src/gdb/breakpoint.c,v retrieving revision 1.304 diff -u -p -r1.304 breakpoint.c --- gdb/breakpoint.c 27 Feb 2008 20:27:49 -0000 1.304 +++ gdb/breakpoint.c 10 Mar 2008 15:24:10 -0000 @@ -2131,6 +2131,7 @@ print_it_typical (bpstat bs) struct breakpoint *b; const struct bp_location *bl; struct ui_stream *stb; + int bp_temp = 0; stb = ui_out_stream_new (uiout); old_chain = make_cleanup_ui_out_stream_delete (stb); /* bs->breakpoint_at can be NULL if it was a momentary breakpoint @@ -2144,15 +2145,22 @@ print_it_typical (bpstat bs) { case bp_breakpoint: case bp_hardware_breakpoint: + bp_temp = bs->breakpoint_at->owner->disposition == disp_del; if (bl->address != bl->requested_address) breakpoint_adjustment_warning (bl->requested_address, bl->address, b->number, 1); annotate_breakpoint (b->number); - ui_out_text (uiout, "\nBreakpoint "); + if (bp_temp) + ui_out_text (uiout, "\nTemporary breakpoint "); + else + ui_out_text (uiout, "\nBreakpoint "); if (ui_out_is_mi_like_p (uiout)) - ui_out_field_string (uiout, "reason", - async_reason_lookup (EXEC_ASYNC_BREAKPOINT_HIT)); + { + ui_out_field_string (uiout, "reason", + async_reason_lookup (EXEC_ASYNC_BREAKPOINT_HIT)); + ui_out_field_string (uiout, "disp", bp_temp ? "del" : "keep"); + } ui_out_field_int (uiout, "bkptno", b->number); ui_out_text (uiout, ", "); return PRINT_SRC_AND_LOC; @@ -4792,7 +4800,11 @@ mention (struct breakpoint *b) say_where = 0; break; } - printf_filtered (_("Breakpoint %d"), b->number); + if (b->disposition == disp_del) + printf_filtered (_("Temporary breakpoint")); + else + printf_filtered (_("Breakpoint")); + printf_filtered (_(" %d"), b->number); say_where = 1; break; case bp_hardware_breakpoint: --------------080009060304060002090203 Content-Type: text/plain; name="PR2424testsuite.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="PR2424testsuite.diff" Content-length: 28820 Index: gdb/testsuite/gdb.base/attach.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/attach.exp,v retrieving revision 1.22 diff -u -p -r1.22 attach.exp --- gdb/testsuite/gdb.base/attach.exp 1 Jan 2008 22:53:18 -0000 1.22 +++ gdb/testsuite/gdb.base/attach.exp 10 Mar 2008 17:03:37 -0000 @@ -238,7 +238,7 @@ proc do_attach_tests {} { send_gdb "tbreak 19\n" gdb_expect { - -re "Breakpoint .*at.*$srcfile, line 19.*$gdb_prompt $" { + -re "Temporary breakpoint .*at.*$srcfile, line 19.*$gdb_prompt $" { pass "after attach2, set tbreak postloop" } -re "$gdb_prompt $" { Index: gdb/testsuite/gdb.base/break.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/break.exp,v retrieving revision 1.32 diff -u -p -r1.32 break.exp --- gdb/testsuite/gdb.base/break.exp 26 Feb 2008 08:14:11 -0000 1.32 +++ gdb/testsuite/gdb.base/break.exp 10 Mar 2008 17:03:37 -0000 @@ -272,13 +272,13 @@ delete_breakpoints # test temporary breakpoint at function # -gdb_test "tbreak main" "Breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function" +gdb_test "tbreak main" "Temporary breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function" # # test break at function in file # -gdb_test "tbreak $srcfile:factorial" "Breakpoint.*at.* file .*$srcfile, line.*" \ +gdb_test "tbreak $srcfile:factorial" "Temporary breakpoint.*at.* file .*$srcfile, line.*" \ "Temporary breakpoint function in file" # @@ -286,25 +286,25 @@ gdb_test "tbreak $srcfile:factorial" "Br # send_gdb "tbreak $bp_location1\n" gdb_expect { - -re "Breakpoint.*at.* file .*$srcfile, line $bp_location1.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } + -re "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location1.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } timeout { fail "breakpoint line number #1 (timeout)" } } -gdb_test "tbreak $bp_location6" "Breakpoint.*at.* file .*$srcfile, line $bp_location6.*" "Temporary breakpoint line number #2" +gdb_test "tbreak $bp_location6" "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location6.*" "Temporary breakpoint line number #2" # # test break at line number in file # send_gdb "tbreak $srcfile:$bp_location2\n" gdb_expect { - -re "Breakpoint.*at.* file .*$srcfile, line $bp_location2.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } + -re "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location2.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } timeout { fail "Temporary breakpoint line number in file #1 (timeout)" } } set bp_location11 [gdb_get_line_number "set breakpoint 11 here"] -gdb_test "tbreak $srcfile:$bp_location11" "Breakpoint.*at.* file .*$srcfile, line $bp_location11.*" "Temporary breakpoint line number in file #2" +gdb_test "tbreak $srcfile:$bp_location11" "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location11.*" "Temporary breakpoint line number in file #2" # # check to see what breakpoints are set (temporary this time) Index: gdb/testsuite/gdb.base/call-ar-st.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/call-ar-st.exp,v retrieving revision 1.18 diff -u -p -r1.18 call-ar-st.exp --- gdb/testsuite/gdb.base/call-ar-st.exp 1 Jan 2008 22:53:18 -0000 1.18 +++ gdb/testsuite/gdb.base/call-ar-st.exp 10 Mar 2008 17:03:37 -0000 @@ -109,7 +109,7 @@ get_debug_format #go -until 1209 gdb_test "tbreak 1209" \ - "Breakpoint \[0-9\]+.*file.*$srcfile, line 1209.*" \ + "Temporary breakpoint \[0-9\]+.*file.*$srcfile, line 1209.*" \ "tbreakpoint line 1209" gdb_test continue \ @@ -149,7 +149,7 @@ if ![gdb_skip_stdio_test "print_char_arr #go -until 1216 gdb_test "tbreak 1216" \ -"Breakpoint.*file.*$srcfile, line 1216.*" \ +"Temporary breakpoint.*file.*$srcfile, line 1216.*" \ "tbreakpoint line 1216" if ![gdb_skip_stdio_test "continue to 1216"] { @@ -183,7 +183,7 @@ if ![gdb_skip_stdio_test "continue to 12 #set timeout $oldtimeout #go -until 1220 gdb_test "tbreak 1220" \ - "Breakpoint.* file .*$srcfile, line 1220.*" \ + "Temporary breakpoint.* file .*$srcfile, line 1220.*" \ "tbreakpoint line 1220" if {![gdb_skip_float_test "continuing to breakpoint 1220"] && \ @@ -247,7 +247,7 @@ if {![gdb_skip_float_test "print print_d #go -until 1236 gdb_test "tbreak 1236" \ -"Breakpoint.* file .*$srcfile, line 1236.*" \ +"Temporary breakpoint.* file .*$srcfile, line 1236.*" \ "tbreakpoint line 1236" if {![gdb_skip_float_test "continuing to 1236"] && \ @@ -311,7 +311,7 @@ if ![gdb_skip_stdio_test "print print_ar #go -until 1241 gdb_test "tbreak 1241" \ - "Breakpoint..* file .*$srcfile, line 1241.*" \ + "Temporary breakpoint..* file .*$srcfile, line 1241.*" \ "tbreakpoint line 1241" send_gdb "continue\n" @@ -355,7 +355,7 @@ gdb_test "continue" \ #go -until 1281 gdb_test "tbreak 1281" \ - "Breakpoint.* file .*call-ar-st.c, line 1281.*" \ + "Temporary breakpoint.* file .*call-ar-st.c, line 1281.*" \ "tbreakpoint line 1281" if ![gdb_skip_stdio_test "continuing to 1281"] { @@ -443,7 +443,7 @@ if {![gdb_skip_float_test "print print_t #go -until 1286 gdb_test "tbreak 1286" \ - "Breakpoint .* file .*call-ar-st.c, line 1286.*" \ + "Temporary breakpoint .* file .*call-ar-st.c, line 1286.*" \ "tbreakpoint line 1286" gdb_test continue "Continuing\\..*main \\(.*\\) at.*call-ar-st.c:1286\[\t\r\n \]+1286.*print_long_arg_list \\( a, b, c, d, e, f, .struct1, .struct2, .struct3, .struct4,.*" "continue to 1286" @@ -471,7 +471,7 @@ if { [istarget "hppa*-*-hpux*"] } { # We can't just assume that a "step" will get us into # print_long_arg_list here,either. gdb_test "tbreak print_long_arg_list" \ - "Breakpoint .* file .*call-ar-st.c, line .*" \ + "Temporary breakpoint .* file .*call-ar-st.c, line .*" \ "tbreak in print_long_arg_list after stepping into memcpy" # The short match case below handles cases where a buffer # overflows or something, and expect can't deal with the full @@ -551,7 +551,7 @@ if {![gdb_skip_float_test "print_small_s #go -until 1300 gdb_test "tbreak 1300" \ - "Breakpoint.* file .*call-ar-st.c, line 1300.*" \ + "Temporary breakpoint.* file .*call-ar-st.c, line 1300.*" \ "tbreakpoint line 1300" if ![gdb_skip_stdio_test "continuing to 1300"] { @@ -590,7 +590,7 @@ if ![gdb_skip_stdio_test "continuing to #go -until 1305 gdb_test "tbreak 1305" \ - "Breakpoint.* file .*call-ar-st.c, line 1305.*" \ + "Temporary breakpoint.* file .*call-ar-st.c, line 1305.*" \ "tbreakpoint line 1305" gdb_test continue "Continuing\\..*main \\(\\) at .*call-ar-st.c:1305\[\r\n\t \]+1305.*init_int_char_combo\\(int_char_combo, 13, .!.\\);" \ @@ -650,7 +650,7 @@ if {![gdb_skip_float_test "print print_l #go -until 1311 gdb_test "tbreak 1311" \ - "Breakpoint.* file .*call-ar-st.c, line 1311.*" \ + "Temporary breakpoint.* file .*call-ar-st.c, line 1311.*" \ "tbreakpoint line 1311" gdb_test continue "Continuing\\..*main \\(\\) at .*call-ar-st.c:1311\[ \t\n\r\]+1311.*compute_with_small_structs\\(35\\);" \ Index: gdb/testsuite/gdb.base/commands.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/commands.exp,v retrieving revision 1.21 diff -u -p -r1.21 commands.exp --- gdb/testsuite/gdb.base/commands.exp 1 Jan 2008 22:53:18 -0000 1.21 +++ gdb/testsuite/gdb.base/commands.exp 10 Mar 2008 17:03:37 -0000 @@ -521,7 +521,7 @@ proc temporary_breakpoint_commands {} { # This test will verify that this commands list is executed when the # breakpoint is hit. gdb_test "tbreak factorial" \ - "Breakpoint \[0-9\]+ at .*: file .*/run.c, line \[0-9\]+\." \ + "Temporary breakpoint \[0-9\]+ at .*: file .*/run.c, line \[0-9\]+\." \ "breakpoint in temporary_breakpoint_commands" send_gdb "commands\n" Index: gdb/testsuite/gdb.base/display.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/display.exp,v retrieving revision 1.14 diff -u -p -r1.14 display.exp --- gdb/testsuite/gdb.base/display.exp 1 Jan 2008 22:53:18 -0000 1.14 +++ gdb/testsuite/gdb.base/display.exp 10 Mar 2008 17:03:37 -0000 @@ -165,7 +165,7 @@ gdb_expect { } gdb_test "step" ".*do_vars.*.*27.*" -gdb_test "tbreak 37" ".*Breakpoint 5 a.*" +gdb_test "tbreak 37" ".*breakpoint 5 a.*" gdb_test "cont" ".*do_vars.*37.*37.*" # Beat on printf a bit Index: gdb/testsuite/gdb.base/foll-exec.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/foll-exec.exp,v retrieving revision 1.7 diff -u -p -r1.7 foll-exec.exp --- gdb/testsuite/gdb.base/foll-exec.exp 29 Jan 2008 22:47:20 -0000 1.7 +++ gdb/testsuite/gdb.base/foll-exec.exp 10 Mar 2008 17:03:37 -0000 @@ -283,7 +283,7 @@ proc do_exec_tests {} { # send_gdb "tbreak 27\n" gdb_expect { - -re "Breakpoint .*file .*${srcfile}, line 27.*$gdb_prompt $"\ + -re "Temporary breakpoint .*file .*${srcfile}, line 27.*$gdb_prompt $"\ {pass "prepare to jump to execl call"} -re "$gdb_prompt $" {fail "prepare to jump to execl call"} timeout {fail "(timeout) prepare to jump to execl call"} @@ -343,7 +343,7 @@ proc do_exec_tests {} { # send_gdb "tbreak 41\n" gdb_expect { - -re "Breakpoint .*file .*${srcfile}, line 41.*$gdb_prompt $"\ + -re "Temporary breakpoint .*file .*${srcfile}, line 41.*$gdb_prompt $"\ {pass "prepare to jump to execv call"} -re "$gdb_prompt $" {fail "prepare to jump to execv call"} timeout {fail "(timeout) prepare to jump to execv call"} Index: gdb/testsuite/gdb.base/restore.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/restore.exp,v retrieving revision 1.11 diff -u -p -r1.11 restore.exp --- gdb/testsuite/gdb.base/restore.exp 1 Jan 2008 22:53:19 -0000 1.11 +++ gdb/testsuite/gdb.base/restore.exp 10 Mar 2008 17:03:37 -0000 @@ -54,7 +54,7 @@ proc restore_tests { } { for {set c 1} {$c <= $limit} {incr c} { # Set a breakpoint at the next caller function. - gdb_test "tbreak caller$c" "Breakpoint.*\[0-9\]*\\." \ + gdb_test "tbreak caller$c" "Temporary breakpoint.*\[0-9\]*\\." \ "tbreak caller$c" # Continue to the next caller function. @@ -63,7 +63,7 @@ proc restore_tests { } { # Do each callee function. for {set e 1} {$e <= $limit} {incr e} { - gdb_test "tbreak callee$e" "Breakpoint.*\[0-9\]*\\." \ + gdb_test "tbreak callee$e" "Temporary breakpoint.*\[0-9\]*\\." \ "caller$c calls callee$e; tbreak callee" gdb_test "continue" " callee$e prologue .*/" \ Index: gdb/testsuite/gdb.base/sepdebug.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/sepdebug.exp,v retrieving revision 1.15 diff -u -p -r1.15 sepdebug.exp --- gdb/testsuite/gdb.base/sepdebug.exp 26 Feb 2008 08:14:11 -0000 1.15 +++ gdb/testsuite/gdb.base/sepdebug.exp 10 Mar 2008 17:03:37 -0000 @@ -261,13 +261,13 @@ delete_breakpoints # test temporary breakpoint at function # -gdb_test "tbreak main" "Breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function" +gdb_test "tbreak main" "Temporary breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function" # # test break at function in file # -gdb_test "tbreak $srcfile:factorial" "Breakpoint.*at.* file .*$srcfile, line.*" \ +gdb_test "tbreak $srcfile:factorial" "Temporary breakpoint.*at.* file .*$srcfile, line.*" \ "Temporary breakpoint function in file" # @@ -275,25 +275,25 @@ gdb_test "tbreak $srcfile:factorial" "Br # send_gdb "tbreak $bp_location1\n" gdb_expect { - -re "Breakpoint.*at.* file .*$srcfile, line $bp_location1.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } + -re "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location1.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number #1" } timeout { fail "breakpoint line number #1 (timeout)" } } -gdb_test "tbreak $bp_location6" "Breakpoint.*at.* file .*$srcfile, line $bp_location6.*" "Temporary breakpoint line number #2" +gdb_test "tbreak $bp_location6" "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location6.*" "Temporary breakpoint line number #2" # # test break at line number in file # send_gdb "tbreak $srcfile:$bp_location2\n" gdb_expect { - -re "Breakpoint.*at.* file .*$srcfile, line $bp_location2.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } + -re "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location2.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } -re ".*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" } timeout { fail "Temporary breakpoint line number in file #1 (timeout)" } } set bp_location11 [gdb_get_line_number "set breakpoint 11 here"] -gdb_test "tbreak $srcfile:$bp_location11" "Breakpoint.*at.* file .*$srcfile, line $bp_location11.*" "Temporary breakpoint line number in file #2" +gdb_test "tbreak $srcfile:$bp_location11" "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location11.*" "Temporary breakpoint line number in file #2" # # check to see what breakpoints are set (temporary this time) Index: gdb/testsuite/gdb.base/watchpoint.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/watchpoint.exp,v retrieving revision 1.17 diff -u -p -r1.17 watchpoint.exp --- gdb/testsuite/gdb.base/watchpoint.exp 3 Mar 2008 13:24:12 -0000 1.17 +++ gdb/testsuite/gdb.base/watchpoint.exp 10 Mar 2008 17:03:37 -0000 @@ -606,7 +606,7 @@ proc test_complex_watchpoint {} { # local to a recursing function should be bound only to that # one invocation, and should not trigger for other invocations. # - gdb_test "tbreak recurser" ".*Breakpoint.*" + gdb_test "tbreak recurser" ".*breakpoint.*" gdb_test "cont" "Continuing.*recurser.*" gdb_test "watch local_x" ".*\[Ww\]atchpoint \[0-9\]*: local_x" \ "set local watch in recursive call" Index: gdb/testsuite/gdb.mi/mi-pending.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-pending.exp,v retrieving revision 1.3 diff -u -p -r1.3 mi-pending.exp --- gdb/testsuite/gdb.mi/mi-pending.exp 26 Feb 2008 08:14:11 -0000 1.3 +++ gdb/testsuite/gdb.mi/mi-pending.exp 10 Mar 2008 17:03:37 -0000 @@ -71,5 +71,5 @@ mi_run_cmd # Make sure we hit breakpoint. mi_gdb_test "" \ - ".*\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\".*func=\"pendfunc1\".*" \ - "Run till MI pending breakpoint on pendfunc1" \ No newline at end of file + ".*\\*stopped,reason=\"breakpoint-hit\",disp=\".*\",bkptno=\"1\".*func=\"pendfunc1\".*" \ + "Run till MI pending breakpoint on pendfunc1" Index: gdb/testsuite/gdb.mi/mi-simplerun.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-simplerun.exp,v retrieving revision 1.18 diff -u -p -r1.18 mi-simplerun.exp --- gdb/testsuite/gdb.mi/mi-simplerun.exp 27 Feb 2008 20:29:31 -0000 1.18 +++ gdb/testsuite/gdb.mi/mi-simplerun.exp 10 Mar 2008 17:03:37 -0000 @@ -114,7 +114,7 @@ proc test_running_the_program {} { # The following is equivalent to a send_gdb "000-exec-run\n" mi_run_cmd gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"$line_main_body\"\}\r\n$mi_gdb_prompt$" { + -re "000\\*stopped,reason=\"breakpoint-hit\",disp=\".*\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"$line_main_body\"\}\r\n$mi_gdb_prompt$" { pass "run to main" } -re ".*$mi_gdb_prompt$" { Index: gdb/testsuite/gdb.mi/mi-until.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-until.exp,v retrieving revision 1.15 diff -u -p -r1.15 mi-until.exp --- gdb/testsuite/gdb.mi/mi-until.exp 1 Jan 2008 22:53:20 -0000 1.15 +++ gdb/testsuite/gdb.mi/mi-until.exp 10 Mar 2008 17:03:37 -0000 @@ -57,7 +57,7 @@ proc test_running_to_foo {} { mi_run_cmd gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"10\"\}\r\n$mi_gdb_prompt$" { + -re "000\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"10\"\}\r\n$mi_gdb_prompt$" { pass "run to main" } -re ".*$mi_gdb_prompt$" { Index: gdb/testsuite/gdb.mi/mi-var-display.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-var-display.exp,v retrieving revision 1.21 diff -u -p -r1.21 mi-var-display.exp --- gdb/testsuite/gdb.mi/mi-var-display.exp 23 Jan 2008 06:20:57 -0000 1.21 +++ gdb/testsuite/gdb.mi/mi-var-display.exp 10 Mar 2008 17:03:37 -0000 @@ -49,7 +49,7 @@ mi_gdb_test "200-break-insert $srcfile:$ mi_run_cmd # The running part has been checked already by mi_run_cmd gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_children_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_dct_end\"\}\r\n$mi_gdb_prompt$" { + -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_children_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_dct_end\"\}\r\n$mi_gdb_prompt$" { pass "run to do_children_tests" } -re ".*$mi_gdb_prompt$" {fail "run to do_children_tests (2)"} @@ -333,7 +333,7 @@ mi_gdb_test "200-break-insert do_special send_gdb "-exec-continue\n" gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_special_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_dst_a_1\"\}\r\n$mi_gdb_prompt$" { + -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_special_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_dst_a_1\"\}\r\n$mi_gdb_prompt$" { pass "continue to do_special_tests" } timeout { @@ -593,10 +593,10 @@ mi_gdb_test "200-break-insert incr_a" \ "break-insert operation" send_gdb "-exec-continue\n" gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"2\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_incr_a_b_a\"\}\r\n$mi_gdb_prompt$" { + -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"2\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_incr_a_b_a\"\}\r\n$mi_gdb_prompt$" { pass "continue to incr_a" } - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"([expr $line_incr_a_b_a - 2]|[expr $line_incr_a_b_a - 1]|$line_incr_a_b_a)\"\}\r\n$mi_gdb_prompt$" { + -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"([expr $line_incr_a_b_a - 2]|[expr $line_incr_a_b_a - 1]|$line_incr_a_b_a)\"\}\r\n$mi_gdb_prompt$" { fail "continue to incr_a (compiler debug info incorrect)" } -re "\\^running\r\n${mi_gdb_prompt}.*\r\n$mi_gdb_prompt$" { Index: gdb/testsuite/gdb.mi/mi2-simplerun.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-simplerun.exp,v retrieving revision 1.9 diff -u -p -r1.9 mi2-simplerun.exp --- gdb/testsuite/gdb.mi/mi2-simplerun.exp 27 Feb 2008 20:29:31 -0000 1.9 +++ gdb/testsuite/gdb.mi/mi2-simplerun.exp 10 Mar 2008 17:03:37 -0000 @@ -114,7 +114,7 @@ proc test_running_the_program {} { # The following is equivalent to a send_gdb "000-exec-run\n" mi_run_cmd gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"$line_main_body\"\}\r\n$mi_gdb_prompt$" { + -re "000\\*stopped,reason=\"breakpoint-hit\",disp=\".*\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"$line_main_body\"\}\r\n$mi_gdb_prompt$" { pass "run to main" } -re ".*$mi_gdb_prompt$" { Index: gdb/testsuite/gdb.mi/mi2-until.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-until.exp,v retrieving revision 1.9 diff -u -p -r1.9 mi2-until.exp --- gdb/testsuite/gdb.mi/mi2-until.exp 1 Jan 2008 22:53:20 -0000 1.9 +++ gdb/testsuite/gdb.mi/mi2-until.exp 10 Mar 2008 17:03:37 -0000 @@ -58,7 +58,7 @@ proc test_running_to_foo {} { mi_run_cmd gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"10\"\}\r\n$mi_gdb_prompt$" { + -re "000\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"10\"\}\r\n$mi_gdb_prompt$" { pass "run to main" } -re ".*$mi_gdb_prompt$" { Index: gdb/testsuite/gdb.mi/mi2-var-display.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-var-display.exp,v retrieving revision 1.14 diff -u -p -r1.14 mi2-var-display.exp --- gdb/testsuite/gdb.mi/mi2-var-display.exp 23 Jan 2008 21:05:16 -0000 1.14 +++ gdb/testsuite/gdb.mi/mi2-var-display.exp 10 Mar 2008 17:03:37 -0000 @@ -49,7 +49,7 @@ mi_gdb_test "200-break-insert $srcfile:$ mi_run_cmd # The running part has been checked already by mi_run_cmd gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_children_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_dct_end\"\}\r\n$mi_gdb_prompt$" { + -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_children_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_dct_end\"\}\r\n$mi_gdb_prompt$" { pass "run to do_children_tests" } -re ".*$mi_gdb_prompt$" {fail "run to do_children_tests (2)"} @@ -333,7 +333,7 @@ mi_gdb_test "200-break-insert do_special send_gdb "-exec-continue\n" gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_special_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_dst_a_1\"\}\r\n$mi_gdb_prompt$" { + -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_special_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_dst_a_1\"\}\r\n$mi_gdb_prompt$" { pass "continue to do_special_tests" } timeout { @@ -593,10 +593,10 @@ mi_gdb_test "200-break-insert incr_a" \ "break-insert operation" send_gdb "-exec-continue\n" gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"2\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_incr_a_b_a\"\}\r\n$mi_gdb_prompt$" { + -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"2\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_incr_a_b_a\"\}\r\n$mi_gdb_prompt$" { pass "continue to incr_a" } - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"([expr $line_incr_a_b_a - 2]|[expr $line_incr_a_b_a - 1]|$line_incr_a_b_a)\"\}\r\n$mi_gdb_prompt$" { + -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"([expr $line_incr_a_b_a - 2]|[expr $line_incr_a_b_a - 1]|$line_incr_a_b_a)\"\}\r\n$mi_gdb_prompt$" { fail "continue to incr_a (compiler debug info incorrect)" } -re "\\^running\r\n${mi_gdb_prompt}.*\r\n$mi_gdb_prompt$" { Index: gdb/testsuite/lib/gdb.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v retrieving revision 1.96 diff -u -p -r1.96 gdb.exp --- gdb/testsuite/lib/gdb.exp 23 Jan 2008 06:20:34 -0000 1.96 +++ gdb/testsuite/lib/gdb.exp 10 Mar 2008 17:03:39 -0000 @@ -337,17 +337,19 @@ proc gdb_breakpoint { function args } { } set break_command "break" + set break_message "Breakpoint" if {[lsearch -exact [lindex $args 0] temporary] != -1} { set break_command "tbreak" + set break_message "Temporary breakpoint" } send_gdb "$break_command $function\n" # The first two regexps are what we get with -g, the third is without -g. gdb_expect 30 { - -re "Breakpoint \[0-9\]* at .*: file .*, line $decimal.\r\n$gdb_prompt $" {} - -re "Breakpoint \[0-9\]*: file .*, line $decimal.\r\n$gdb_prompt $" {} - -re "Breakpoint \[0-9\]* at .*$gdb_prompt $" {} - -re "Breakpoint \[0-9\]* \\(.*\\) pending.*$gdb_prompt $" { + -re "$break_message \[0-9\]* at .*: file .*, line $decimal.\r\n$gdb_prompt $" {} + -re "$break_message \[0-9\]*: file .*, line $decimal.\r\n$gdb_prompt $" {} + -re "$break_message \[0-9\]* at .*$gdb_prompt $" {} + -re "$break_message \[0-9\]* \\(.*\\) pending.*$gdb_prompt $" { if {$pending_response == "n"} { fail "setting breakpoint at $function" return 0 Index: gdb/testsuite/lib/mi-support.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v retrieving revision 1.51 diff -u -p -r1.51 mi-support.exp --- gdb/testsuite/lib/mi-support.exp 29 Jan 2008 19:36:58 -0000 1.51 +++ gdb/testsuite/lib/mi-support.exp 10 Mar 2008 17:03:39 -0000 @@ -890,7 +890,7 @@ proc mi_runto_helper {func run_or_contin } gdb_expect { - -re ".*000\\*stopped,thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",fullname=\"${fullname_syntax}.*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { + -re ".*000\\*stopped,reason=\"breakpoint-hit\",disp=\"del\",bkptno=\"$decimal\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",fullname=\"${fullname_syntax}.*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" { pass "$test" return 0 } --------------080009060304060002090203--