From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10073 invoked by alias); 1 Oct 2012 16:10:00 -0000 Received: (qmail 10041 invoked by uid 22791); 1 Oct 2012 16:09:53 -0000 X-SWARE-Spam-Status: No, hits=-4.1 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL X-Spam-Check-By: sourceware.org Received: from imr4.ericy.com (HELO imr4.ericy.com) (198.24.6.9) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 01 Oct 2012 16:09:46 +0000 Received: from eusaamw0706.eamcs.ericsson.se ([147.117.20.31]) by imr4.ericy.com (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id q91GGdbA005849; Mon, 1 Oct 2012 11:16:41 -0500 Received: from EUSAACMS0703.eamcs.ericsson.se ([169.254.2.164]) by eusaamw0706.eamcs.ericsson.se ([147.117.20.31]) with mapi; Mon, 1 Oct 2012 12:09:32 -0400 From: Marc Khouzam To: "'Tom Tromey'" CC: "'Yao Qi'" , "'gdb-patches@sourceware.org'" Date: Mon, 01 Oct 2012 16:10:00 -0000 Subject: RE: [MI][patch v2] -break-list to specify "thread-group" Message-ID: References: <505DB611.70706@codesourcery.com> <87vceyrlyg.fsf@fleche.redhat.com> In-Reply-To: <87vceyrlyg.fsf@fleche.redhat.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 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: 2012-10/txt/msg00006.txt.bz2 > Marc> Here's a second stab at it using the "i" prefix for MI. > > I think the general idea is great. > > Marc> The below patch adds the new field "thread-group". > > My recollection, reinforced by browsing the MI docs just now, is that > generally the field name "thread-group" is used to specify a single > group. However, with this patch it is actually list-valued. So, I > think a different name would be somewhat better, maybe > "thread-groups". I've made the field "thread-groups" for now, since the patch still returns a list of inferiors. > Marc> or (if the bp applies to multiple inferiors, which I didn't quite > Marc> out how to officially trigger, so I hacked the code to make sure > Marc> the output was done properly in that case): > > Hm. I think a given location can only apply to a single inferior. > I am not totally sure. > > So maybe making it "thread-group" and giving it a single value is the > right thing to do. I'd prefer this. And it would make things simpler for the frontend code. > Yao> I don't know ether. I can't think of a case that > Yao> multiple inferiors share a single pspace. > > Thinking about it more -- maybe an inferior which just vforked? Since we're still not sure if a list is needed or not, I kept the patch returning a list, to be safe. > Marc> I was going to update the doc, but when I looked at it > Marc> I realized it was completely out-of-date with respect to > Marc> -break-list _and_ that the MI output itself does not to have > Marc> the right content in the 'hdr' part. I wasn't sure if I can > Marc> change such MI output or not due to backwards compatibility. > > The very best thing would be to fix the -break-list documentation. > > But, I understand if you don't want to do that. But maybe you could > file a bug report in this case. Thanks for understanding. I've opened Bug 14651 - [doc] -break-list command not documented properly http://sourceware.org/bugzilla/show_bug.cgi?id=3D14651 > However, I think you should still update the docs for your change. The below patch now does this. > I think changing the 'hdr' part of the MI output is ok, if it > is useful to you somehow. I think it has to be done with care to > avoid messing up the CLI output. I haven't ventured down that path :) > Marc> I had forgotten to update the tests to take into > consideration the > Marc> new parameter. Those tests use -break-list in multiple places. > Marc> The new patch below does update the testsuite. > Marc> Only one new regression happens: > > Marc> FAIL: gdb.mi/mi-nsmoribund.exp: thread specific > breakpoint at thread_function > > Marc> This was a latent problem where the unexpected 'thread' > field was > Marc> being sucked into a '.*' pattern, which hid the error. Because > Marc> the problem is in lib/mi-support.exp it is not as simple to fix. > Marc> Since the problem is not caused by my patch, I suggest > not to fix > Marc> it right away. > > We try not to let any regressions in. > So I think it does need to be fixed before this patch can go in. I've updated that test and fixed the regression. > Marc> + /* Go through list in reverse order to print inferiors ids in > Marc> + increasing order. */ > Marc> + for (index =3D len - 1; index >=3D 0; index--) > > It isn't clear to me that it is reliable to assume that the inferior > list is sorted. > > However, this shouldn't really matter for clients, either. I didn't like seeing "inf 4, 3, 2 ,1", but I agree that the order is not guaranteed anyway. Besides, we still don't know how to actually see a list of inferior for a single breakpoint :) I therefore iterate over the VEC in whatever order it is. > Marc> + { > Marc> + char mi_group[10]; > Marc> + sprintf (mi_group, "i%d", inf_num[index]); > > Blank line between declarations and code. Done. > Marc> + int inf_num[number_of_inferiors ()]; > > I think you'd have to use alloca here -- but it is better to use a VEC > anyway. Nice. It is the first time I use the VEC macros. Done. No regressions with this patch. Thanks! Marc 2012-10-01 Marc Khouzam * breakpoint.c (print_one_breakpoint_location): Add MI field 'thread-groups' when printing a breakpoint. (output_thread_groups): New function. 2012-10-01 Marc Khouzam * gdb.mi/mi-break.exp: Expect new 'thread-groups' field. * gdb.mi/mi-nsmoribund.exp: Expect new 'thread-groups' field. Also handle 'thread' field. * gdb.mi/mi-simplerun.exp: Expect new 'thread-groups' field. * gdb.mi/mi-watch.exp: Ditto. * gdb.mi/mi2-break.exp: Ditto. * gdb.mi/mi2-simplerun.exp: Ditto. * gdb.mi/mi2-watch.exp: Ditto. * lib/mi-support.exp: Ditto. 2012-10-01 Marc Khouzam * gdb.texinfo (GDB/MI Breakpoint Commands): Document new `thread-group' field when printing a breakpoint in MI. ### Eclipse Workspace Patch 1.0 #P src Index: gdb/breakpoint.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/breakpoint.c,v retrieving revision 1.707 diff -u -r1.707 breakpoint.c --- gdb/breakpoint.c 26 Sep 2012 16:35:59 -0000 1.707 +++ gdb/breakpoint.c 1 Oct 2012 16:04:16 -0000 @@ -5778,6 +5778,51 @@ return bptypes[(int) type].description; } +DEF_VEC_I(int); + +/* For MI, output a field named 'thread-groups' with a list as the value. + For CLI, prefix the list with the string 'inf'. */ + +static void +output_thread_groups (struct ui_out *uiout, + const char *field_name, + VEC(int) *inf_num, + int mi_only) +{ + struct cleanup *back_to =3D make_cleanup_ui_out_list_begin_end (uiout, + field_name); + int is_mi =3D ui_out_is_mi_like_p (uiout); + int inf; + int i; + + /* For backward compatibility, don't display inferiors in CLI unless + there are several. Always display them for MI. */ + if (!is_mi && mi_only) + return; + + for (i =3D 0; VEC_iterate (int, inf_num, i, inf); ++i) + { + if (is_mi) + { + char mi_group[10]; + + sprintf (mi_group, "i%d", inf); + ui_out_field_string (uiout, NULL, mi_group); + } + else + { + if (i =3D=3D 0) + ui_out_text (uiout, " inf "); + else + ui_out_text (uiout, ", "); + + ui_out_text (uiout, plongest (inf)); + } + } + + do_cleanups (back_to); +} + /* Print B to gdb_stdout. */ static void @@ -5929,35 +5974,30 @@ } - /* For backward compatibility, don't display inferiors unless there - are several. */ - if (loc !=3D NULL - && !header_of_multiple - && (allflag - || (!gdbarch_has_global_breakpoints (target_gdbarch) - && (number_of_program_spaces () > 1 - || number_of_inferiors () > 1) - /* LOC is for existing B, it cannot be in - moribund_locations and thus having NULL OWNER. */ - && loc->owner->type !=3D bp_catchpoint))) + if (loc !=3D NULL && !header_of_multiple) { struct inferior *inf; - int first =3D 1; + VEC(int) *inf_num =3D NULL; + int mi_only =3D 1; - for (inf =3D inferior_list; inf !=3D NULL; inf =3D inf->next) + ALL_INFERIORS (inf) { if (inf->pspace =3D=3D loc->pspace) - { - if (first) - { - first =3D 0; - ui_out_text (uiout, " inf "); - } - else - ui_out_text (uiout, ", "); - ui_out_text (uiout, plongest (inf->num)); - } + VEC_safe_push (int, inf_num, inf->num); } + + /* For backward compatibility, don't display inferiors in CLI unless + there are several. Always display for MI. */ + if (allflag + || (!gdbarch_has_global_breakpoints (target_gdbarch) + && (number_of_program_spaces () > 1 + || number_of_inferiors () > 1) + /* LOC is for existing B, it cannot be in + moribund_locations and thus having NULL OWNER. */ + && loc->owner->type !=3D bp_catchpoint)) + mi_only =3D 0; + output_thread_groups (uiout, "thread-groups", inf_num, mi_only); + VEC_free (int, inf_num); } if (!part_of_multiple) @@ -7902,8 +7942,6 @@ catch_load_or_unload (arg, from_tty, 0, command); } -DEF_VEC_I(int); - /* An instance of this type is used to represent a syscall catchpoint. It includes a "struct breakpoint" as a kind of base class; users downcast to "struct breakpoint *" when needed. A breakpoint is Index: gdb/doc/gdb.texinfo =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v retrieving revision 1.1012 diff -u -r1.1012 gdb.texinfo --- gdb/doc/gdb.texinfo 21 Sep 2012 01:46:42 -0000 1.1012 +++ gdb/doc/gdb.texinfo 1 Oct 2012 16:04:18 -0000 @@ -27763,7 +27763,8 @@ -> -break-insert main <- ^done,bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep", enabled=3D"y",addr=3D"0x08048564",func=3D"main",file=3D"myprog.c", - fullname=3D"/home/nickrob/myprog.c",line=3D"68",times=3D"0"@} + fullname=3D"/home/nickrob/myprog.c",line=3D"68",thread-groups=3D["i1"], + times=3D"0"@} <- (gdb) @end smallexample @@ -27887,7 +27888,8 @@ -break-insert main ^done,bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep", enabled=3D"y",addr=3D"0x000100d0",func=3D"main",file=3D"hello.c", -fullname=3D"/home/foo/hello.c",line=3D"5",times=3D"0"@} +fullname=3D"/home/foo/hello.c",line=3D"5",thread-groups=3D["i1"] +,times=3D"0"@} (gdb) -break-after 1 3 ~ @@ -27903,7 +27905,7 @@ @{width=3D"40",alignment=3D"2",col_name=3D"what",colhdr=3D"What"@}], body=3D[bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep",enabled=3D= "y", addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",fullname=3D"/home/foo/h= ello.c", -line=3D"5",times=3D"0",ignore=3D"3"@}]@} +line=3D"5",thread-groups=3D["i1"],times=3D"0",ignore=3D"3"@}]@} (gdb) @end smallexample @@ -27939,7 +27941,8 @@ -break-insert main ^done,bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep", enabled=3D"y",addr=3D"0x000100d0",func=3D"main",file=3D"hello.c", -fullname=3D"/home/foo/hello.c",line=3D"5",times=3D"0"@} +fullname=3D"/home/foo/hello.c",line=3D"5",thread-groups=3D["i1"], +times=3D"0"@} (gdb) -break-commands 1 "print v" "continue" ^done @@ -27981,7 +27984,7 @@ @{width=3D"40",alignment=3D"2",col_name=3D"what",colhdr=3D"What"@}], body=3D[bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep",enabled=3D= "y", addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",fullname=3D"/home/foo/h= ello.c", -line=3D"5",cond=3D"1",times=3D"0",ignore=3D"3"@}]@} +line=3D"5",cond=3D"1",thread-groups=3D["i1"],times=3D"0",ignore=3D"3"@}]@} (gdb) @end smallexample @@ -28053,7 +28056,7 @@ @{width=3D"40",alignment=3D"2",col_name=3D"what",colhdr=3D"What"@}], body=3D[bkpt=3D@{number=3D"2",type=3D"breakpoint",disp=3D"keep",enabled=3D= "n", addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",fullname=3D"/home/foo/h= ello.c", -line=3D"5",times=3D"0"@}]@} +line=3D"5",thread-groups=3D["i1"],times=3D"0"@}]@} (gdb) @end smallexample @@ -28089,7 +28092,7 @@ @{width=3D"40",alignment=3D"2",col_name=3D"what",colhdr=3D"What"@}], body=3D[bkpt=3D@{number=3D"2",type=3D"breakpoint",disp=3D"keep",enabled=3D= "y", addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",fullname=3D"/home/foo/h= ello.c", -line=3D"5",times=3D"0"@}]@} +line=3D"5",thread-groups=3D["i1"],times=3D"0"@}]@} (gdb) @end smallexample @@ -28170,14 +28173,15 @@ ^done,bkpt=3D@{number=3D"@var{number}",type=3D"@var{type}",disp=3D"del"|"k= eep", enabled=3D"y"|"n",addr=3D"@var{hex}",func=3D"@var{funcname}",file=3D"@var{= filename}", fullname=3D"@var{full_filename}",line=3D"@var{lineno}",[thread=3D"@var{thr= eadno},] -times=3D"@var{times}"@} +thread-groups=3D["@var{group1}","@var{group2}"],times=3D"@var{times}"@} @end smallexample @noindent where @var{number} is the @value{GDBN} number for this breakpoint, @var{funcname} is the name of the function where the breakpoint was inserted, @var{filename} is the name of the source file which contains -this function, @var{lineno} is the source line number within that file +this function, @var{lineno} is the source line number within that file, +@var{thread-groups} is the list of inferiors to which this breakpoint appl= ies, and @var{times} the number of times that the breakpoint has been hit (always 0 for -break-insert but may be greater for -break-info or -break-l= ist which use the same output). @@ -28196,11 +28200,13 @@ (gdb) -break-insert main ^done,bkpt=3D@{number=3D"1",addr=3D"0x0001072c",file=3D"recursive2.c", -fullname=3D"/home/foo/recursive2.c,line=3D"4",times=3D"0"@} +fullname=3D"/home/foo/recursive2.c,line=3D"4",thread-groups=3D["i1"], +times=3D"0"@} (gdb) -break-insert -t foo ^done,bkpt=3D@{number=3D"2",addr=3D"0x00010774",file=3D"recursive2.c", -fullname=3D"/home/foo/recursive2.c,line=3D"11",times=3D"0"@} +fullname=3D"/home/foo/recursive2.c,line=3D"11",thread-groups=3D["i1"], +times=3D"0"@} (gdb) -break-list ^done,BreakpointTable=3D@{nr_rows=3D"2",nr_cols=3D"6", @@ -28212,15 +28218,18 @@ @{width=3D"40",alignment=3D"2",col_name=3D"what",colhdr=3D"What"@}], body=3D[bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep",enabled=3D= "y", addr=3D"0x0001072c", func=3D"main",file=3D"recursive2.c", -fullname=3D"/home/foo/recursive2.c,"line=3D"4",times=3D"0"@}, +fullname=3D"/home/foo/recursive2.c,"line=3D"4",thread-groups=3D["i1"], +times=3D"0"@}, bkpt=3D@{number=3D"2",type=3D"breakpoint",disp=3D"del",enabled=3D"y", addr=3D"0x00010774",func=3D"foo",file=3D"recursive2.c", -fullname=3D"/home/foo/recursive2.c",line=3D"11",times=3D"0"@}]@} +fullname=3D"/home/foo/recursive2.c",line=3D"11",thread-groups=3D["i1"], +times=3D"0"@}]@} (gdb) @c -break-insert -r foo.* @c ~int foo(int, int); @c ^done,bkpt=3D@{number=3D"3",addr=3D"0x00010774",file=3D"recursive2.c, -@c "fullname=3D"/home/foo/recursive2.c",line=3D"11",times=3D"0"@} +@c "fullname=3D"/home/foo/recursive2.c",line=3D"11",thread-groups=3D["i1"], +@c times=3D"0"@} @c (gdb) @end smallexample @@ -28250,6 +28259,8 @@ @item What logical location of the breakpoint, expressed by function name, file name, line number +@item Thread-groups +list of inferiors to which this breakpoint applies @item Times number of times the breakpoint has been hit @end table @@ -28277,7 +28288,7 @@ addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",line=3D"5",times=3D"0"@= }, bkpt=3D@{number=3D"2",type=3D"breakpoint",disp=3D"keep",enabled=3D"y", addr=3D"0x00010114",func=3D"foo",file=3D"hello.c",fullname=3D"/home/foo/he= llo.c", -line=3D"13",times=3D"0"@}]@} +line=3D"13",thread-groups=3D["i1"],times=3D"0"@}]@} (gdb) @end smallexample Index: gdb/testsuite/gdb.mi/mi-break.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-break.exp,v retrieving revision 1.36 diff -u -r1.36 mi-break.exp --- gdb/testsuite/gdb.mi/mi-break.exp 10 Jul 2012 15:32:51 -0000 1.36 +++ gdb/testsuite/gdb.mi/mi-break.exp 1 Oct 2012 16:04:18 -0000 @@ -93,7 +93,7 @@ "insert temp breakpoint at \"\":\$line_callee4_= head" mi_gdb_test "666-break-list" \ - "666\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\= ",hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhd= r=3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colh= dr=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"1\= ",type=3D\"breakpoint\",disp=3D\"del\",enabled=3D\"y\",addr=3D\"$hex\",func= =3D\"main\",file=3D\".*basics.c\",${fullname},line=3D\"$line_main_body\",ti= mes=3D\"0\",original-location=3D\".*\"\}.*\\\]\}" \ + "666\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\= ",hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhd= r=3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colh= dr=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"1\= ",type=3D\"breakpoint\",disp=3D\"del\",enabled=3D\"y\",addr=3D\"$hex\",func= =3D\"main\",file=3D\".*basics.c\",${fullname},line=3D\"$line_main_body\",th= read-groups=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\".*\"\}.*\\= \]\}" \ "list of breakpoints" mi_gdb_test "777-break-delete" \ @@ -142,7 +142,7 @@ setup_kfail "*-*-*" mi/14270 mi_gdb_test "166-break-list" \ - "1\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",= hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr= =3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhd= r=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"5\"= ,type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex\",func= =3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main_body\",times=3D\"0\"\= },.*\}\\\]\}" \ + "1\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",= hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr= =3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhd= r=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"5\"= ,type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex\",func= =3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main_body\",thread-groups= =3D\\\[\"i1\"\\\],times=3D\"0\"\},.*\}\\\]\}" \ "list of breakpoints" mi_gdb_test "177-break-delete" \ @@ -190,7 +190,7 @@ global line_callee2_body mi_gdb_test "-break-insert -d basics.c:callee2" \ - "\\^done,bkpt=3D\{number=3D\"6\",type=3D\"breakpoint\",disp=3D\"ke= ep\",enabled=3D\"n\",addr=3D\"$hex\",func=3D\"callee2\",file=3D\".*basics.c= \",fullname=3D\".*\",line=3D\"$line_callee2_body\",times=3D\"0\",original-l= ocation=3D\".*\"\}" \ + "\\^done,bkpt=3D\{number=3D\"6\",type=3D\"breakpoint\",disp=3D\"ke= ep\",enabled=3D\"n\",addr=3D\"$hex\",func=3D\"callee2\",file=3D\".*basics.c= \",fullname=3D\".*\",line=3D\"$line_callee2_body\",thread-groups=3D\\\[\"i1= \"\\\],times=3D\"0\",original-location=3D\".*\"\}" \ "test disabled creation" mi_gdb_test "-break-delete" \ @@ -211,7 +211,7 @@ "breakpoint commands: set commands" mi_gdb_test "-break-info 7" \ - "\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",hdr=3D= \\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr=3D\"Nu= m\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=3D\"A= ddress\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"7\",type= =3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex\",func=3D\"= callee2\",file=3D\".*basics.c\",${fullname},line=3D\"$line_callee2_body\",t= imes=3D\"0\",script=3D\{\"print 10\",\"continue\"\},original-location=3D\".= *\"\}.*\\\]\}" \ + "\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",hdr=3D= \\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr=3D\"Nu= m\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=3D\"A= ddress\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"7\",type= =3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex\",func=3D\"= callee2\",file=3D\".*basics.c\",${fullname},line=3D\"$line_callee2_body\",t= hread-groups=3D\\\[\"i1\"\\\],times=3D\"0\",script=3D\{\"print 10\",\"conti= nue\"\},original-location=3D\".*\"\}.*\\\]\}" \ "breakpoint commands: check that commands are set" mi_gdb_test "-break-commands 7" \ Index: gdb/testsuite/gdb.mi/mi-nsmoribund.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-nsmoribund.exp,v retrieving revision 1.17 diff -u -r1.17 mi-nsmoribund.exp --- gdb/testsuite/gdb.mi/mi-nsmoribund.exp 10 Jul 2012 15:32:51 -0000 = 1.17 +++ gdb/testsuite/gdb.mi/mi-nsmoribund.exp 1 Oct 2012 16:04:18 -0000 @@ -79,8 +79,11 @@ mi_delete_breakpoints # Recreate the same breakpoint, but this time, specific to thread 5. -mi_create_breakpoint "-p 5 $srcfile:$bkpt_line" 3 keep thread_function .* = .* .* \ - "thread specific breakpoint at thread_function" +mi_gdb_test "234-break-insert -p 5 $srcfile:$bkpt_line" \ + "234\\^done,bkpt=3D\{number=3D\"3\",type=3D\"breakpoint\",disp=3D\"kee= p\",enabled=3D\"y\",addr=3D\".*\",\ + func=3D\"thread_function\",file=3D\".*\",fullname=3D\".*\",line=3D\".*= \",thread-groups=3D\\\[\".*\"\\\],\ + thread=3D\"5\",thread=3D\"5\",times=3D\"0\",original-location=3D\".*\"= \}" \ + "thread specific breakpoint at thread_function" # Resume all threads. Only thread 5 should report a stop. Index: gdb/testsuite/gdb.mi/mi-simplerun.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-simplerun.exp,v retrieving revision 1.29 diff -u -r1.29 mi-simplerun.exp --- gdb/testsuite/gdb.mi/mi-simplerun.exp 10 Jul 2012 15:32:51 -0000 = 1.29 +++ gdb/testsuite/gdb.mi/mi-simplerun.exp 1 Oct 2012 16:04:18 -0000 @@ -79,7 +79,7 @@ "insert breakpoint at \"\":\$line_callee4_head" mi_gdb_test "204-break-list" \ - "204\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"1\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y= \",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_mai= n_body\",times=3D\"0\",original-location=3D\".*\"\},.*\}\\\]\}" \ + "204\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"1\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y= \",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_mai= n_body\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\= ".*\"\},.*\}\\\]\}" \ "list of breakpoints" mi_gdb_test "205-break-disable 2 3 4" \ Index: gdb/testsuite/gdb.mi/mi-watch.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-watch.exp,v retrieving revision 1.32 diff -u -r1.32 mi-watch.exp --- gdb/testsuite/gdb.mi/mi-watch.exp 10 Jul 2012 15:32:52 -0000 1.32 +++ gdb/testsuite/gdb.mi/mi-watch.exp 1 Oct 2012 16:04:18 -0000 @@ -58,7 +58,7 @@ "break-watch operation" mi_gdb_test "222-break-list" \ - "222\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\= ",hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhd= r=3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colh= dr=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"2\= ",type=3D\".*watchpoint\",disp=3D\"keep\",enabled=3D\"y\",what=3D\"C\",time= s=3D\"0\",original-location=3D\"C\"\}\\\]\}" \ + "222\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\= ",hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhd= r=3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colh= dr=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"2\= ",type=3D\".*watchpoint\",disp=3D\"keep\",enabled=3D\"y\",what=3D\"C\",thre= ad-groups=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\"C\"\}\\\]\}"= \ "list of watchpoints" } @@ -82,7 +82,7 @@ "break-watch -a operation" mi_gdb_test "444-break-list" \ - "444\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"3\",type=3D\"watchpoint\",disp=3D\"del\",enabled=3D\"y\= ",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main= _body\",times=3D\"0\"\},.*\}\\\]\}" \ + "444\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"3\",type=3D\"watchpoint\",disp=3D\"del\",enabled=3D\"y\= ",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main= _body\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\"\},.*\}\\\]\}" \ "list of watchpoints awatch" mi_gdb_test "777-break-delete 3" \ @@ -109,7 +109,7 @@ "break-insert -r operation" mi_gdb_test "300-break-list" \ - "300\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"5\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y= \",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_mai= n_body\",times=3D\"0\"\},.*\}\\\}\}" \ + "300\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"5\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y= \",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_mai= n_body\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\"\},.*\}\\\}\}" \ "list of breakpoints" mi_gdb_test "177-break-delete 4" \ Index: gdb/testsuite/gdb.mi/mi2-break.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-break.exp,v retrieving revision 1.18 diff -u -r1.18 mi2-break.exp --- gdb/testsuite/gdb.mi/mi2-break.exp 10 Jul 2012 15:32:52 -0000 1.18 +++ gdb/testsuite/gdb.mi/mi2-break.exp 1 Oct 2012 16:04:18 -0000 @@ -92,7 +92,7 @@ "insert temp breakpoint at \"\":\$line_callee4_= head" mi_gdb_test "666-break-list" \ - "666\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\= ",hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhd= r=3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colh= dr=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"1\= ",type=3D\"breakpoint\",disp=3D\"del\",enabled=3D\"y\",addr=3D\"$hex\",func= =3D\"main\",file=3D\".*basics.c\",${fullname},line=3D\"$line_main_body\",ti= mes=3D\"0\",original-location=3D\".*\"\}.*\\\]\}" \ + "666\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\= ",hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhd= r=3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colh= dr=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"1\= ",type=3D\"breakpoint\",disp=3D\"del\",enabled=3D\"y\",addr=3D\"$hex\",func= =3D\"main\",file=3D\".*basics.c\",${fullname},line=3D\"$line_main_body\",th= read-groups=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\".*\"\}.*\\= \]\}" \ "list of breakpoints" mi_gdb_test "777-break-delete" \ @@ -142,7 +142,7 @@ setup_xfail "*-*-*" mi_gdb_test "166-break-list" \ - "1\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",= hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr= =3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhd= r=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"5\"= ,type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex\",func= =3D\"main\",file=3D\".*basics.c\",${fullname},line=3D\"$line_main_body\",ti= mes=3D\"0\"\},.*\}\\\]\}" \ + "1\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",= hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr= =3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhd= r=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"5\"= ,type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex\",func= =3D\"main\",file=3D\".*basics.c\",${fullname},line=3D\"$line_main_body\",th= read-groups=3D\\\[\"i1\"\\\],times=3D\"0\"\},.*\}\\\]\}" \ "list of breakpoints" mi_gdb_test "177-break-delete" \ Index: gdb/testsuite/gdb.mi/mi2-simplerun.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-simplerun.exp,v retrieving revision 1.20 diff -u -r1.20 mi2-simplerun.exp --- gdb/testsuite/gdb.mi/mi2-simplerun.exp 10 Jul 2012 15:32:52 -0000 = 1.20 +++ gdb/testsuite/gdb.mi/mi2-simplerun.exp 1 Oct 2012 16:04:18 -0000 @@ -79,7 +79,7 @@ "insert breakpoint at \"\":\$line_callee4_head" mi_gdb_test "204-break-list" \ - "204\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"1\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y= \",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_mai= n_body\",times=3D\"0\",original-location=3D\".*\"\},.*\}\\\]\}" \ + "204\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"1\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y= \",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_mai= n_body\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\= ".*\"\},.*\}\\\]\}" \ "list of breakpoints" mi_gdb_test "205-break-disable 2 3 4" \ Index: gdb/testsuite/gdb.mi/mi2-watch.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-watch.exp,v retrieving revision 1.23 diff -u -r1.23 mi2-watch.exp --- gdb/testsuite/gdb.mi/mi2-watch.exp 10 Jul 2012 15:32:52 -0000 1.23 +++ gdb/testsuite/gdb.mi/mi2-watch.exp 1 Oct 2012 16:04:18 -0000 @@ -57,7 +57,7 @@ "break-watch operation" mi_gdb_test "222-break-list" \ - "222\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\= ",hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhd= r=3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colh= dr=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"2\= ",type=3D\".*watchpoint\",disp=3D\"keep\",enabled=3D\"y\",what=3D\"C\",time= s=3D\"0\",original-location=3D\"C\"\}\\\]\}" \ + "222\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\= ",hdr=3D\\\[\{width=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhd= r=3D\"Num\"\}.*colhdr=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colh= dr=3D\"Address\".*colhdr=3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"2\= ",type=3D\".*watchpoint\",disp=3D\"keep\",enabled=3D\"y\",what=3D\"C\",thre= ad-groups=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\"C\"\}\\\]\}"= \ "list of watchpoints" } @@ -81,7 +81,7 @@ "break-watch -a operation" mi_gdb_test "444-break-list" \ - "444\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"3\",type=3D\"watchpoint\",disp=3D\"del\",enabled=3D\"y\= ",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main= _body\",times=3D\"0\"\},.*\}\\\]\}" \ + "444\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"3\",type=3D\"watchpoint\",disp=3D\"del\",enabled=3D\"y\= ",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main= _body\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\"\},.*\}\\\]\}" \ "list of watchpoints awatch" mi_gdb_test "777-break-delete 3" \ @@ -108,7 +108,7 @@ "break-insert -r operation" mi_gdb_test "300-break-list" \ - "300\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"5\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y= \",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_mai= n_body\",times=3D\"0\"\},.*\}\\\}\}" \ + "300\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[= bkpt=3D\{number=3D\"5\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y= \",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_mai= n_body\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\"\},.*\}\\\}\}" \ "list of breakpoints" mi_gdb_test "177-break-delete 4" \ Index: gdb/testsuite/lib/mi-support.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v retrieving revision 1.112 diff -u -r1.112 mi-support.exp --- gdb/testsuite/lib/mi-support.exp 25 Jul 2012 20:19:56 -0000 1.1= 12 +++ gdb/testsuite/lib/mi-support.exp 1 Oct 2012 16:04:18 -0000 @@ -923,7 +923,7 @@ set test "mi runto $func" mi_gdb_test "200-break-insert -t $func" \ - "200\\^done,bkpt=3D\{number=3D\"\[0-9\]+\",type=3D\"breakpoint\",disp= =3D\"del\",enabled=3D\"y\",addr=3D\"$hex\",func=3D\"$func\(\\\(.*\\\)\)?\",= file=3D\".*\",line=3D\"\[0-9\]*\",times=3D\"0\",original-location=3D\".*\"\= }" \ + "200\\^done,bkpt=3D\{number=3D\"\[0-9\]+\",type=3D\"breakpoint\",disp= =3D\"del\",enabled=3D\"y\",addr=3D\"$hex\",func=3D\"$func\(\\\(.*\\\)\)?\",= file=3D\".*\",line=3D\"\[0-9\]*\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"= 0\",original-location=3D\".*\"\}" \ "breakpoint at $func" if {![regexp {number=3D"[0-9]+"} $expect_out(buffer) str] @@ -1205,9 +1205,9 @@ # Creates a breakpoint and checks the reported fields are as expected proc mi_create_breakpoint { location number disp func file line address te= st } { - verbose -log "Expecting: 222\\^done,bkpt=3D\{number=3D\"$number\",type= =3D\"breakpoint\",disp=3D\"$disp\",enabled=3D\"y\",addr=3D\"$address\",func= =3D\"$func\",file=3D\"$file\",fullname=3D\".*\",line=3D\"$line\",times=3D\"= 0\",original-location=3D\".*\"\}" + verbose -log "Expecting: 222\\^done,bkpt=3D\{number=3D\"$number\",type= =3D\"breakpoint\",disp=3D\"$disp\",enabled=3D\"y\",addr=3D\"$address\",func= =3D\"$func\",file=3D\"$file\",fullname=3D\".*\",line=3D\"$line\",thread-gro= ups=3D\\\[\".*\"\\\],times=3D\"0\",original-location=3D\".*\"\}" mi_gdb_test "222-break-insert $location" \ - "222\\^done,bkpt=3D\{number=3D\"$number\",type=3D\"breakpoint\",di= sp=3D\"$disp\",enabled=3D\"y\",addr=3D\"$address\",func=3D\"$func\",file=3D= \"$file\",fullname=3D\".*\",line=3D\"$line\",times=3D\"0\",original-locatio= n=3D\".*\"\}" \ + "222\\^done,bkpt=3D\{number=3D\"$number\",type=3D\"breakpoint\",di= sp=3D\"$disp\",enabled=3D\"y\",addr=3D\"$address\",func=3D\"$func\",file=3D= \"$file\",fullname=3D\".*\",line=3D\"$line\",thread-groups=3D\\\[\".*\"\\\]= ,times=3D\"0\",original-location=3D\".*\"\}" \ $test } @@ -1228,7 +1228,7 @@ set file [lindex $item 3] set line [lindex $item 4] set address [lindex $item 5] - set body "${body}bkpt=3D\{number=3D\"$number\",type=3D\"breakpoint= \",disp=3D\"$disp\",enabled=3D\"y\",addr=3D\"$address\",func=3D\"$func\",fi= le=3D\".*$file\",${fullname},line=3D\"$line\",times=3D\"0\",original-locati= on=3D\".*\"\}" + set body "${body}bkpt=3D\{number=3D\"$number\",type=3D\"breakpoint= \",disp=3D\"$disp\",enabled=3D\"y\",addr=3D\"$address\",func=3D\"$func\",fi= le=3D\".*$file\",${fullname},line=3D\"$line\",thread-groups=3D\\\[\"i1\"\\\= ],times=3D\"0\",original-location=3D\".*\"\}" set first 0 }