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: Wednesday, March 23, 2005 5:34 PM
> To: Dennis Brueni
> Cc: gdb-patches@sources.redhat.com
> Subject: Re: [RFC] fullname attribute for GDB/MI stack frames
> 
> 
> > The following patch fixes the code that reports stack 
> frames to append 
> > a "fullname" attribute to each stack frame, reporting the absolute 
> > path name of the source file.  This effects MI output mode only and 
> > does not hurt performance.
> > 
> > Index: gdb/stack.c 
> > ===================================================================
> > RCS file: /cvs/src/src/gdb/stack.c,v
> > 
> > $ diff -c -p -b stack.c-6.3 stack.c
> > *** stack.c-6.3 Wed Mar 23 17:03:57 2005
> > --- stack.c     Wed Mar 23 15:40:11 2005
> > *************** print_frame (struct frame_info *fi,
> > *** 666,671 ****
> > --- 666,679 ----
> >         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) {
> > +             source_full_path_of(sal.symtab->filename,
> > &sal.symtab->fullname);
> > +          }
> > +          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 ();
> 
> This is great, I've was eventually going to get to this. 
> Although I'm not the maintainer, I have a few comments,
> 
> You should probably be using symtab_to_fullname instead of 
> source_full_path_of. In fact, maybe source_full_path_of 
> should be deprecated. symtab_to_fullname is used in mi/mi-cmd-file.c.
> 
> Also, there should be a corresponding testcase, that ensures the new 
> field is working properly.
> 
> Thanks,
> Bob Rossi
> 

Thanks for the excellent suggestions!  Attached is a complete
patch for the latest GDB development stream, including testsuite and
docs.
Hint, hint, it would be great to see this in 6.4!

--Dennis Brueni
  dennis@slickedit.com


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	24 Mar 2005 18:34:08 -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/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	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"@}
  (@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
  
--- 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
  
*************** 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",
--- 15953,15960 ----
  ^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="/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",
--- 15975,15982 ----
  ^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="/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",
--- 16211,16217 ----
  
  (@value{GDBP})
  *stopped,reason="breakpoint-hit",bkptno="1",frame=@{func="main",
! args=[],file="try.c",fullname="/.../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
  
--- 16818,16824 ----
  (@value{GDBP})
  @@Hello world
 
*stopped,reason="breakpoint-hit",bkptno="2",frame=@{func="foo",args=[],
! file="hello.c",fullname="/.../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
  
--- 16850,16856 ----
  (@value{GDBP})
  @@hello from foo
  *stopped,reason="function-finished",frame=@{func="main",args=[],
! file="hello.c",fullname="/.../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
--- 16864,16870 ----
  (@value{GDBP})
 
*stopped,reason="function-finished",frame=@{addr="0x000107b0",func="foo"
,
  args=[@{name="a",value="1"],@{name="b",value="9"@}@},
! file="recursive2.c",fullname="/.../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})
--- 16901,16907 ----
  222^done
  (@value{GDBP})
  111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
!
frame=@{addr="0x00010140",func="foo",args=[],file="try.c",fullname=/.../
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
--- 16999,17006 ----
  (@value{GDBP})
  000*stopped,reason="breakpoint-hit",bkptno="1",
  frame=@{func="callee4",args=[],
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/devo/gdb/testsuite/gdb.mi/basics.c",line="8"@}
  (@value{GDBP})
  205-break-delete
  205^done
*************** file="../../../devo/gdb/testsuite/gdb.mi
*** 17005,17010 ****
--- 17010,17016 ----
  args=[@{name="strarg",
  value="0x11940 \"A string argument.\""@}],
  file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
+ fullname="/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
  
--- 17043,17049 ----
  ^running
  (@value{GDBP})
  *stopped,reason="breakpoint-hit",bkptno="1",
!
frame=@{func="main",args=[],file="recursive2.c",fullname="/.../recursive
2.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
  
--- 17096,17102 ----
  (@value{GDBP})
  *stopped,reason="end-stepping-range",
  frame=@{func="foo",args=[@{name="a",value="10"@},
!
@{name="b",value="0"@}],file="recursive2.c",fullname="/.../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
  
--- 17139,17152 ----
  
  (@value{GDBP})
  *stopped,reason="end-stepping-range",
!
frame=@{func="foo",args=[],file="try.c",fullname="/.../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="/...
/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
  
--- 17178,17184 ----
  (@value{GDBP})
  x = 55
  *stopped,reason="location-reached",frame=@{func="main",args=[],
! file="recursive2.c",fullname="/.../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,
--- 17678,17697 ----
  ^done,
  stack=[
  frame=@{level="0",addr="0x00010734",func="callee4",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/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="/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="/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="/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="/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
  
--- 17773,17801 ----
  -stack-list-frames
  ^done,stack=
  [frame=@{level="0",addr="0x0001076c",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="11"@},
  frame=@{level="1",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="2",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="4",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="5",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="6",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="7",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="8",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="9",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="10",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="11",addr="0x00010738",func="main",
!   file="recursive2.c",fullname="/.../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
  
--- 17806,17816 ----
  -stack-list-frames 3 5
  ^done,stack=
  [frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="4",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@},
  frame=@{level="5",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../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
  
--- 17821,17827 ----
  -stack-list-frames 3 3
  ^done,stack=
  [frame=@{level="3",addr="0x000107a4",func="foo",
!   file="recursive2.c",fullname="/.../recursive2.c",line="14"@}]
  (@value{GDBP})
  @end smallexample
  
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	24 Mar 2005 18:34:14 -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.,lin
e=.$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.,ful
lname=.*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="$lin
e_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-r
ange.*,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-r
ange.*,file=.*basics.c.,fullname=.*basics.c.,line=.$line_main_return.*$m
i_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	24 Mar 2005 18:34:14 -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_g
db_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	24 Mar 2005 18:34:14 -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\",a
ddr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",fun
c=\"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=\{leve
l=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$
hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"mai
n\",.*\}\\\]" \
                  "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_promp
t$" {
  	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_retu
rn_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	24 Mar 2005 18:34:14 -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-ra
nge\",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-ra
nge\",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-ra
nge\",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-ra
nge\",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-ra
nge\",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-ra
nge\",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	24 Mar 2005 18:34:14
-0000
*************** gdb_expect {
*** 69,75 ****
    }
  }
  
! mi_gdb_test "404-stack-list-frames 0 0"
"404\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",fi
le=\".*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\",fi
le=\".*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-sy
n-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_ver
y_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\",f
ile=\".*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_ver
y_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\",fi
le=\".*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\",fi
le=\".*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\",fil
e=\".*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	24 Mar 2005 18:34:14 -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-ra
nge\",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-ra
nge\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\
\\],file=\".*until.c\",fullname=\".*until.c\",line=\"12\"\}\r\n$mi_gdb_p
rompt$" {
  	    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-reache
d\",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-reache
d\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\
],file=\".*until.c\",fullname=\".*until.c\",line=\"15\"\}\r\n$mi_gdb_pro
mpt$" {
  	    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-reache
d\",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-reache
d\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\
],file=\".*until.c\",fullname=\".*until.c\",line=\"17\"\}\r\n$mi_gdb_pro
mpt$" {
  	    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-reache
d\",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-reache
d\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\
\],file=\".*until.c\",fullname=\".*until.c\",line=\"24\"\}\r\n$mi_gdb_pr
ompt$" {
  	    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	24 Mar 2005 18:34:14
-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_prom
pt$" {
  	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\",bkpt
no=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_special_te
sts\",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\",bkpt
no=\"2\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_special_te
sts\",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\",bkpt
no=\"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\",bkpt
no=\"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\",bkpt
no=\"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\",bkpt
no=\"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	24 Mar 2005 18:34:14 -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_ca
llee4_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=\".*ba
sics.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-i
d=\"\[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-i
d=\"\[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	24 Mar 2005 18:34:14 -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.,lin
e=.$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.,ful
lname=.*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="$lin
e_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-r
ange.*,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-r
ange.*,file=.*basics.c.,fullname=.*basics.c.,line=.$line_main_return.*$m
i_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	24 Mar 2005 18:34:14 -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_g
db_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	24 Mar 2005 18:34:14 -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\",a
ddr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",fun
c=\"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=\"$h
ex\",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_promp
t$" {
  	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_retur
n_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	24 Mar 2005 18:34:14 -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-ra
nge\",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-ra
nge\",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-ra
nge\",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-ra
nge\",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-ra
nge\",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-ra
nge\",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	24 Mar 2005 18:34:14
-0000
*************** gdb_expect {
*** 69,75 ****
    }
  }
  
! mi_gdb_test "404-stack-list-frames 0 0"
"404\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",fi
le=\".*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\",fi
le=\".*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\",fi
le=\".*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\",fi
le=\".*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\",fil
e=\".*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	24 Mar 2005 18:34:14 -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-ra
nge\",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-ra
nge\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\
\\],file=\".*until.c\",fullname=\".*until.c\",line=\"12\"\}\r\n$mi_gdb_p
rompt$" {
  	    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-reache
d\",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-reache
d\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\
],file=\".*until.c\",fullname=\".*until.c\",line=\"15\"\}\r\n$mi_gdb_pro
mpt$" {
  	    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-reache
d\",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-reache
d\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\
],file=\".*until.c\",fullname=\".*until.c\",line=\"17\"\}\r\n$mi_gdb_pro
mpt$" {
  	    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-reache
d\",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-reache
d\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\
\],file=\".*until.c\",fullname=\".*until.c\",line=\"24\"\}\r\n$mi_gdb_pr
ompt$" {
  	    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	24 Mar 2005 18:34:15
-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\",bkpt
no=\"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\",bkpt
no=\"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\",bkpt
no=\"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\",bkpt
no=\"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.25
diff -c -p -b -r1.25 mi-support.exp
*** gdb/testsuite/lib/mi-support.exp	14 Mar 2005 15:42:52 -0000
1.25
--- gdb/testsuite/lib/mi-support.exp	24 Mar 2005 18:34:15 -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\",t
hread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=$args,fi
le=\".*$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\",t
hread-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\",t
hread-id=\"$decimal\",frame=\{addr=\"$hex\",func=\"$func\",args=$args,fi
le=\".*$file\",fullname=\".*$file\",line=\"$line\"\}$extra\r\n$mi_gdb_pr
ompt$" {
  	    pass "$test"
  	    return 0
  	}
! 	-re
".*220\\^running\r\n${mi_gdb_prompt}.*220\\*stopped,reason=\"$reason\",t
hread-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]