From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26572 invoked by alias); 22 Jan 2013 00:09:56 -0000 Received: (qmail 26552 invoked by uid 22791); 22 Jan 2013 00:09:53 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,TW_XS X-Spam-Check-By: sourceware.org Received: from usevmg01.ericsson.net (HELO usevmg20.ericsson.net) (198.24.6.45) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 22 Jan 2013 00:09:45 +0000 Received: from EUSAAHC008.ericsson.se (Unknown_Domain [147.117.188.96]) by usevmg20.ericsson.net (Symantec Mail Security) with SMTP id 2D.BC.31450.7C8DDF05; Tue, 22 Jan 2013 01:09:44 +0100 (CET) Received: from EUSAAMB103.ericsson.se ([147.117.188.120]) by EUSAAHC008.ericsson.se ([147.117.188.96]) with mapi id 14.02.0318.004; Mon, 21 Jan 2013 19:09:43 -0500 From: Marc Khouzam To: Pedro Alves CC: 'Tom Tromey' , 'Yao Qi' , "'gdb-patches@sourceware.org'" Subject: RE: [MI][patch v2] -break-list to specify "thread-group" Date: Tue, 22 Jan 2013 00:09:00 -0000 Message-ID: References: <505DB611.70706@codesourcery.com> <50C20D19.1070704@redhat.com> <50C20EE6.2030103@redhat.com> ,<50FD8EC9.507@redhat.com> In-Reply-To: <50FD8EC9.507@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: 2013-01/txt/msg00502.txt.bz2 > From: Pedro Alves [palves@redhat.com] > Sent: January 21, 2013 1:54 PM > To: Marc Khouzam > Cc: 'Tom Tromey'; 'Yao Qi'; 'gdb-patches@sourceware.org' > Subject: Re: [MI][patch v2] -break-list to specify "thread-group" >=20 > On 01/16/2013 04:58 PM, Marc Khouzam wrote: >=20 > > + 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); >=20 > xsnprintf. >=20 > > @@ -28627,6 +28636,8 @@ memory location at which the breakpoint is set > > @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 >=20 > Should be, "list of thread groups". >=20 > Otherwise looks good to me. >=20 > Thanks, Thanks! Much appreciated! I committed the following (although I had to do a second commit because I made a slight mistake on the Changelog files): 2013-01-21 Marc Khouzam * breakpoint.c (print_one_breakpoint_location): Add MI field 'thread-groups' when printing a breakpoint. (output_thread_groups): New function. 2013-01-21 Marc Khouzam * gdb.texinfo (GDB/MI Breakpoint Commands): Document new 'thread-groups' field when printing a breakpoint in MI. 2013-01-21 Marc Khouzam * gdb.mi/mi-break.exp: Expect new 'thread-groups' field. * gdb.mi/mi-catch-load.exp: Ditto. * 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. * lib/mi-support.exp: Ditto. ### 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.735 diff -u -r1.735 breakpoint.c --- gdb/breakpoint.c 16 Jan 2013 17:31:37 -0000 1.735 +++ gdb/breakpoint.c 21 Jan 2013 23:43:24 -0000 @@ -5805,6 +5805,51 @@ return bptypes[(int) type].description; } =20 +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]; + + xsnprintf (mi_group, sizeof (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. */ =20 static void @@ -5956,35 +6001,30 @@ } =20 =20 - /* 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; =20 - 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 unle= ss + 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); } =20 if (!part_of_multiple) @@ -7969,8 +8009,6 @@ catch_load_or_unload (arg, from_tty, 0, command); } =20 -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.1043 diff -u -r1.1043 gdb.texinfo --- gdb/doc/gdb.texinfo 17 Jan 2013 14:17:16 -0000 1.1043 +++ gdb/doc/gdb.texinfo 21 Jan 2013 23:43:31 -0000 @@ -28089,7 +28089,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 =20 @@ -28184,7 +28185,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 =20 @@ -28308,7 +28310,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 ~ @@ -28324,7 +28327,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 =20 @@ -28360,7 +28363,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 @@ -28402,7 +28406,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 =20 @@ -28474,7 +28478,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 =20 @@ -28510,7 +28514,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 =20 @@ -28606,11 +28610,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", @@ -28622,15 +28628,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 =20 @@ -28660,6 +28669,8 @@ @item What logical location of the breakpoint, expressed by function name, file name, line number +@item Thread-groups +list of thread groups to which this breakpoint applies @item Times number of times the breakpoint has been hit @end table @@ -28684,10 +28695,11 @@ @{width=3D"10",alignment=3D"-1",col_name=3D"addr",colhdr=3D"Address"@}, @{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",line=3D"5",times=3D"0"@= }, +addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",line=3D"5",thread-group= s=3D["i1"], +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 =20 @@ -28815,9 +28827,10 @@ body=3D[bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep",enabled=3D= "y", addr=3D"0x00010734",func=3D"callee4", file=3D"../../../devo/gdb/testsuite/gdb.mi/basics.c", -fullname=3D"/home/foo/devo/gdb/testsuite/gdb.mi/basics.c"line=3D"8",times= =3D"1"@}, +fullname=3D"/home/foo/devo/gdb/testsuite/gdb.mi/basics.c"line=3D"8",thread= -groups=3D["i1"], +times=3D"1"@}, bkpt=3D@{number=3D"2",type=3D"watchpoint",disp=3D"keep", -enabled=3D"y",addr=3D"",what=3D"C",times=3D"0"@}]@} +enabled=3D"y",addr=3D"",what=3D"C",thread-groups=3D["i1"],times=3D"0"@}]@} (gdb) -exec-continue ^running @@ -28839,9 +28852,10 @@ body=3D[bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep",enabled=3D= "y", addr=3D"0x00010734",func=3D"callee4", file=3D"../../../devo/gdb/testsuite/gdb.mi/basics.c", -fullname=3D"/home/foo/devo/gdb/testsuite/gdb.mi/basics.c",line=3D"8",times= =3D"1"@}, +fullname=3D"/home/foo/devo/gdb/testsuite/gdb.mi/basics.c",line=3D"8",threa= d-groups=3D["i1"], +times=3D"1"@}, bkpt=3D@{number=3D"2",type=3D"watchpoint",disp=3D"keep", -enabled=3D"y",addr=3D"",what=3D"C",times=3D"-5"@}]@} +enabled=3D"y",addr=3D"",what=3D"C",thread-groups=3D["i1"],times=3D"-5"@}]@} (gdb) -exec-continue ^running @@ -28863,7 +28877,7 @@ addr=3D"0x00010734",func=3D"callee4", file=3D"../../../devo/gdb/testsuite/gdb.mi/basics.c", fullname=3D"/home/foo/devo/gdb/testsuite/gdb.mi/basics.c",line=3D"8", -times=3D"1"@}]@} +thread-groups=3D["i1"],times=3D"1"@}]@} (gdb) @end smallexample =20 @@ -33460,7 +33474,8 @@ -break-insert main ^done,bkpt=3D@{number=3D"1",type=3D"breakpoint",disp=3D"keep",enabled=3D"y= ", addr=3D"0x080484ed",func=3D"main",file=3D"myprog.c", -fullname=3D"/home/nickrob/myprog.c",line=3D"73",times=3D"0"@}, +fullname=3D"/home/nickrob/myprog.c",line=3D"73",thread-groups=3D["i1"], +times=3D"0"@}, time=3D@{wallclock=3D"0.05185",user=3D"0.00800",system=3D"0.00000"@} (gdb) -enable-timings no 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.38 diff -u -r1.38 mi-break.exp --- gdb/testsuite/gdb.mi/mi-break.exp 1 Jan 2013 06:41:24 -0000 1.38 +++ gdb/testsuite/gdb.mi/mi-break.exp 21 Jan 2013 23:43:35 -0000 @@ -93,7 +93,7 @@ "insert temp breakpoint at \"\":\$line_callee4_= head" =20 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" =20 mi_gdb_test "777-break-delete" \ @@ -142,7 +142,7 @@ =20 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" =20 mi_gdb_test "177-break-delete" \ @@ -208,7 +208,7 @@ global line_callee2_body =20 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" =20 mi_gdb_test "-break-delete" \ @@ -229,7 +229,7 @@ "breakpoint commands: set commands" =20 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" =20 mi_gdb_test "-break-commands 7" \ Index: gdb/testsuite/gdb.mi/mi-catch-load.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-catch-load.exp,v retrieving revision 1.3 diff -u -r1.3 mi-catch-load.exp --- gdb/testsuite/gdb.mi/mi-catch-load.exp 16 Jan 2013 17:27:53 -0000 = 1.3 +++ gdb/testsuite/gdb.mi/mi-catch-load.exp 21 Jan 2013 23:43:35 -0000 @@ -49,7 +49,7 @@ # test -catch-load mi_gdb_test "111-gdb-set auto-solib-add on" "111\\^done" "catch-load: auto= -solib-add on" mi_gdb_test "222-catch-load -t mi-catch-load-so.so*" \ - "222\\^done,bkpt=3D\{number=3D\"2\",type=3D\"catchpoint\",disp=3D\"del= \",enabled=3D\"y\",what=3D\"load of library matching mi-catch-load-so\.so\\= *\",catch-type=3D\"load\",times=3D\"0\"\}" \ + "222\\^done,bkpt=3D\{number=3D\"2\",type=3D\"catchpoint\",disp=3D\"del= \",enabled=3D\"y\",what=3D\"load of library matching mi-catch-load-so\.so\\= *\",catch-type=3D\"load\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\"\}" \ "catch-load: catch load" mi_send_resuming_command "exec-continue" "catch-load: continue" =20 @@ -76,7 +76,7 @@ # test -catch-unload mi_gdb_test "111-gdb-set auto-solib-add on" "111\\^done" "catch-unload: au= to-solib-add on" mi_gdb_test "222-catch-unload -t mi-catch-load-so.so*" \ - "222\\^done,bkpt=3D\{number=3D\"2\",type=3D\"catchpoint\",disp=3D\"del= \",enabled=3D\"y\",what=3D\"unload of library matching mi-catch-load-so\.so= \\*\",catch-type=3D\"unload\",times=3D\"0\"\}" \ + "222\\^done,bkpt=3D\{number=3D\"2\",type=3D\"catchpoint\",disp=3D\"del= \",enabled=3D\"y\",what=3D\"unload of library matching mi-catch-load-so\.so= \\*\",catch-type=3D\"unload\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\"\= }" \ "catch-unload: catch unload" mi_send_resuming_command "exec-continue" "catch-unload: continue" =20 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.18 diff -u -r1.18 mi-nsmoribund.exp --- gdb/testsuite/gdb.mi/mi-nsmoribund.exp 1 Jan 2013 06:41:24 -0000 = 1.18 +++ gdb/testsuite/gdb.mi/mi-nsmoribund.exp 21 Jan 2013 23:43:35 -0000 @@ -79,8 +79,9 @@ mi_delete_breakpoints =20 # 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"=20 =20 # Resume all threads. Only thread 5 should report a stop. =20 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.30 diff -u -r1.30 mi-simplerun.exp --- gdb/testsuite/gdb.mi/mi-simplerun.exp 1 Jan 2013 06:41:24 -0000 = 1.30 +++ gdb/testsuite/gdb.mi/mi-simplerun.exp 21 Jan 2013 23:43:35 -0000 @@ -79,7 +79,7 @@ "insert breakpoint at \"\":\$line_callee4_head" =20 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" =20 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.34 diff -u -r1.34 mi-watch.exp --- gdb/testsuite/gdb.mi/mi-watch.exp 1 Jan 2013 06:41:24 -0000 1.34 +++ gdb/testsuite/gdb.mi/mi-watch.exp 21 Jan 2013 23:43:35 -0000 @@ -57,7 +57,7 @@ "break-watch operation" =20 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" =20 } @@ -81,7 +81,7 @@ "break-watch -a operation" =20 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" =20 mi_gdb_test "777-break-delete 3" \ @@ -108,7 +108,7 @@ "break-watch -r operation" =20 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" =20 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.113 diff -u -r1.113 mi-support.exp --- gdb/testsuite/lib/mi-support.exp 1 Jan 2013 06:41:28 -0000 1.1= 13 +++ gdb/testsuite/lib/mi-support.exp 21 Jan 2013 23:43:36 -0000 @@ -922,7 +922,7 @@ =20 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" =20 if {![regexp {number=3D"[0-9]+"} $expect_out(buffer) str] @@ -1204,9 +1204,9 @@ =20 # 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 } =20 @@ -1227,7 +1227,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 } =20