From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4593 invoked by alias); 27 Nov 2012 19:56:27 -0000 Received: (qmail 4584 invoked by uid 22791); 27 Nov 2012 19:56:26 -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; Tue, 27 Nov 2012 19:56:17 +0000 Received: from eusaamw0707.eamcs.ericsson.se ([147.117.20.32]) by imr4.ericy.com (8.14.3/8.14.3/Debian-9.1ubuntu1) with ESMTP id qARK4LeQ017433; Tue, 27 Nov 2012 14:04:24 -0600 Received: from EUSAAHC002.ericsson.se (147.117.188.78) by eusaamw0707.eamcs.ericsson.se (147.117.20.32) with Microsoft SMTP Server (TLS) id 8.3.279.1; Tue, 27 Nov 2012 14:56:07 -0500 Received: from EUSAAMB103.ericsson.se ([147.117.188.120]) by EUSAAHC002.ericsson.se ([147.117.188.78]) with mapi id 14.02.0318.001; Tue, 27 Nov 2012 14:56:07 -0500 From: Marc Khouzam To: "'gdb-patches@sourceware.org'" , "'Tom Tromey'" CC: "'Yao Qi'" Subject: RE: [MI][patch v2] -break-list to specify "thread-group" Date: Tue, 27 Nov 2012 19:56: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 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-11/txt/msg00779.txt.bz2 > -----Original Message----- > From: gdb-patches-owner@sourceware.org=20 > [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" >=20 > Polite re-ping :) > (http://sourceware.org/ml/gdb-patches/2012-10/msg00006.html) >=20 > 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. Hi, I've updated the proposed patch to current head. It is a little smaller since there is no more mi2-*.exp tests. As a reminder, this patch add a "thread-groups" field to the=20 different breakpoint MI printouts. This information is important=20 for a frontend but is currently only available through CLI. Doc was already approved here: http://sourceware.org/ml/gdb-patches/2012-10/msg00007.html No regressions Thanks Marc 2012-11-27 Marc Khouzam * breakpoint.c (print_one_breakpoint_location): Add MI field 'thread-groups' when printing a breakpoint. (output_thread_groups): New function. 2012-11-27 Marc Khouzam * gdb.texinfo (GDB/MI Breakpoint Commands): Document new `thread-group' field when printing a breakpoint in MI. 2012-11-27 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. * 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.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); + 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 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) @@ -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", 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 @@ -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", 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 @@ -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", 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 @@ -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", 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 @@ -28376,14 +28379,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 =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 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). @@ -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", 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 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\\\[\{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-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\"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.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\{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.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\\\[\{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 } @@ -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\{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" \ @@ -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\{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.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 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\",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] @@ -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 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 @@ -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 }