From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11201 invoked by alias); 26 Sep 2012 10:05:10 -0000 Received: (qmail 11158 invoked by uid 22791); 26 Sep 2012 10:05:05 -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 imr3.ericy.com (HELO imr3.ericy.com) (198.24.6.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 26 Sep 2012 10:03:49 +0000 Received: from eusaamw0711.eamcs.ericsson.se ([147.117.20.178]) by imr3.ericy.com (8.13.8/8.13.8) with ESMTP id q8QA3j9j003096 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 26 Sep 2012 05:03:46 -0500 Received: from EUSAACMS0703.eamcs.ericsson.se ([169.254.2.164]) by eusaamw0711.eamcs.ericsson.se ([147.117.20.178]) with mapi; Wed, 26 Sep 2012 06:03:45 -0400 From: Marc Khouzam To: Yao Qi , "gdb-patches@sourceware.org" Date: Wed, 26 Sep 2012 10:05:00 -0000 Subject: RE: [MI][patch v2] -break-list to specify "thread-group" Message-ID: References: ,<505DB611.70706@codesourcery.com> In-Reply-To: <505DB611.70706@codesourcery.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-09/txt/msg00572.txt.bz2 > From: Yao Qi [yao@codesourcery.com] > Sent: September 22, 2012 8:58 AM > To: Marc Khouzam > Cc: gdb-patches@sourceware.org > Subject: Re: [MI][patch v2] -break-list to specify "thread-group" > > On 09/21/2012 10:46 PM, Marc Khouzam wrote: > > or (if the bp applies to multiple inferiors, which I didn't quite > > out how to officially trigger, so I hacked the code to make sure > > the output was done properly in that case): > > > > I don't know ether. I can't think of a case that multiple inferiors > share a single pspace. If this is impossible, then we could avoid using a list in this new MI field. It would also make it simpler for the frontend. However, I'm not going to try to change that unless someone confirms that it is safe. > > Can this patch go in as is? Or can I get some guidance > > about how to handle this out-of-date MI output? > > > > Maybe, we still need a test case for '-break-list' command here. I had forgotten to update the tests to take into consideration the new parameter. Those tests use -break-list in multiple places. The new patch below does update the testsuite. Only one new regression happens: FAIL: gdb.mi/mi-nsmoribund.exp: thread specific breakpoint at thread_functi= on This was a latent problem where the unexpected 'thread' field was being suc= ked into a '.*' pattern, which hid the error. Because the problem is in lib/mi-support.exp it is not as simple to fix. Since the problem is not ca= used by my patch, I suggest not to fix it right away. However, I'm hoping to fix it in another patch that I will post to deal with the 'thread' field in general which is currently output twice for breakpoin= ts. > > +#include "interps.h" > > It is useless to include "interps.h" here. Removed. > > +static void > > +output_thread_groups (struct ui_out *uiout, const char *field_name, co= nst char *xgroups) > > This line is too long. Fixed. > The id of inferiors is passed in XGROUPS, why don't we pass an array of > integer? In this way, it is easier, IMO, and we don't have to parse stri= ng. I had taken this solution from another part, but your suggestion simplifies things greatly. I also took the opportunity to create the list in reverse order, to actually yield a list of increasing inferior id. Also, as I was testing, I felt that this new field should always be present for MI (in CLI it only shows where there are multiple inferiors), so I did = that. Finally, one should note that this extra 'thread-group' field will now appear in multiple command outputs and notifications. Things such as '-break-list', '-break-insert', '-break-info', '=3Dbreakpoint-modified'. I believe that this all makes sense since a breakpoint is associated with an inferior and the frontend may want to know that. Here is the new patch. Thanks! Marc 2012-09-26 Marc Khouzam * breakpoint.c (print_one_breakpoint_location): Add MI field 'thread-group' to output of -break-list. (output_thread_groups): New function. 2012-09-24 Marc Khouzam * gdb.mi/mi-break.exp: Expect new 'thread-group' field. * gdb.mi/mi-simplerun.exp: Expect new 'thread-group' field. * gdb.mi/mi-watch.exp: Expect new 'thread-group' field. * gdb.mi/mi2-break.exp: Expect new 'thread-group' field. * gdb.mi/mi2-simplerun.exp: Expect new 'thread-group' field. * gdb.mi/mi2-watch.exp: Expect new 'thread-group' field. * lib/mi-support.exp: Expect new 'thread-group' field. ### 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.705 diff -u -r1.705 breakpoint.c --- gdb/breakpoint.c 25 Sep 2012 12:48:52 -0000 1.705 +++ gdb/breakpoint.c 26 Sep 2012 08:40:26 -0000 @@ -5778,6 +5778,54 @@ return bptypes[(int) type].description; } +/* For MI, output a field named 'thread-group' 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, + int *inf_num, + int len, + int mi_only) +{ + struct cleanup *back_to =3D make_cleanup_ui_out_list_begin_end (uiout, + field_name); + int first =3D 1; + int is_mi =3D ui_out_is_mi_like_p (uiout); + int index; + + /* For backward compatibility, don't display inferiors in CLI unless + there are several. Always display them for MI. */ + if (!is_mi && mi_only) + return; + + /* Go through list in reverse order to print inferiors ids in + increasing order. */ + for (index =3D len - 1; index >=3D 0; index--) + { + if (is_mi) + { + char mi_group[10]; + sprintf (mi_group, "i%d", inf_num[index]); + ui_out_field_string (uiout, NULL, mi_group); + } + else + { + if (first) + { + first =3D 0; + ui_out_text (uiout, " inf "); + } + else + ui_out_text (uiout, ", "); + + ui_out_text (uiout, plongest (inf_num[index])); + } + } + + do_cleanups (back_to); +} + /* Print B to gdb_stdout. */ static void @@ -5928,36 +5976,30 @@ break; } - - /* 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; + int inf_num[number_of_inferiors ()]; + int index =3D 0; + 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)); - } + inf_num[index++] =3D 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-group", inf_num, index, mi_only= ); } if (!part_of_multiple) 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 26 Sep 2012 08:40:26 -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-group=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\".*\"\}.*\\\= ]\}" \ "list of breakpoints" mi_gdb_test "777-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-group=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-group=3D\\\[\"i1\"\\\],times=3D\"0\",script=3D\{\"print 10\",\"contin= ue\"\},original-location=3D\".*\"\}.*\\\]\}" \ "breakpoint commands: check that commands are set" mi_gdb_test "-break-commands 7" \ 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 26 Sep 2012 08:40:26 -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-group=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 26 Sep 2012 08:40:26 -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-group=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-group=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-group=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 26 Sep 2012 08:40:26 -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-group=3D\\\[\"i1\"\\\],times=3D\"0\",original-location=3D\".*\"\}.*\\\= ]\}" \ "list of breakpoints" mi_gdb_test "777-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 26 Sep 2012 08:40:26 -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-group=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 26 Sep 2012 08:40:27 -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-group=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-group=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-group=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 26 Sep 2012 08:40:27 -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-group=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= up=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-group=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-group=3D\\\[\"i1\"\\\]= ,times=3D\"0\",original-location=3D\".*\"\}" set first 0 }