This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] fullname attribute for GDB/MI stack frames


> -----Original Message-----
> From: Bob Rossi [mailto:bob@brasko.net] 
> Sent: Thursday, March 31, 2005 9:40 PM
> To: Dennis Brueni
> Cc: gdb-patches@sources.redhat.com
> Subject: Re: [RFC] fullname attribute for GDB/MI stack frames
> 
> 
> > > I would look at mi-file.exp. Make sure the regex you use in the 
> > > testsuite for matching the fullname is fullname=\"/.*/${srcfile}\"
> > > 
> > > I know that I originally committed something different, 
> and it ended 
> > > up morphing into this, so that it could pass the testsuite in a 
> > > variety of different environments.
> > > 
> > > Bob Rossi
> > 
> > 
> > Apologies for the broken lines; I also noticed that, after 
> the fact :( 
> > Updated patch set follows.
> > 
> > I have fixed the path issues in gdb.texinfo and also added 
> ChangeLog 
> > entries to the patch set.
> > 
> > For the testsuite regex's, I was just trying to remain 
> consistent with 
> > the tests for "file=" and not break anything.
> >   # # NOTE: cagney/2003-02-03: Not yet.
> >   # mi_gdb_test "-exec-continue" \
> > ! #    
> {.*\*stopped,reason="breakpoint-hit",.*func="callee4".*file=".
> *basics.c",line="8"\}} \
> >   #    "-interpreter-exec console \"continue to callee4\""
> >   send_gdb "999-exec-continue\n"
> >   gdb_expect {
> > --- 100,106 ----
> >   
> >   # # NOTE: cagney/2003-02-03: Not yet.
> >   # mi_gdb_test "-exec-continue" \
> > ! #    
> {.*\*stopped,reason="breakpoint-hit",.*func="callee4".*file=".
> *basics.c",fullname=".*basics.c",line="8"\}} \
> >   #    "-interpreter-exec console \"continue to callee4\""
> >   send_gdb "999-exec-continue\n"
> >   gdb_expect {
> 
> Hi,
> 
> Again, for the fullname regex, I would recommend using the 
> same regex used in mi-file.exp. This would be like 
> fullname="/.*basics.c" This forces the regex to ensure that 
> the path is absolute, which the check you have does not.
> 
> Bob Rossi
>

As promised, here is an updated patch set with the regex
changes you suggested, plus checking for a little more directory
information with respect to the fullname path, to the extent
that we can be sure the test case still passes in all environments.



Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.7049
diff -c -p -b -r1.7049 ChangeLog
*** ChangeLog	31 Mar 2005 20:39:08 -0000	1.7049
--- ChangeLog	1 Apr 2005 16:06:42 -0000
***************
*** 1,3 ****
--- 1,8 ----
+ 2005-03-29  Dennis Brueni  <dennis@slickedit.com>
+ 
+ 	* stack.c (print_frame): In MI mode,
+ 	output fullname attribute with stack frame
+ 
  2005-03-31  Kevin Buettner  <kevinb@redhat.com>
  
  	* solib-frv.c (struct lm_info): Add new field ``lm_addr''.
Index: stack.c
===================================================================
RCS file: /cvs/src/src/gdb/stack.c,v
retrieving revision 1.130
diff -c -p -b -r1.130 stack.c
*** stack.c	28 Feb 2005 17:00:49 -0000	1.130
--- stack.c	1 Apr 2005 16:06:42 -0000
*************** print_frame (struct frame_info *fi, 
*** 679,684 ****
--- 679,692 ----
        ui_out_text (uiout, " at ");
        annotate_frame_source_file ();
        ui_out_field_string (uiout, "file", sal.symtab->filename);
+       if (ui_out_is_mi_like_p(uiout)) {
+          if (!sal.symtab->fullname) {
+             symtab_to_fullname(sal.symtab);
+          }
+          if (sal.symtab->fullname) {
+             ui_out_field_string (uiout, "fullname", sal.symtab->fullname);
+          }
+       }
        annotate_frame_source_file_end ();
        ui_out_text (uiout, ":");
        annotate_frame_source_line ();
Index: doc/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/doc/ChangeLog,v
retrieving revision 1.473
diff -c -p -b -r1.473 ChangeLog
*** doc/ChangeLog	10 Mar 2005 13:12:32 -0000	1.473
--- doc/ChangeLog	1 Apr 2005 16:06:43 -0000
***************
*** 1,3 ****
--- 1,7 ----
+ 2005-03-29  Dennis Brueni  <dennis@slickedit.com>
+ 
+ 	* gdb.texinfo: Update docs for MI stack frames with fullname attribute.
+ 
  2005-03-10  Bob Rossi  <bob@brasko.net>
  
  	* gdb.texinfo: Update copyright
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.233
diff -c -p -b -r1.233 gdb.texinfo
*** doc/gdb.texinfo	10 Mar 2005 13:12:33 -0000	1.233
--- doc/gdb.texinfo	1 Apr 2005 16:06:47 -0000
*************** Setting a watchpoint on a variable in th
*** 15894,15900 ****
  ^running
  ^done,reason="watchpoint-trigger",wpt=@{number="2",exp="x"@},
  value=@{old="-268439212",new="55"@},
! frame=@{func="main",args=[],file="recursive2.c",line="5"@}
  (@value{GDBP})
  @end smallexample
  
--- 15894,15901 ----
  ^running
  ^done,reason="watchpoint-trigger",wpt=@{number="2",exp="x"@},
  value=@{old="-268439212",new="55"@},
! frame=@{func="main",args=[],file="recursive2.c",
! fullname="/home/foo/bar/devo/myproject/recursive2.c",line="5"@}
  (@value{GDBP})
  @end smallexample
  
*************** for the watchpoint going out of scope.
*** 15912,15925 ****
  ^done,reason="watchpoint-trigger",
  wpt=@{number="5",exp="C"@},value=@{old="-276895068",new="3"@},
  frame=@{func="callee4",args=[],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="13"@}
  (@value{GDBP})
  -exec-continue
  ^running
  ^done,reason="watchpoint-scope",wpnum="5",
  frame=@{func="callee3",args=[@{name="strarg",
  value="0x11940 \"A string argument.\""@}],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
  (@value{GDBP})
  @end smallexample
  
--- 15913,15928 ----
  ^done,reason="watchpoint-trigger",
  wpt=@{number="5",exp="C"@},value=@{old="-276895068",new="3"@},
  frame=@{func="callee4",args=[],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="13"@}
  (@value{GDBP})
  -exec-continue
  ^running
  ^done,reason="watchpoint-scope",wpnum="5",
  frame=@{func="callee3",args=[@{name="strarg",
  value="0x11940 \"A string argument.\""@}],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
  (@value{GDBP})
  @end smallexample
  
*************** enabled="y",addr="",what="C",times="0"@}
*** 15951,15957 ****
  ^done,reason="watchpoint-trigger",wpt=@{number="2",exp="C"@},
  value=@{old="-276895068",new="3"@},
  frame=@{func="callee4",args=[],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="13"@}
  (@value{GDBP})
  -break-list
  ^done,BreakpointTable=@{nr_rows="2",nr_cols="6",
--- 15954,15961 ----
  ^done,reason="watchpoint-trigger",wpt=@{number="2",exp="C"@},
  value=@{old="-276895068",new="3"@},
  frame=@{func="callee4",args=[],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="13"@}
  (@value{GDBP})
  -break-list
  ^done,BreakpointTable=@{nr_rows="2",nr_cols="6",
*************** enabled="y",addr="",what="C",times="-5"@
*** 15972,15978 ****
  ^done,reason="watchpoint-scope",wpnum="2",
  frame=@{func="callee3",args=[@{name="strarg",
  value="0x11940 \"A string argument.\""@}],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
  (@value{GDBP})
  -break-list
  ^done,BreakpointTable=@{nr_rows="1",nr_cols="6",
--- 15976,15983 ----
  ^done,reason="watchpoint-scope",wpnum="2",
  frame=@{func="callee3",args=[@{name="strarg",
  value="0x11940 \"A string argument.\""@}],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
  (@value{GDBP})
  -break-list
  ^done,BreakpointTable=@{nr_rows="1",nr_cols="6",
*************** On a PPC MBX board:
*** 16207,16213 ****
  
  (@value{GDBP})
  *stopped,reason="breakpoint-hit",bkptno="1",frame=@{func="main",
! args=[],file="try.c",line="5"@}
  (@value{GDBP})
  -data-list-changed-registers
  ^done,changed-registers=["0","1","2","4","5","6","7","8","9",
--- 16212,16218 ----
  
  (@value{GDBP})
  *stopped,reason="breakpoint-hit",bkptno="1",frame=@{func="main",
! args=[],file="try.c",fullname="/home/foo/bar/devo/myproject/try.c",line="5"@}
  (@value{GDBP})
  -data-list-changed-registers
  ^done,changed-registers=["0","1","2","4","5","6","7","8","9",
*************** The corresponding @value{GDBN} correspon
*** 16814,16820 ****
  (@value{GDBP})
  @@Hello world
  *stopped,reason="breakpoint-hit",bkptno="2",frame=@{func="foo",args=[],
! file="hello.c",line="13"@}
  (@value{GDBP})
  @end smallexample
  
--- 16819,16825 ----
  (@value{GDBP})
  @@Hello world
  *stopped,reason="breakpoint-hit",bkptno="2",frame=@{func="foo",args=[],
! file="hello.c",fullname="/home/foo/bar/devo/myproject/hello.c",line="13"@}
  (@value{GDBP})
  @end smallexample
  
*************** Function returning @code{void}.
*** 16846,16852 ****
  (@value{GDBP})
  @@hello from foo
  *stopped,reason="function-finished",frame=@{func="main",args=[],
! file="hello.c",line="7"@}
  (@value{GDBP})
  @end smallexample
  
--- 16851,16857 ----
  (@value{GDBP})
  @@hello from foo
  *stopped,reason="function-finished",frame=@{func="main",args=[],
! file="hello.c",fullname="/home/foo/bar/devo/myproject/hello.c",line="7"@}
  (@value{GDBP})
  @end smallexample
  
*************** value itself.
*** 16860,16866 ****
  (@value{GDBP})
  *stopped,reason="function-finished",frame=@{addr="0x000107b0",func="foo",
  args=[@{name="a",value="1"],@{name="b",value="9"@}@},
! file="recursive2.c",line="14"@},
  gdb-result-var="$1",return-value="0"
  (@value{GDBP})
  @end smallexample
--- 16865,16871 ----
  (@value{GDBP})
  *stopped,reason="function-finished",frame=@{addr="0x000107b0",func="foo",
  args=[@{name="a",value="1"],@{name="b",value="9"@}@},
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  gdb-result-var="$1",return-value="0"
  (@value{GDBP})
  @end smallexample
*************** The corresponding @value{GDBN} command i
*** 16897,16903 ****
  222^done
  (@value{GDBP})
  111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
! frame=@{addr="0x00010140",func="foo",args=[],file="try.c",line="13"@}
  (@value{GDBP})
  
  (@value{GDBP})
--- 16902,16909 ----
  222^done
  (@value{GDBP})
  111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
! frame=@{addr="0x00010140",func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/devo/myproject/try.c",line="13"@}
  (@value{GDBP})
  
  (@value{GDBP})
*************** file="../../../devo/gdb/testsuite/gdb.mi
*** 16995,17001 ****
  (@value{GDBP})
  000*stopped,reason="breakpoint-hit",bkptno="1",
  frame=@{func="callee4",args=[],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8"@}
  (@value{GDBP})
  205-break-delete
  205^done
--- 17001,17008 ----
  (@value{GDBP})
  000*stopped,reason="breakpoint-hit",bkptno="1",
  frame=@{func="callee4",args=[],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="8"@}
  (@value{GDBP})
  205-break-delete
  205^done
*************** file="../../../devo/gdb/testsuite/gdb.mi
*** 17004,17010 ****
  111^done,frame=@{level="0",func="callee3",
  args=[@{name="strarg",
  value="0x11940 \"A string argument.\""@}],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
  (@value{GDBP})
  @end smallexample
  
--- 17011,17018 ----
  111^done,frame=@{level="0",func="callee3",
  args=[@{name="strarg",
  value="0x11940 \"A string argument.\""@}],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
  (@value{GDBP})
  @end smallexample
  
*************** The corresponding @value{GDBN} command i
*** 17037,17043 ****
  ^running
  (@value{GDBP})
  *stopped,reason="breakpoint-hit",bkptno="1",
! frame=@{func="main",args=[],file="recursive2.c",line="4"@}
  (@value{GDBP})
  @end smallexample
  
--- 17045,17052 ----
  ^running
  (@value{GDBP})
  *stopped,reason="breakpoint-hit",bkptno="1",
! frame=@{func="main",args=[],file="recursive2.c",
! fullname="/home/foo/bar/devo/myproject/recursive2.c",line="4"@}
  (@value{GDBP})
  @end smallexample
  
*************** Stepping into a function:
*** 17090,17096 ****
  (@value{GDBP})
  *stopped,reason="end-stepping-range",
  frame=@{func="foo",args=[@{name="a",value="10"@},
! @{name="b",value="0"@}],file="recursive2.c",line="11"@}
  (@value{GDBP})
  @end smallexample
  
--- 17099,17106 ----
  (@value{GDBP})
  *stopped,reason="end-stepping-range",
  frame=@{func="foo",args=[@{name="a",value="10"@},
! @{name="b",value="0"@}],file="recursive2.c",
! fullname="/home/foo/bar/devo/myproject/recursive2.c",line="11"@}
  (@value{GDBP})
  @end smallexample
  
*************** The corresponding @value{GDBN} command i
*** 17133,17146 ****
  
  (@value{GDBP})
  *stopped,reason="end-stepping-range",
! frame=@{func="foo",args=[],file="try.c",line="10"@}
  (@value{GDBP})
  -exec-step-instruction
  ^running
  
  (@value{GDBP})
  *stopped,reason="end-stepping-range",
! frame=@{addr="0x000100f4",func="foo",args=[],file="try.c",line="10"@}
  (@value{GDBP})
  @end smallexample
  
--- 17143,17158 ----
  
  (@value{GDBP})
  *stopped,reason="end-stepping-range",
! frame=@{func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/devo/myproject/try.c",line="10"@}
  (@value{GDBP})
  -exec-step-instruction
  ^running
  
  (@value{GDBP})
  *stopped,reason="end-stepping-range",
! frame=@{addr="0x000100f4",func="foo",args=[],file="try.c",
! fullname="/home/foo/bar/devo/myproject/try.c",line="10"@}
  (@value{GDBP})
  @end smallexample
  
*************** The corresponding @value{GDBN} command i
*** 17172,17178 ****
  (@value{GDBP})
  x = 55
  *stopped,reason="location-reached",frame=@{func="main",args=[],
! file="recursive2.c",line="6"@}
  (@value{GDBP})
  @end smallexample
  
--- 17184,17190 ----
  (@value{GDBP})
  x = 55
  *stopped,reason="location-reached",frame=@{func="main",args=[],
! file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="6"@}
  (@value{GDBP})
  @end smallexample
  
*************** functionality of @samp{-stack-list-argum
*** 17672,17686 ****
  ^done,
  stack=[
  frame=@{level="0",addr="0x00010734",func="callee4",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8"@},
  frame=@{level="1",addr="0x0001076c",func="callee3",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="17"@},
  frame=@{level="2",addr="0x0001078c",func="callee2",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="22"@},
  frame=@{level="3",addr="0x000107b4",func="callee1",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="27"@},
  frame=@{level="4",addr="0x000107e0",func="main",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="32"@}]
  (@value{GDBP})
  -stack-list-arguments 0
  ^done,
--- 17684,17703 ----
  ^done,
  stack=[
  frame=@{level="0",addr="0x00010734",func="callee4",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="8"@},
  frame=@{level="1",addr="0x0001076c",func="callee3",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="17"@},
  frame=@{level="2",addr="0x0001078c",func="callee2",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="22"@},
  frame=@{level="3",addr="0x000107b4",func="callee1",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="27"@},
  frame=@{level="4",addr="0x000107e0",func="main",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="32"@}]
  (@value{GDBP})
  -stack-list-arguments 0
  ^done,
*************** Full stack backtrace:
*** 17762,17790 ****
  -stack-list-frames
  ^done,stack=
  [frame=@{level="0",addr="0x0001076c",func="foo",
!   file="recursive2.c",line="11"@},
  frame=@{level="1",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="2",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="4",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="5",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="6",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="7",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="8",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="9",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="10",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="11",addr="0x00010738",func="main",
!   file="recursive2.c",line="4"@}]
  (@value{GDBP})
  @end smallexample
  
--- 17779,17807 ----
  -stack-list-frames
  ^done,stack=
  [frame=@{level="0",addr="0x0001076c",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="11"@},
  frame=@{level="1",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="2",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="4",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="5",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="6",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="7",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="8",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="9",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="10",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="11",addr="0x00010738",func="main",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="4"@}]
  (@value{GDBP})
  @end smallexample
  
*************** Show frames between @var{low_frame} and 
*** 17795,17805 ****
  -stack-list-frames 3 5
  ^done,stack=
  [frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="4",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@},
  frame=@{level="5",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@}]
  (@value{GDBP})
  @end smallexample
  
--- 17812,17822 ----
  -stack-list-frames 3 5
  ^done,stack=
  [frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="4",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@},
  frame=@{level="5",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@}]
  (@value{GDBP})
  @end smallexample
  
*************** Show a single frame:
*** 17810,17816 ****
  -stack-list-frames 3 3
  ^done,stack=
  [frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",line="14"@}]
  (@value{GDBP})
  @end smallexample
  
--- 17827,17833 ----
  -stack-list-frames 3 3
  ^done,stack=
  [frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/home/foo/bar/devo/myproject/recursive2.c",line="14"@}]
  (@value{GDBP})
  @end smallexample
  
Index: testsuite/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/ChangeLog,v
retrieving revision 1.1096
diff -c -p -b -r1.1096 ChangeLog
*** testsuite/ChangeLog	29 Mar 2005 20:37:18 -0000	1.1096
--- testsuite/ChangeLog	1 Apr 2005 16:06:50 -0000
***************
*** 1,3 ****
--- 1,22 ----
+ 2005-03-29  Dennis Brueni  <dennis@slickedit.com>
+ 
+ 	* gdb.mi/mi-cli.exp: Add tests for fullname in stack frame.
+ 	* gdb.mi/mi-return.exp: Likewise.
+ 	* gdb.mi/mi-stack.exp: Likewise.
+ 	* gdb.mi/mi-stepi.exp: Likewise.
+ 	* gdb.mi/mi-syn-frame.exp: Likewise.
+ 	* gdb.mi/mi-until.exp: Likewise.
+ 	* gdb.mi/mi-var-display.exp: Likewise.
+ 	* gdb.mi/mi-watch.exp: Likewise.
+ 	* gdb.mi/mi2-cli.exp: Likewise.
+ 	* gdb.mi/mi2-return.exp: Likewise.
+ 	* gdb.mi/mi2-stack.exp: Likewise.
+ 	* gdb.mi/mi2-stepi.exp: Likewise.
+ 	* gdb.mi/mi2-syn-frame.exp: Likewise.
+ 	* gdb.mi/mi2-until.exp: Likewise.
+ 	* gdb.mi/mi2-var-display.exp: Likewise.
+ 	* lib/mi-support.exp: Likewise.
+ 
  2005-03-29  Daniel Jacobowitz  <dan@codesourcery.com>
  
  	* gdb.base/ptr-typedef.exp, gdb.base/ptr-typedef.c: New files.
Index: testsuite/gdb.mi/mi-cli.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-cli.exp,v
retrieving revision 1.3
diff -c -p -b -r1.3 mi-cli.exp
*** testsuite/gdb.mi/mi-cli.exp	15 Aug 2004 10:15:58 -0000	1.3
--- testsuite/gdb.mi/mi-cli.exp	1 Apr 2005 16:06:51 -0000
*************** mi_gdb_test "-interpreter-exec console \
*** 100,106 ****
  
  # # NOTE: cagney/2003-02-03: Not yet.
  # mi_gdb_test "-exec-continue" \
! #    {.*\*stopped,reason="breakpoint-hit",.*func="callee4".*file=".*basics.c",line="8"\}} \
  #    "-interpreter-exec console \"continue to callee4\""
  send_gdb "999-exec-continue\n"
  gdb_expect {
--- 100,106 ----
  
  # # NOTE: cagney/2003-02-03: Not yet.
  # mi_gdb_test "-exec-continue" \
! #    {.*\*stopped,reason="breakpoint-hit",.*func="callee4".*file=".*basics.c",fullname="/.*/gdb/testsuite/gdb.mi/basics.c",line="8"\}} \
  #    "-interpreter-exec console \"continue to callee4\""
  send_gdb "999-exec-continue\n"
  gdb_expect {
*************** mi_gdb_test "600-break-insert -t basics.
*** 161,171 ****
  	"-break-insert -t basics.c:\$line_main_hello"
  
  # mi_gdb_test "-exec-continue" \
! #   {.*\*stopped.*,file=".*basics.c",line="$line_main_hello"\}} \
  #   "-exec-continue to line \$line_main_hello"
  send_gdb "700-exec-continue\n"
  gdb_expect {
!     -re "700\\^running\[\r\n\]+$mi_gdb_prompt.*\\*stopped.*,file=.*basics.c.,line=.$line_main_hello.*$mi_gdb_prompt$" {
  	pass "-exec-continue to line \$line_main_hello"
      }
      timeout {
--- 161,171 ----
  	"-break-insert -t basics.c:\$line_main_hello"
  
  # mi_gdb_test "-exec-continue" \
! #   {.*\*stopped.*,file=".*basics.c",fullname="/.*/gdb/testsuite/gdb.mi/basics.c",line="$line_main_hello"\}} \
  #   "-exec-continue to line \$line_main_hello"
  send_gdb "700-exec-continue\n"
  gdb_expect {
!     -re "700\\^running\[\r\n\]+$mi_gdb_prompt.*\\*stopped.*,file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=.$line_main_hello.*$mi_gdb_prompt$" {
  	pass "-exec-continue to line \$line_main_hello"
      }
      timeout {
*************** gdb_expect {
*** 175,185 ****
  
  # NOTE: cagney/2003-02-03: Not yet.
  # mi_gdb_test "-exec-next" \
! #   {.*\*stopped,reason="end-stepping-range",.*,file=".*basics.c",line="$line_main_return"\}} \
  #   "-exec-next to line \$line_main_return"
  send_gdb "800-exec-next\n"
  gdb_expect {
!     -re "800\\^running\[\r\n\]+$mi_gdb_prompt.*\\*stopped,reason=.end-stepping-range.*,file=.*basics.c.,line=.$line_main_return.*$mi_gdb_prompt$" {
  	pass "-exec-next to line \$line_main_return"
      }
      timeout {
--- 175,185 ----
  
  # NOTE: cagney/2003-02-03: Not yet.
  # mi_gdb_test "-exec-next" \
! #   {.*\*stopped,reason="end-stepping-range",.*,file=".*basics.c",fullname="/.*/gdb/testsuite/gdb.mi/basics.c",line="$line_main_return"\}} \
  #   "-exec-next to line \$line_main_return"
  send_gdb "800-exec-next\n"
  gdb_expect {
!     -re "800\\^running\[\r\n\]+$mi_gdb_prompt.*\\*stopped,reason=.end-stepping-range.*,file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=.$line_main_return.*$mi_gdb_prompt$" {
  	pass "-exec-next to line \$line_main_return"
      }
      timeout {
Index: testsuite/gdb.mi/mi-return.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-return.exp,v
retrieving revision 1.11
diff -c -p -b -r1.11 mi-return.exp
*** testsuite/gdb.mi/mi-return.exp	15 Aug 2004 10:15:58 -0000	1.11
--- testsuite/gdb.mi/mi-return.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_return_simple {} {
*** 53,59 ****
  
      send_gdb "111-exec-return\n"
      gdb_expect {
! 	-re "111\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",line=\"$line_callee3_close_brace\"\}\r\n$mi_gdb_prompt$" {pass "return from callee4 now"}
  	-re ".*\r\n$mi_gdb_prompt$" { fail "return from callee4 now" }
  	timeout { fail "return from callee4 now (timeout)"
  	}
--- 53,59 ----
  
      send_gdb "111-exec-return\n"
      gdb_expect {
! 	-re "111\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"$line_callee3_close_brace\"\}\r\n$mi_gdb_prompt$" {pass "return from callee4 now"}
  	-re ".*\r\n$mi_gdb_prompt$" { fail "return from callee4 now" }
  	timeout { fail "return from callee4 now (timeout)"
  	}
Index: testsuite/gdb.mi/mi-stack.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-stack.exp,v
retrieving revision 1.14
diff -c -p -b -r1.14 mi-stack.exp
*** testsuite/gdb.mi/mi-stack.exp	15 Aug 2004 10:15:58 -0000	1.14
--- testsuite/gdb.mi/mi-stack.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_stack_frame_listing {} {
*** 57,63 ****
      # -stack-list-frames 1 3
  
      mi_gdb_test "231-stack-list-frames" \
! 	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"$line_callee4_body\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
                  "stack frame listing"
      mi_gdb_test "232-stack-list-frames 1 1" \
  	    "232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
--- 57,63 ----
      # -stack-list-frames 1 3
  
      mi_gdb_test "231-stack-list-frames" \
! 	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"$line_callee4_body\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
                  "stack frame listing"
      mi_gdb_test "232-stack-list-frames 1 1" \
  	    "232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
*************** set line_callee4_return_0 [gdb_get_line_
*** 161,167 ****
  # step until A, B, C, have some reasonable values.
  send_gdb "-exec-next 3\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
  	pass "next's in callee4"
      }
      timeout { fail "next in callee4 (timeout)" }
--- 161,167 ----
  # step until A, B, C, have some reasonable values.
  send_gdb "-exec-next 3\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
  	pass "next's in callee4"
      }
      timeout { fail "next in callee4 (timeout)" }
Index: testsuite/gdb.mi/mi-stepi.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-stepi.exp,v
retrieving revision 1.10
diff -c -p -b -r1.10 mi-stepi.exp
*** testsuite/gdb.mi/mi-stepi.exp	15 Aug 2004 10:15:58 -0000	1.10
--- testsuite/gdb.mi/mi-stepi.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_stepi_nexti {} {
*** 53,59 ****
  
      send_gdb "111-exec-step-instruction\n"
      gdb_expect {
! 	-re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "step-instruction at main"
--- 53,59 ----
  
      send_gdb "111-exec-step-instruction\n"
      gdb_expect {
! 	-re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "step-instruction at main"
*************** proc test_stepi_nexti {} {
*** 67,73 ****
      }
      send_gdb "222-exec-next-instruction\n"
      gdb_expect {
! 	-re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "next-instruction at main"
--- 67,73 ----
      }
      send_gdb "222-exec-next-instruction\n"
      gdb_expect {
! 	-re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "next-instruction at main"
*************** proc test_stepi_nexti {} {
*** 81,87 ****
      }
      send_gdb "333-exec-next-instruction\n"
      gdb_expect {
! 	-re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "next-instruction at main"
--- 81,87 ----
      }
      send_gdb "333-exec-next-instruction\n"
      gdb_expect {
! 	-re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "next-instruction at main"
Index: testsuite/gdb.mi/mi-syn-frame.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-syn-frame.exp,v
retrieving revision 1.2
diff -c -p -b -r1.2 mi-syn-frame.exp
*** testsuite/gdb.mi/mi-syn-frame.exp	24 Feb 2003 20:15:47 -0000	1.2
--- testsuite/gdb.mi/mi-syn-frame.exp	1 Apr 2005 16:06:51 -0000
*************** gdb_expect {
*** 69,75 ****
    }
  }
  
! mi_gdb_test "404-stack-list-frames 0 0" "404\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  
  #
--- 69,75 ----
    }
  }
  
! mi_gdb_test "404-stack-list-frames 0 0" "404\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  
  #
*************** mi_gdb_test "406-data-evaluate-expressio
*** 83,89 ****
  # We should have both a signal handler and a call dummy frame
  # in this next output.
  
! mi_gdb_test "407-stack-list-frames" "407\\^done,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"subroutine\",args=\\\[\{name=\"in\",value=\"$decimal\"\}\\\],file=\".*mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"subroutine\",file=\".*mi-syn-frame.c\",line=\"$decimal\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"handler\",file=\".*mi-syn-frame.c\",line=\"$decimal\"\},frame=\{level=\"2\",addr=\"$hex\",func=\"<signal handler called>\"\},.*frame=\{level=\"$decimal\",addr=\"$hex\",func=\"have_a_very_merry_interrupt\",file=\".*mi-syn-frame.c\",line=\"$decimal\"\},frame=\{level=\"$decimal\",addr=\"$hex\",func=\"<function called from gdb>\"\},frame=\{level=\"$decimal\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  
  send_gdb "408-exec-continue\n"
--- 83,89 ----
  # We should have both a signal handler and a call dummy frame
  # in this next output.
  
! mi_gdb_test "407-stack-list-frames" "407\\^done,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"subroutine\",args=\\\[\{name=\"in\",value=\"$decimal\"\}\\\],file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"subroutine\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"handler\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\},frame=\{level=\"2\",addr=\"$hex\",func=\"<signal handler called>\"\},.*frame=\{level=\"$decimal\",addr=\"$hex\",func=\"have_a_very_merry_interrupt\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\},frame=\{level=\"$decimal\",addr=\"$hex\",func=\"<function called from gdb>\"\},frame=\{level=\"$decimal\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  
  send_gdb "408-exec-continue\n"
*************** gdb_expect {
*** 96,102 ****
    }
  }
  
! mi_gdb_test "409-stack-list-frames 0 0" "409\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  #
  # Call bar() by hand, which should get an exception while running.
--- 96,102 ----
    }
  }
  
! mi_gdb_test "409-stack-list-frames 0 0" "409\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  #
  # Call bar() by hand, which should get an exception while running.
*************** mi_gdb_test "409-stack-list-frames 0 0" 
*** 104,110 ****
  
  mi_gdb_test "410-data-evaluate-expression bar()" "hi in bar\[\r\n\]+\\&\"The program being debugged was signaled while in a function called from GDB.\\\\n\"\[\r\n\]+\\&\"GDB remains in the frame where the signal was received.\\\\n\"\[\r\n\]+\\&\"To change this behavior use \\\\\"set unwindonsignal on\\\\\"\\\\n\"\[\r\n\]+\\&\"Evaluation of the expression containing the function \\(bar\\) will be abandoned.\\\\n\"\[\r\n\]+410\\^error,msg=\"The program being debugged was signaled while in a function called from GDB.\\\\nGDB remains in the frame where the signal was received.\\\\nTo change this behavior use \\\\\"set unwindonsignal on\\\\\"\\\\nEvaluation of the expression containing the function \\(bar\\) will be abandoned.\"" "call inferior function which raises exception"
  
! mi_gdb_test "411-stack-list-frames" "411\\^done,reason=\"signal-received\",signal-name=\".*\",signal-meaning=\".*\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"bar\",args=\\\[\\\],file=\".*mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"bar\",file=\".*mi-syn-frame.c\",line=\"$decimal\"},frame=\{level=\"1\",addr=\"$hex\",func=\"<function called from gdb>\"\},frame=\{level=\"2\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",line=\"$decimal\"}.*\\\]" "backtrace from inferior function at exception"
  
  mi_gdb_exit
  
--- 104,110 ----
  
  mi_gdb_test "410-data-evaluate-expression bar()" "hi in bar\[\r\n\]+\\&\"The program being debugged was signaled while in a function called from GDB.\\\\n\"\[\r\n\]+\\&\"GDB remains in the frame where the signal was received.\\\\n\"\[\r\n\]+\\&\"To change this behavior use \\\\\"set unwindonsignal on\\\\\"\\\\n\"\[\r\n\]+\\&\"Evaluation of the expression containing the function \\(bar\\) will be abandoned.\\\\n\"\[\r\n\]+410\\^error,msg=\"The program being debugged was signaled while in a function called from GDB.\\\\nGDB remains in the frame where the signal was received.\\\\nTo change this behavior use \\\\\"set unwindonsignal on\\\\\"\\\\nEvaluation of the expression containing the function \\(bar\\) will be abandoned.\"" "call inferior function which raises exception"
  
! mi_gdb_test "411-stack-list-frames" "411\\^done,reason=\"signal-received\",signal-name=\".*\",signal-meaning=\".*\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"bar\",args=\\\[\\\],file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"bar\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"},frame=\{level=\"1\",addr=\"$hex\",func=\"<function called from gdb>\"\},frame=\{level=\"2\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"}.*\\\]" "backtrace from inferior function at exception"
  
  mi_gdb_exit
  
Index: testsuite/gdb.mi/mi-until.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-until.exp,v
retrieving revision 1.8
diff -c -p -b -r1.8 mi-until.exp
*** testsuite/gdb.mi/mi-until.exp	9 Aug 2004 16:32:44 -0000	1.8
--- testsuite/gdb.mi/mi-until.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_until {} {
*** 78,84 ****
  
      send_gdb "111-exec-until\n"
      gdb_expect {
! 	-re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"12\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after while loop"
  	}
  	timeout {
--- 78,84 ----
  
      send_gdb "111-exec-until\n"
      gdb_expect {
! 	-re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/until.c\",line=\"12\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after while loop"
  	}
  	timeout {
*************** proc test_until {} {
*** 88,94 ****
  
      send_gdb "222-exec-until 15\n"
      gdb_expect {
! 	-re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"15\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until line number"
  	}
  	timeout {
--- 88,94 ----
  
      send_gdb "222-exec-until 15\n"
      gdb_expect {
! 	-re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/until.c\",line=\"15\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until line number"
  	}
  	timeout {
*************** proc test_until {} {
*** 98,104 ****
  
      send_gdb "333-exec-until until.c:17\n"
      gdb_expect {
! 	-re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"17\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until line number:file"
  	}
  	timeout {
--- 98,104 ----
  
      send_gdb "333-exec-until until.c:17\n"
      gdb_expect {
! 	-re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/until.c\",line=\"17\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until line number:file"
  	}
  	timeout {
*************** proc test_until {} {
*** 110,116 ****
  
      send_gdb "444-exec-until until.c:25\n"
      gdb_expect {
! 	-re "444\\^running\r\n${mi_gdb_prompt}444\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*until.c\",line=\"24\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after current function"
  	}
  	timeout {
--- 110,116 ----
  
      send_gdb "444-exec-until until.c:25\n"
      gdb_expect {
! 	-re "444\\^running\r\n${mi_gdb_prompt}444\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*until.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/until.c\",line=\"24\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after current function"
  	}
  	timeout {
Index: testsuite/gdb.mi/mi-var-display.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-var-display.exp,v
retrieving revision 1.12
diff -c -p -b -r1.12 mi-var-display.exp
*** testsuite/gdb.mi/mi-var-display.exp	17 Aug 2004 09:38:29 -0000	1.12
--- testsuite/gdb.mi/mi-var-display.exp	1 Apr 2005 16:06:51 -0000
*************** mi_gdb_test "200-break-insert $line_dct_
*** 48,54 ****
  mi_run_cmd
  # The running part has been checked already by mi_run_cmd
  gdb_expect {
!     -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_children_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"$line_dct_close_brace\"\}\r\n$mi_gdb_prompt$" {
  	pass "run to do_children_tests"
      }
      -re ".*$mi_gdb_prompt$" {fail "run to do_children_tests (2)"}
--- 48,54 ----
  mi_run_cmd
  # The running part has been checked already by mi_run_cmd
  gdb_expect {
!     -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_children_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/var-cmd.c\",line=\"$line_dct_close_brace\"\}\r\n$mi_gdb_prompt$" {
  	pass "run to do_children_tests"
      }
      -re ".*$mi_gdb_prompt$" {fail "run to do_children_tests (2)"}
*************** mi_gdb_test "200-break-insert do_special
*** 332,338 ****
  
  send_gdb "-exec-continue\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_special_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"$line_dst_a_1\"\}\r\n$mi_gdb_prompt$" {
  	pass "continue to do_special_tests"
      }
      timeout {
--- 332,338 ----
  
  send_gdb "-exec-continue\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_special_tests\",args=\\\[\\\],file=\".*var-cmd.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/var-cmd.c\",line=\"$line_dst_a_1\"\}\r\n$mi_gdb_prompt$" {
  	pass "continue to do_special_tests"
      }
      timeout {
*************** mi_gdb_test "200-break-insert incr_a" \
*** 592,601 ****
  	"break-insert operation"
  send_gdb "-exec-continue\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"2\.*\"\}\\\],file=\".*var-cmd.c\",line=\"$line_incr_a_b_a\"\}\r\n$mi_gdb_prompt$" {
  	pass "continue to incr_a"
      }
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"\.*\"\}\\\],file=\".*var-cmd.c\",line=\"([expr $line_incr_a_b_a - 2]|[expr $line_incr_a_b_a - 1]|$line_incr_a_b_a)\"\}\r\n$mi_gdb_prompt$" {
  	fail "continue to incr_a (compiler debug info incorrect)"
      }
      -re "\\^running\r\n${mi_gdb_prompt}.*\r\n$mi_gdb_prompt$" {
--- 592,601 ----
  	"break-insert operation"
  send_gdb "-exec-continue\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"2\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/var-cmd.c\",line=\"$line_incr_a_b_a\"\}\r\n$mi_gdb_prompt$" {
  	pass "continue to incr_a"
      }
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/var-cmd.c\",line=\"([expr $line_incr_a_b_a - 2]|[expr $line_incr_a_b_a - 1]|$line_incr_a_b_a)\"\}\r\n$mi_gdb_prompt$" {
  	fail "continue to incr_a (compiler debug info incorrect)"
      }
      -re "\\^running\r\n${mi_gdb_prompt}.*\r\n$mi_gdb_prompt$" {
Index: testsuite/gdb.mi/mi-watch.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-watch.exp,v
retrieving revision 1.11
diff -c -p -b -r1.11 mi-watch.exp
*** testsuite/gdb.mi/mi-watch.exp	15 Aug 2004 10:15:58 -0000	1.11
--- testsuite/gdb.mi/mi-watch.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_watchpoint_triggering {} {
*** 139,145 ****
      gdb_expect {
        -re "222\\^running\r\n$mi_gdb_prompt" {
          gdb_expect {
! 	    -re "222\\*stopped,reason=\"watchpoint-trigger\",wpt=\{number=\"2\",exp=\"C\"\},value=\{old=\".*\",new=\"3\"\},thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
              pass "watchpoint trigger"
            }
            -re ".*$mi_gdb_prompt$" {fail "watchpoint trigger (2)"}
--- 139,145 ----
      gdb_expect {
        -re "222\\^running\r\n$mi_gdb_prompt" {
          gdb_expect {
! 	    -re "222\\*stopped,reason=\"watchpoint-trigger\",wpt=\{number=\"2\",exp=\"C\"\},value=\{old=\".*\",new=\"3\"\},thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
              pass "watchpoint trigger"
            }
            -re ".*$mi_gdb_prompt$" {fail "watchpoint trigger (2)"}
*************** proc test_watchpoint_triggering {} {
*** 154,160 ****
      gdb_expect {
        -re "223\\^running\r\n$mi_gdb_prompt" {
          gdb_expect {
! 	    -re "\[\r\n\]*223\\*stopped,reason=\"watchpoint-scope\",wpnum=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",line=\"$line_callee3_close_brace\"\}\r\n$mi_gdb_prompt$" {
              pass "wp out of scope"
            }
            -re ".*$mi_gdb_prompt$" {fail "wp out of scope (2)"}
--- 154,160 ----
      gdb_expect {
        -re "223\\^running\r\n$mi_gdb_prompt" {
          gdb_expect {
! 	    -re "\[\r\n\]*223\\*stopped,reason=\"watchpoint-scope\",wpnum=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"$line_callee3_close_brace\"\}\r\n$mi_gdb_prompt$" {
              pass "wp out of scope"
            }
            -re ".*$mi_gdb_prompt$" {fail "wp out of scope (2)"}
Index: testsuite/gdb.mi/mi2-cli.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-cli.exp,v
retrieving revision 1.2
diff -c -p -b -r1.2 mi2-cli.exp
*** testsuite/gdb.mi/mi2-cli.exp	15 Aug 2004 10:15:58 -0000	1.2
--- testsuite/gdb.mi/mi2-cli.exp	1 Apr 2005 16:06:51 -0000
*************** mi_gdb_test "600-break-insert -t basics.
*** 161,171 ****
  	"-break-insert -t basics.c:\$line_main_hello"
  
  # mi_gdb_test "-exec-continue" \
! #   {.*\*stopped.*,file=".*basics.c",line="$line_main_hello"\}} \
  #   "-exec-continue to line \$line_main_hello"
  send_gdb "700-exec-continue\n"
  gdb_expect {
!     -re "700\\^running\[\r\n\]+$mi_gdb_prompt.*\\*stopped.*,file=.*basics.c.,line=.$line_main_hello.*$mi_gdb_prompt$" {
  	pass "-exec-continue to line \$line_main_hello"
      }
      timeout {
--- 161,171 ----
  	"-break-insert -t basics.c:\$line_main_hello"
  
  # mi_gdb_test "-exec-continue" \
! #   {.*\*stopped.*,file=".*basics.c",fullname="/.*/gdb/testsuite/gdb.mi/basics.c",line="$line_main_hello"\}} \
  #   "-exec-continue to line \$line_main_hello"
  send_gdb "700-exec-continue\n"
  gdb_expect {
!     -re "700\\^running\[\r\n\]+$mi_gdb_prompt.*\\*stopped.*,file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=.$line_main_hello.*$mi_gdb_prompt$" {
  	pass "-exec-continue to line \$line_main_hello"
      }
      timeout {
*************** gdb_expect {
*** 175,185 ****
  
  # NOTE: cagney/2003-02-03: Not yet.
  # mi_gdb_test "-exec-next" \
! #   {.*\*stopped,reason="end-stepping-range",.*,file=".*basics.c",line="$line_main_return"\}} \
  #   "-exec-next to line \$line_main_return"
  send_gdb "800-exec-next\n"
  gdb_expect {
!     -re "800\\^running\[\r\n\]+$mi_gdb_prompt.*\\*stopped,reason=.end-stepping-range.*,file=.*basics.c.,line=.$line_main_return.*$mi_gdb_prompt$" {
  	pass "-exec-next to line \$line_main_return"
      }
      timeout {
--- 175,185 ----
  
  # NOTE: cagney/2003-02-03: Not yet.
  # mi_gdb_test "-exec-next" \
! #   {.*\*stopped,reason="end-stepping-range",.*,file=".*basics.c",fullname="/.*/gdb/testsuite/gdb.mi/basics.c",line="$line_main_return"\}} \
  #   "-exec-next to line \$line_main_return"
  send_gdb "800-exec-next\n"
  gdb_expect {
!     -re "800\\^running\[\r\n\]+$mi_gdb_prompt.*\\*stopped,reason=.end-stepping-range.*,file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=.$line_main_return.*$mi_gdb_prompt$" {
  	pass "-exec-next to line \$line_main_return"
      }
      timeout {
Index: testsuite/gdb.mi/mi2-return.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-return.exp,v
retrieving revision 1.3
diff -c -p -b -r1.3 mi2-return.exp
*** testsuite/gdb.mi/mi2-return.exp	15 Aug 2004 10:15:58 -0000	1.3
--- testsuite/gdb.mi/mi2-return.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_return_simple {} {
*** 53,59 ****
  
      send_gdb "111-exec-return\n"
      gdb_expect {
! 	-re "111\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",line=\"$line_callee3_close_brace\"\}\r\n$mi_gdb_prompt$" {pass "return from callee4 now"}
  	-re ".*\r\n$mi_gdb_prompt$" { fail "return from callee4 now" }
  	timeout { fail "return from callee4 now (timeout)"
  	}
--- 53,59 ----
  
      send_gdb "111-exec-return\n"
      gdb_expect {
! 	-re "111\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"$line_callee3_close_brace\"\}\r\n$mi_gdb_prompt$" {pass "return from callee4 now"}
  	-re ".*\r\n$mi_gdb_prompt$" { fail "return from callee4 now" }
  	timeout { fail "return from callee4 now (timeout)"
  	}
Index: testsuite/gdb.mi/mi2-stack.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-stack.exp,v
retrieving revision 1.3
diff -c -p -b -r1.3 mi2-stack.exp
*** testsuite/gdb.mi/mi2-stack.exp	15 Aug 2004 10:15:58 -0000	1.3
--- testsuite/gdb.mi/mi2-stack.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_stack_frame_listing {} {
*** 57,63 ****
      # -stack-list-frames 1 3
  
      mi_gdb_test "231-stack-list-frames" \
! 	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"$line_callee4_body\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
                  "stack frame listing"
      mi_gdb_test "232-stack-list-frames 1 1" \
  	    "232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
--- 57,63 ----
      # -stack-list-frames 1 3
  
      mi_gdb_test "231-stack-list-frames" \
! 	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"$line_callee4_body\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
                  "stack frame listing"
      mi_gdb_test "232-stack-list-frames 1 1" \
  	    "232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
*************** set line_callee4_return_0 [gdb_get_line_
*** 160,166 ****
  # step until A, B, C, have some reasonable values.
  send_gdb "-exec-next 3\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
  	pass "next's in callee4"
      }
      timeout { fail "next in callee4 (timeout)" }
--- 160,166 ----
  # step until A, B, C, have some reasonable values.
  send_gdb "-exec-next 3\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
  	pass "next's in callee4"
      }
      timeout { fail "next in callee4 (timeout)" }
Index: testsuite/gdb.mi/mi2-stepi.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-stepi.exp,v
retrieving revision 1.3
diff -c -p -b -r1.3 mi2-stepi.exp
*** testsuite/gdb.mi/mi2-stepi.exp	15 Aug 2004 10:15:58 -0000	1.3
--- testsuite/gdb.mi/mi2-stepi.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_stepi_nexti {} {
*** 53,59 ****
  
      send_gdb "111-exec-step-instruction\n"
      gdb_expect {
! 	-re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "step-instruction at main"
--- 53,59 ----
  
      send_gdb "111-exec-step-instruction\n"
      gdb_expect {
! 	-re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "step-instruction at main"
*************** proc test_stepi_nexti {} {
*** 67,73 ****
      }
      send_gdb "222-exec-next-instruction\n"
      gdb_expect {
! 	-re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "next-instruction at main"
--- 67,73 ----
      }
      send_gdb "222-exec-next-instruction\n"
      gdb_expect {
! 	-re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "next-instruction at main"
*************** proc test_stepi_nexti {} {
*** 81,87 ****
      }
      send_gdb "333-exec-next-instruction\n"
      gdb_expect {
! 	-re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "next-instruction at main"
--- 81,87 ----
      }
      send_gdb "333-exec-next-instruction\n"
      gdb_expect {
! 	-re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" {
  	    set line $expect_out(1,string)
  	    if { $line >= $line_main_body && $line <= $line_main_hello } {
  		pass "next-instruction at main"
Index: testsuite/gdb.mi/mi2-syn-frame.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-syn-frame.exp,v
retrieving revision 1.1
diff -c -p -b -r1.1 mi2-syn-frame.exp
*** testsuite/gdb.mi/mi2-syn-frame.exp	7 Aug 2003 17:47:42 -0000	1.1
--- testsuite/gdb.mi/mi2-syn-frame.exp	1 Apr 2005 16:06:51 -0000
*************** gdb_expect {
*** 69,75 ****
    }
  }
  
! mi_gdb_test "404-stack-list-frames 0 0" "404\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  
  #
--- 69,75 ----
    }
  }
  
! mi_gdb_test "404-stack-list-frames 0 0" "404\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  
  #
*************** gdb_expect {
*** 96,102 ****
    }
  }
  
! mi_gdb_test "409-stack-list-frames 0 0" "409\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  #
  # Call bar() by hand, which should get an exception while running.
--- 96,102 ----
    }
  }
  
! mi_gdb_test "409-stack-list-frames 0 0" "409\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\}.*\\\]"
  
  #
  # Call bar() by hand, which should get an exception while running.
*************** mi_gdb_test "409-stack-list-frames 0 0" 
*** 104,110 ****
  
  mi_gdb_test "410-data-evaluate-expression bar()" "hi in bar\[\r\n\]+\\&\"The program being debugged was signaled while in a function called from GDB.\\\\n\"\[\r\n\]+\\&\"GDB remains in the frame where the signal was received.\\\\n\"\[\r\n\]+\\&\"To change this behavior use \\\\\"set unwindonsignal on\\\\\"\\\\n\"\[\r\n\]+\\&\"Evaluation of the expression containing the function \\(bar\\) will be abandoned.\\\\n\"\[\r\n\]+410\\^error,msg=\"The program being debugged was signaled while in a function called from GDB.\\\\nGDB remains in the frame where the signal was received.\\\\nTo change this behavior use \\\\\"set unwindonsignal on\\\\\"\\\\nEvaluation of the expression containing the function \\(bar\\) will be abandoned.\"" "call inferior function which raises exception"
  
! mi_gdb_test "411-stack-list-frames" "411\\^done,reason=\"signal-received\",signal-name=\".*\",signal-meaning=\".*\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"bar\",args=\\\[\\\],file=\".*mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"bar\",file=\".*mi-syn-frame.c\",line=\"$decimal\"},frame=\{level=\"1\",addr=\"$hex\",func=\"<function called from gdb>\"\},frame=\{level=\"2\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",line=\"$decimal\"}.*\\\]" "backtrace from inferior function at exception"
  
  mi_gdb_exit
  
--- 104,110 ----
  
  mi_gdb_test "410-data-evaluate-expression bar()" "hi in bar\[\r\n\]+\\&\"The program being debugged was signaled while in a function called from GDB.\\\\n\"\[\r\n\]+\\&\"GDB remains in the frame where the signal was received.\\\\n\"\[\r\n\]+\\&\"To change this behavior use \\\\\"set unwindonsignal on\\\\\"\\\\n\"\[\r\n\]+\\&\"Evaluation of the expression containing the function \\(bar\\) will be abandoned.\\\\n\"\[\r\n\]+410\\^error,msg=\"The program being debugged was signaled while in a function called from GDB.\\\\nGDB remains in the frame where the signal was received.\\\\nTo change this behavior use \\\\\"set unwindonsignal on\\\\\"\\\\nEvaluation of the expression containing the function \\(bar\\) will be abandoned.\"" "call inferior function which raises exception"
  
! mi_gdb_test "411-stack-list-frames" "411\\^done,reason=\"signal-received\",signal-name=\".*\",signal-meaning=\".*\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"bar\",args=\\\[\\\],file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"bar\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"},frame=\{level=\"1\",addr=\"$hex\",func=\"<function called from gdb>\"\},frame=\{level=\"2\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/mi-syn-frame.c\",line=\"$decimal\"}.*\\\]" "backtrace from inferior function at exception"
  
  mi_gdb_exit
  
Index: testsuite/gdb.mi/mi2-until.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-until.exp,v
retrieving revision 1.2
diff -c -p -b -r1.2 mi2-until.exp
*** testsuite/gdb.mi/mi2-until.exp	9 Aug 2004 22:21:54 -0000	1.2
--- testsuite/gdb.mi/mi2-until.exp	1 Apr 2005 16:06:51 -0000
*************** proc test_until {} {
*** 78,84 ****
  
      send_gdb "111-exec-until\n"
      gdb_expect {
! 	-re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"12\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after while loop"
  	}
  	timeout {
--- 78,84 ----
  
      send_gdb "111-exec-until\n"
      gdb_expect {
! 	-re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/until.c\",line=\"12\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after while loop"
  	}
  	timeout {
*************** proc test_until {} {
*** 88,94 ****
  
      send_gdb "222-exec-until 15\n"
      gdb_expect {
! 	-re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"15\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until line number"
  	}
  	timeout {
--- 88,94 ----
  
      send_gdb "222-exec-until 15\n"
      gdb_expect {
! 	-re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/until.c\",line=\"15\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until line number"
  	}
  	timeout {
*************** proc test_until {} {
*** 98,104 ****
  
      send_gdb "333-exec-until until.c:17\n"
      gdb_expect {
! 	-re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",line=\"17\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until line number:file"
  	}
  	timeout {
--- 98,104 ----
  
      send_gdb "333-exec-until until.c:17\n"
      gdb_expect {
! 	-re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/until.c\",line=\"17\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until line number:file"
  	}
  	timeout {
*************** proc test_until {} {
*** 110,116 ****
  
      send_gdb "444-exec-until until.c:25\n"
      gdb_expect {
! 	-re "444\\^running\r\n${mi_gdb_prompt}444\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*until.c\",line=\"24\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after current function"
  	}
  	timeout {
--- 110,116 ----
  
      send_gdb "444-exec-until until.c:25\n"
      gdb_expect {
! 	-re "444\\^running\r\n${mi_gdb_prompt}444\\*stopped,reason=\"location-reached\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*until.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/until.c\",line=\"24\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after current function"
  	}
  	timeout {
Index: testsuite/gdb.mi/mi2-var-display.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-var-display.exp,v
retrieving revision 1.4
diff -c -p -b -r1.4 mi2-var-display.exp
*** testsuite/gdb.mi/mi2-var-display.exp	17 Aug 2004 09:38:29 -0000	1.4
--- testsuite/gdb.mi/mi2-var-display.exp	1 Apr 2005 16:06:51 -0000
*************** mi_gdb_test "200-break-insert incr_a" \
*** 592,601 ****
  	"break-insert operation"
  send_gdb "-exec-continue\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"2\.*\"\}\\\],file=\".*var-cmd.c\",line=\"$line_incr_a_b_a\"\}\r\n$mi_gdb_prompt$" {
  	pass "continue to incr_a"
      }
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"\.*\"\}\\\],file=\".*var-cmd.c\",line=\"([expr $line_incr_a_b_a - 2]|[expr $line_incr_a_b_a - 1]|$line_incr_a_b_a)\"\}\r\n$mi_gdb_prompt$" {
  	fail "continue to incr_a (compiler debug info incorrect)"
      }
      -re "\\^running\r\n${mi_gdb_prompt}.*\r\n$mi_gdb_prompt$" {
--- 592,601 ----
  	"break-insert operation"
  send_gdb "-exec-continue\n"
  gdb_expect {
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"2\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/var-cmd.c\",line=\"$line_incr_a_b_a\"\}\r\n$mi_gdb_prompt$" {
  	pass "continue to incr_a"
      }
!     -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"breakpoint-hit\",bkptno=\"3\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"incr_a\",args=\\\[\{name=\"a\",value=\"\.*\"\}\\\],file=\".*var-cmd.c\",fullname=\"/.*/gdb/testsuite/gdb.mi/var-cmd.c\",line=\"([expr $line_incr_a_b_a - 2]|[expr $line_incr_a_b_a - 1]|$line_incr_a_b_a)\"\}\r\n$mi_gdb_prompt$" {
  	fail "continue to incr_a (compiler debug info incorrect)"
      }
      -re "\\^running\r\n${mi_gdb_prompt}.*\r\n$mi_gdb_prompt$" {
Index: testsuite/lib/mi-support.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v
retrieving revision 1.26
diff -c -p -b -r1.26 mi-support.exp
*** testsuite/lib/mi-support.exp	25 Mar 2005 20:38:55 -0000	1.26
--- testsuite/lib/mi-support.exp	1 Apr 2005 16:06:51 -0000
*************** proc mi_runto {func} {
*** 813,819 ****
  
    mi_run_cmd
    gdb_expect {
!     -re ".*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"$bkptno\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" {
        pass "$test"
        return 0
      }
--- 813,819 ----
  
    mi_run_cmd
    gdb_expect {
!     -re ".*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"$bkptno\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=\(\\\[.*\\\]\|\{.*\}\),file=\".*\",fullname=\"/.*\",line=\"\[0-9\]*\"\}\r\n$mi_gdb_prompt$" {
        pass "$test"
        return 0
      }
*************** proc mi_execute_to_helper { cmd reason f
*** 859,869 ****
      global decimal
      send_gdb "220-$cmd\n"
      gdb_expect {
! 	-re ".*220\\^running\r\n${mi_gdb_prompt}.*220\\*stopped,reason=\"$reason\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=$args,file=\".*$file\",line=\"$line\"\}$extra\r\n$mi_gdb_prompt$" {
  	    pass "$test"
  	    return 0
  	}
! 	-re ".*220\\^running\r\n${mi_gdb_prompt}.*220\\*stopped,reason=\"$reason\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\".*\",args=\[\\\[\{\].*\[\\\]\}\],file=\".*\",line=\"\[0-9\]*\"\}.*\r\n$mi_gdb_prompt$" {
  	    fail "$test (stopped at wrong place)"
  	    return -1
  	}
--- 859,869 ----
      global decimal
      send_gdb "220-$cmd\n"
      gdb_expect {
! 	-re ".*220\\^running\r\n${mi_gdb_prompt}.*220\\*stopped,reason=\"$reason\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=$args,file=\".*$file\",fullname=\"/.*/$file\",line=\"$line\"\}$extra\r\n$mi_gdb_prompt$" {
  	    pass "$test"
  	    return 0
  	}
! 	-re ".*220\\^running\r\n${mi_gdb_prompt}.*220\\*stopped,reason=\"$reason\",thread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\".*\",args=\[\\\[\{\].*\[\\\]\}\],file=\".*\",fullname=\"/.*\",line=\"\[0-9\]*\"\}.*\r\n$mi_gdb_prompt$" {
  	    fail "$test (stopped at wrong place)"
  	    return -1
  	}



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]