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


> On Sat, Mar 26, 2005 at 03:38:55PM +0200, Eli Zaretskii wrote:
> > > Date: Thu, 24 Mar 2005 15:48:45 -0500
> > > From: "Dennis Brueni" <dbrueni@slickedit.com>
> > > Cc: <gdb-patches@sources.redhat.com>,
> > > 	"Dennis Brueni" <dbrueni@slickedit.com>
> > > 
> > > *** gdb/doc/gdb.texinfo	10 Mar 2005 13:12:33 -0000	1.233
> > > --- gdb/doc/gdb.texinfo	24 Mar 2005 18:34:13 -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,15900 ----
> > >   ^running
> > >   ^done,reason="watchpoint-trigger",wpt=@{number="2",exp="x"@},
> > >   value=@{old="-268439212",new="55"@},
> > > !
> > > frame=@{func="main",args=[],file="recursive2.c",fullname="/.../recursive
> > > 2.c",line="5"@}
> > 
> > Your mail software breaks long lines, which will be an annoyance for
> > whoever tries to apply these patches.  Please resend the patches while
> > taking care that long lines are sent intact, TIA.
> > 
> > >   ^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
> > >   
> > > --- 15912,15927 ----
> > >   ^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="/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="/devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
> > >   (@value{GDBP})
> > >   @end smallexample
> > 
> > I think these changes are confusing: the full name for
> > "../../../devo/gdb/testsuite/gdb.mi/basics.c" cannot possibly be
> > "/devo/gdb/testsuite/gdb.mi/basics.c" unless "../../.." resolves to
> > the root directory.  While the latter is a possibility, it's a very
> > rare occasion, so it is better to replace "../../.." with something
> > like "/foo/bar/", not with "/".  The way you did it, a user could
> > misunderstand what fullname= does: your examples look like it simply
> > removes "../../.." part.
> > 
> > >   (@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",
> > > --- 16211,16217 ----
> > >   
> > >   (@value{GDBP})
> > >   *stopped,reason="breakpoint-hit",bkptno="1",frame=@{func="main",
> > > ! args=[],file="try.c",fullname="/.../try.c",line="5"@}
> > 
> > Here, I don't understand the "/.../" part.  Did you mean for the 3
> > dots to stand for the omitted full path from the root?  If so, it's
> > less confusuing to use some invented file names, like /foo/bar/baz or
> > /dir/subdir/subsubdir.
> > 
> > Other than that, the doco patch is approved.  Thanks.
> 
> 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.

--Dennis Brueni
  dennis@slickedit.com



Index: gdb/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.7046
diff -c -p -b -r1.7046 ChangeLog
*** gdb/ChangeLog	29 Mar 2005 16:58:22 -0000	1.7046
--- gdb/ChangeLog	29 Mar 2005 20:00:07 -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-29  Daniel Jacobowitz  <dan@codesourcery.com>
  
  	* arm-linux-nat.c (store_register, store_regs): Handle
Index: gdb/stack.c
===================================================================
RCS file: /cvs/src/src/gdb/stack.c,v
retrieving revision 1.130
diff -c -p -b -r1.130 stack.c
*** gdb/stack.c	28 Feb 2005 17:00:49 -0000	1.130
--- gdb/stack.c	29 Mar 2005 20:00:07 -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: gdb/doc/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/doc/ChangeLog,v
retrieving revision 1.473
diff -c -p -b -r1.473 ChangeLog
*** gdb/doc/ChangeLog	10 Mar 2005 13:12:32 -0000	1.473
--- gdb/doc/ChangeLog	29 Mar 2005 20:00:08 -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: gdb/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
*** gdb/doc/gdb.texinfo	10 Mar 2005 13:12:33 -0000	1.233
--- gdb/doc/gdb.texinfo	29 Mar 2005 20:00:13 -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: gdb/testsuite/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/ChangeLog,v
retrieving revision 1.1095
diff -c -p -b -r1.1095 ChangeLog
*** gdb/testsuite/ChangeLog	27 Mar 2005 00:18:54 -0000	1.1095
--- gdb/testsuite/ChangeLog	29 Mar 2005 20:00:16 -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-27  Andreas Schwab  <schwab@suse.de>
  
  	* gdb.base/bigcore.c (main): Add missing mode argument in open
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi-cli.exp	15 Aug 2004 10:15:58 -0000	1.3
--- gdb/testsuite/gdb.mi/mi-cli.exp	29 Mar 2005 20:00:16 -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=".*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=".*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=\".*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=".*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=\".*basics.c\",line=.$line_main_return.*$mi_gdb_prompt$" {
  	pass "-exec-next to line \$line_main_return"
      }
      timeout {
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi-return.exp	15 Aug 2004 10:15:58 -0000	1.11
--- gdb/testsuite/gdb.mi/mi-return.exp	29 Mar 2005 20:00:16 -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=\".*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: gdb/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
*** gdb/testsuite/gdb.mi/mi-stack.exp	15 Aug 2004 10:15:58 -0000	1.14
--- gdb/testsuite/gdb.mi/mi-stack.exp	29 Mar 2005 20:00:16 -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=\".*/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=\".*/basics.c\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
  	pass "next's in callee4"
      }
      timeout { fail "next in callee4 (timeout)" }
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi-stepi.exp	15 Aug 2004 10:15:58 -0000	1.10
--- gdb/testsuite/gdb.mi/mi-stepi.exp	29 Mar 2005 20:00:16 -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=\".*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=\".*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=\".*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: gdb/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
*** gdb/testsuite/gdb.mi/mi-syn-frame.exp	24 Feb 2003 20:15:47 -0000	1.2
--- gdb/testsuite/gdb.mi/mi-syn-frame.exp	29 Mar 2005 20:00:16 -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=\".*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=\".*mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"subroutine\",file=\".*mi-syn-frame.c\",fullname=\".*mi-syn-frame.c\",line=\"$decimal\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"handler\",file=\".*mi-syn-frame.c\",fullname=\".*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=\".*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=\".*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=\".*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=\".*mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"bar\",file=\".*mi-syn-frame.c\",fullname=\".*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=\".*mi-syn-frame.c\",line=\"$decimal\"}.*\\\]" "backtrace from inferior function at exception"
  
  mi_gdb_exit
  
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi-until.exp	9 Aug 2004 16:32:44 -0000	1.8
--- gdb/testsuite/gdb.mi/mi-until.exp	29 Mar 2005 20:00:16 -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=\".*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=\".*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=\".*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=\".*until.c\",line=\"24\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after current function"
  	}
  	timeout {
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi-var-display.exp	17 Aug 2004 09:38:29 -0000	1.12
--- gdb/testsuite/gdb.mi/mi-var-display.exp	29 Mar 2005 20:00:16 -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=\".*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=\".*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=\".*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=\".*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: gdb/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
*** gdb/testsuite/gdb.mi/mi-watch.exp	15 Aug 2004 10:15:58 -0000	1.11
--- gdb/testsuite/gdb.mi/mi-watch.exp	29 Mar 2005 20:00:17 -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=\".*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=\".*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: gdb/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
*** gdb/testsuite/gdb.mi/mi2-cli.exp	15 Aug 2004 10:15:58 -0000	1.2
--- gdb/testsuite/gdb.mi/mi2-cli.exp	29 Mar 2005 20:00:17 -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=".*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=\".*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=".*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=\".*basics.c\",line=.$line_main_return.*$mi_gdb_prompt$" {
  	pass "-exec-next to line \$line_main_return"
      }
      timeout {
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi2-return.exp	15 Aug 2004 10:15:58 -0000	1.3
--- gdb/testsuite/gdb.mi/mi2-return.exp	29 Mar 2005 20:00:17 -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=\".*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: gdb/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
*** gdb/testsuite/gdb.mi/mi2-stack.exp	15 Aug 2004 10:15:58 -0000	1.3
--- gdb/testsuite/gdb.mi/mi2-stack.exp	29 Mar 2005 20:00:17 -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=\".*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=\".*basics.c\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
  	pass "next's in callee4"
      }
      timeout { fail "next in callee4 (timeout)" }
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi2-stepi.exp	15 Aug 2004 10:15:58 -0000	1.3
--- gdb/testsuite/gdb.mi/mi2-stepi.exp	29 Mar 2005 20:00:17 -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=\".*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=\".*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=\".*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: gdb/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
*** gdb/testsuite/gdb.mi/mi2-syn-frame.exp	7 Aug 2003 17:47:42 -0000	1.1
--- gdb/testsuite/gdb.mi/mi2-syn-frame.exp	29 Mar 2005 20:00:17 -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=\".*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=\".*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=\".*mi-syn-frame.c\",line=\"$decimal\"\},stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"bar\",file=\".*mi-syn-frame.c\",fullname=\".*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=\".*mi-syn-frame.c\",line=\"$decimal\"}.*\\\]" "backtrace from inferior function at exception"
  
  mi_gdb_exit
  
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi2-until.exp	9 Aug 2004 22:21:54 -0000	1.2
--- gdb/testsuite/gdb.mi/mi2-until.exp	29 Mar 2005 20:00:17 -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=\".*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=\".*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=\".*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=\".*until.c\",line=\"24\"\}\r\n$mi_gdb_prompt$" {
  	    pass "until after current function"
  	}
  	timeout {
Index: gdb/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
*** gdb/testsuite/gdb.mi/mi2-var-display.exp	17 Aug 2004 09:38:29 -0000	1.4
--- gdb/testsuite/gdb.mi/mi2-var-display.exp	29 Mar 2005 20:00:17 -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=\".*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=\".*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: gdb/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
*** gdb/testsuite/lib/mi-support.exp	25 Mar 2005 20:38:55 -0000	1.26
--- gdb/testsuite/lib/mi-support.exp	29 Mar 2005 20:00:17 -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]