From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7534 invoked by alias); 28 Nov 2012 06:07:15 -0000 Received: (qmail 7514 invoked by uid 22791); 28 Nov 2012 06:07:12 -0000 X-SWARE-Spam-Status: No, hits=-4.4 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,TW_XS X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 28 Nov 2012 06:07:04 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1TdanX-0002aB-0j from Hafiz_Abid@mentor.com ; Tue, 27 Nov 2012 22:07:03 -0800 Received: from SVR-IES-FEM-05.mgc.mentorg.com ([137.202.0.112]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 27 Nov 2012 22:07:02 -0800 Received: from EU-MBX-03.mgc.mentorg.com ([169.254.2.46]) by SVR-IES-FEM-05.mgc.mentorg.com ([137.202.0.112]) with mapi id 14.01.0289.001; Wed, 28 Nov 2012 06:07:00 +0000 From: "Abid, Hafiz" To: Marc Khouzam , "'gdb-patches@sourceware.org'" , 'Tom Tromey' CC: "Qi, Yao" Subject: RE: [MI][patch v2] -break-list to specify "thread-group" Date: Wed, 28 Nov 2012 06:07:00 -0000 Message-ID: References: <505DB611.70706@codesourcery.com> <87vceyrlyg.fsf@fleche.redhat.com> In-Reply-To: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 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-11/txt/msg00796.txt.bz2 > -----Original Message----- > From: gdb-patches-owner@sourceware.org [mailto:gdb-patches- > owner@sourceware.org] On Behalf Of Marc Khouzam > Sent: Tuesday, November 27, 2012 7:56 PM > To: 'gdb-patches@sourceware.org'; 'Tom Tromey' > Cc: Qi, Yao > Subject: RE: [MI][patch v2] -break-list to specify "thread-group" >=20 >=20 > > -----Original Message----- > > From: gdb-patches-owner@sourceware.org > > [mailto:gdb-patches-owner@sourceware.org] On Behalf Of Marc Khouzam > > Sent: Wednesday, October 24, 2012 2:43 PM > > To: 'Tom Tromey'; 'gdb-patches@sourceware.org' > > Cc: 'Yao Qi' > > Subject: RE: [MI][patch v2] -break-list to specify "thread-group" > > > > Polite re-ping :) > > (http://sourceware.org/ml/gdb-patches/2012-10/msg00006.html) > > > > Turns out Eclipse is also missing the extra information this patch > > is adding in the case of processing =3Dbreakpoint-create MI > > notifications because it cannot tell what inferior the breakpoint > > was created for. >=20 > Hi, >=20 > I've updated the proposed patch to current head. > It is a little smaller since there is no more mi2-*.exp tests. >=20 > As a reminder, this patch add a "thread-groups" field to the > different breakpoint MI printouts. This information is important > for a frontend but is currently only available through CLI. >=20 > Doc was already approved here: > http://sourceware.org/ml/gdb-patches/2012-10/msg00007.html >=20 > No regressions >=20 > Thanks >=20 > Marc >=20 > 2012-11-27 Marc Khouzam >=20 > * breakpoint.c (print_one_breakpoint_location): Add MI > field 'thread-groups' when printing a breakpoint. > (output_thread_groups): New function. >=20 > 2012-11-27 Marc Khouzam >=20 > * gdb.texinfo (GDB/MI Breakpoint Commands): Document new > `thread-group' field when printing a breakpoint in MI. >=20 > 2012-11-27 Marc Khouzam >=20 > * 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. > * lib/mi-support.exp: Ditto. >=20 > ### 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.719 > diff -u -r1.719 breakpoint.c > --- gdb/breakpoint.c 20 Nov 2012 22:51:04 -0000 1.719 > +++ gdb/breakpoint.c 27 Nov 2012 19:06:38 -0000 > @@ -5781,6 +5781,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]; > + > + sprintf (mi_group, "i%d", inf); Please use xsnprintf instead. > + 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 > @@ -5932,35 +5977,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 > 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); > } >=20 > if (!part_of_multiple) > @@ -7905,8 +7945,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.1026 > diff -u -r1.1026 gdb.texinfo > --- gdb/doc/gdb.texinfo 16 Nov 2012 19:43:39 -0000 1.1026 > +++ gdb/doc/gdb.texinfo 27 Nov 2012 19:06:39 -0000 > @@ -27969,7 +27969,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 > @@ -28093,7 +28094,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 > ~ > @@ -28109,7 +28111,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", >=20 > addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",fullname=3D"/home/foo/= hello. > 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 > @@ -28145,7 +28147,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 > @@ -28187,7 +28190,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", >=20 > addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",fullname=3D"/home/foo/= hello. > 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 > @@ -28259,7 +28262,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", >=20 > addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",fullname=3D"/home/foo/= hello. > c", > -line=3D"5",times=3D"0"@}]@} > +line=3D"5",thread-groups=3D["i1"],times=3D"0"@}]@} > (gdb) > @end smallexample >=20 > @@ -28295,7 +28298,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", >=20 > addr=3D"0x000100d0",func=3D"main",file=3D"hello.c",fullname=3D"/home/foo/= hello. > c", > -line=3D"5",times=3D"0"@}]@} > +line=3D"5",thread-groups=3D["i1"],times=3D"0"@}]@} > (gdb) > @end smallexample >=20 > @@ -28376,14 +28379,15 @@ >=20 > ^done,bkpt=3D@{number=3D"@var{number}",type=3D"@var{type}",disp=3D"del"|"= keep", >=20 > enabled=3D"y"|"n",addr=3D"@var{hex}",func=3D"@var{funcname}",file=3D"@var= {filen > ame}", >=20 > fullname=3D"@var{full_filename}",line=3D"@var{lineno}",[thread=3D"@var{th= read > no},] > -times=3D"@var{times}"@} > +thread-groups=3D["@var{group1}","@var{group2}"],times=3D"@var{times}"@} > @end smallexample >=20 > @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 > applies, > 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-list > which use the same output). > @@ -28402,11 +28406,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", > @@ -28418,15 +28424,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 > @@ -28456,6 +28465,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 > @@ -28483,7 +28494,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", >=20 > addr=3D"0x00010114",func=3D"foo",file=3D"hello.c",fullname=3D"/home/foo/h= ello.c > ", > -line=3D"13",times=3D"0"@}]@} > +line=3D"13",thread-groups=3D["i1"],times=3D"0"@}]@} > (gdb) > @end smallexample >=20 > 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.37 > diff -u -r1.37 mi-break.exp > --- gdb/testsuite/gdb.mi/mi-break.exp 9 Nov 2012 07:21:03 -0000 > 1.37 > +++ gdb/testsuite/gdb.mi/mi-break.exp 27 Nov 2012 19:06:39 -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\\= \[\{wi > dth=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr=3D\"Num\"\}.= *colhd > r=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=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\",times=3D\"0\",original- > location=3D\".*\"\}.*\\\]\}" \ > + > "666\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",hdr=3D\\= \[\{wi > dth=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr=3D\"Num\"\}.= *colhd > r=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=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\",thread- > 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\\\[= \{widt > h=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr=3D\"Num\"\}.*c= olhdr=3D > \"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=3D\"Address\".*colh= dr=3D\ > "What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"5\",type=3D\"breakpoint\",di= sp=3D\"k > eep\",enabled=3D\"y\",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c= \",lin > e=3D\"$line_main_body\",times=3D\"0\"\},.*\}\\\]\}" \ > + > "1\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",hdr=3D\\\[= \{widt > h=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr=3D\"Num\"\}.*c= olhdr=3D > \"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=3D\"Address\".*colh= dr=3D\ > "What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"5\",type=3D\"breakpoint\",di= sp=3D\"k > eep\",enabled=3D\"y\",addr=3D\"$hex\",func=3D\"main\",file=3D\".*basics.c= \",lin > e=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\"keep\",en= abled=3D > \"n\",addr=3D\"$hex\",func=3D\"callee2\",file=3D\".*basics.c\",fullname= =3D\".*\ > ",line=3D\"$line_callee2_body\",times=3D\"0\",original-location=3D\".*\"\= }" \ > + > "\\^done,bkpt=3D\{number=3D\"6\",type=3D\"breakpoint\",disp=3D\"keep\",en= abled=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\"Num\"\}.*colhd= r=3D\" > Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=3D\"Address\".*colhdr= =3D\"W > hat\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"7\",type=3D\"breakpoint\",disp= =3D\"kee > p\",enabled=3D\"y\",addr=3D\"$hex\",func=3D\"callee2\",file=3D\".*basics.= c\",${ > fullname},line=3D\"$line_callee2_body\",times=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\"Num\"\}.*colhd= r=3D\" > Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=3D\"Address\".*colhdr= =3D\"W > hat\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"7\",type=3D\"breakpoint\",disp= =3D\"kee > p\",enabled=3D\"y\",addr=3D\"$hex\",func=3D\"callee2\",file=3D\".*basics.= c\",${ > fullname},line=3D\"$line_callee2_body\",thread- > groups=3D\\\[\"i1\"\\\],times=3D\"0\",script=3D\{\"print > 10\",\"continue\"\},original-location=3D\".*\"\}.*\\\]\}" \ > "breakpoint commands: check that commands are set" >=20 > 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 27 Nov 2012 19:06:39 - > 0000 > @@ -79,8 +79,11 @@ > 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\"keep\"= ,enabl > ed=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 > # 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.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 27 Nov 2012 19:06:39 - > 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\{n= umber=3D > \"1\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex= \",fun > c=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main_body\",times=3D\"0= \",ori > ginal-location=3D\".*\"\},.*\}\\\]\}" \ > + > "204\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[bkpt=3D\{n= umber=3D > \"1\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex= \",fun > c=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main_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.33 > diff -u -r1.33 mi-watch.exp > --- gdb/testsuite/gdb.mi/mi-watch.exp 9 Nov 2012 02:30:49 -0000 > 1.33 > +++ gdb/testsuite/gdb.mi/mi-watch.exp 27 Nov 2012 19:06:39 -0000 > @@ -58,7 +58,7 @@ > "break-watch operation" >=20 > mi_gdb_test "222-break-list" \ > - > "222\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",hdr=3D\\= \[\{wi > dth=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr=3D\"Num\"\}.= *colhd > r=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=3D\"Address\".*= colhdr > =3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"2\",type=3D\".*watchpoin= t\",disp > =3D\"keep\",enabled=3D\"y\",what=3D\"C\",times=3D\"0\",original- > location=3D\"C\"\}\\\]\}" \ > + > "222\\\^done,BreakpointTable=3D\{nr_rows=3D\".\",nr_cols=3D\".\",hdr=3D\\= \[\{wi > dth=3D\".*\",alignment=3D\".*\",col_name=3D\"number\",colhdr=3D\"Num\"\}.= *colhd > r=3D\"Type\".*colhdr=3D\"Disp\".*colhdr=3D\"Enb\".*colhdr=3D\"Address\".*= colhdr > =3D\"What\".*\\\],body=3D\\\[bkpt=3D\{number=3D\"2\",type=3D\".*watchpoin= t\",disp > =3D\"keep\",enabled=3D\"y\",what=3D\"C\",thread- > groups=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\"C\"\}\\\]\}" \ > "list of watchpoints" >=20 > } > @@ -82,7 +82,7 @@ > "break-watch -a operation" >=20 > mi_gdb_test "444-break-list" \ > - > "444\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[bkpt=3D\{n= umber=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\{n= umber=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" \ > @@ -109,7 +109,7 @@ > "break-watch -r operation" >=20 > mi_gdb_test "300-break-list" \ > - > "300\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[bkpt=3D\{n= umber=3D > \"5\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex= \",fun > c=3D\"main\",file=3D\".*basics.c\",line=3D\"$line_main_body\",times=3D\"0= \"\},. > *\}\\\}\}" \ > + > "300\\^done,BreakpointTable=3D\{.*,hdr=3D\\\[.*\\\],body=3D\\\[bkpt=3D\{n= umber=3D > \"5\",type=3D\"breakpoint\",disp=3D\"keep\",enabled=3D\"y\",addr=3D\"$hex= \",fun > c=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 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.112 > +++ gdb/testsuite/lib/mi-support.exp 27 Nov 2012 19:06:39 -0000 > @@ -923,7 +923,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= \",fun > c=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= \",fun > c=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] > @@ -1205,9 +1205,9 @@ >=20 > # Creates a breakpoint and checks the reported fields are as expected > proc mi_create_breakpoint { location number disp func file line > address test } { > - 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\",fu= llname > =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\",fu= llname > =3D\".*\",line=3D\"$line\",thread- > groups=3D\\\[\".*\"\\\],times=3D\"0\",original-location=3D\".*\"\}" > mi_gdb_test "222-break-insert $location" \ > - > "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\",f= ullnam > e=3D\".*\",line=3D\"$line\",times=3D\"0\",original-location=3D\".*\"\}" \ > + > "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\",f= ullnam > e=3D\".*\",line=3D\"$line\",thread- > groups=3D\\\[\".*\"\\\],times=3D\"0\",original-location=3D\".*\"\}" \ > $test > } >=20 > @@ -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\"$dis= p\",en > abled=3D\"y\",addr=3D\"$address\",func=3D\"$func\",file=3D\".*$file\",${f= ullnam > e},line=3D\"$line\",times=3D\"0\",original-location=3D\".*\"\}" > + set body > "${body}bkpt=3D\{number=3D\"$number\",type=3D\"breakpoint\",disp=3D\"$dis= p\",en > abled=3D\"y\",addr=3D\"$address\",func=3D\"$func\",file=3D\".*$file\",${f= ullnam > e},line=3D\"$line\",thread-groups=3D\\\[\"i1\"\\\],times=3D\"0\",original- > location=3D\".*\"\}" > set first 0 > }