Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Vladimir Prus <ghost@cs.msu.su>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb-patches@sources.redhat.com
Subject: Re: -stack-list-frames HIGH_FRAME changes
Date: Fri, 05 May 2006 14:39:00 -0000	[thread overview]
Message-ID: <200605051838.20652.ghost@cs.msu.su> (raw)
In-Reply-To: <20060505135124.GA27371@nevyn.them.org>

[-- Attachment #1: Type: text/plain, Size: 3548 bytes --]

On Friday 05 May 2006 17:51, Daniel Jacobowitz wrote:
> On Fri, May 05, 2006 at 11:54:08AM +0400, Vladimir Prus wrote:
> > Hi,
> > attached patch stops -stack-list-frames from emitting error when the
> > HIGH_FRAME parameter is larger than the actual number of frames.
>
> As far as I'm concerned, this change is reasonable; but let's wait
> until next week to see if anyone else has a reason for the current
> behavior. (I don't think anyone will; just being cautious.)
>
> > ? .gdbinit
>
> Please trim all this next time :-)

Sure, sorry.

> > ===================================================================
> > RCS file: /cvs/src/src/gdb/ChangeLog,v
> > retrieving revision 1.7714
> > diff -u -r1.7714 ChangeLog
> > --- ChangeLog	3 May 2006 22:59:38 -0000	1.7714
> > +++ ChangeLog	5 May 2006 07:50:28 -0000
> > @@ -1,3 +1,10 @@
>
> It's usually better to include ChangeLog entries as text, not as diffs.
> When they're diffs, they invariably generate patch rejects later on.

The reason I've included them in patch is that I've learned about Emacs's 
add-change-log-entry command, which conveniently adds entry to existing 
file ;-) So, in case if there are several ChangeLog files in patch, I should 
put those entries separately, and indicate which file each entry goes to, 
right?

> > +2006-05-05  Vladimir Prus  <ghost@lvk.cs.msu.su>
> > +
> > +	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Don't emit error
> > +	if high requested frame number is larger then number of available
> > +	frames.
> > +
> > +
>
> Just one blank line between entries, please.

Ok.

> > -are equal, it shows the single frame at the corresponding level.
> > +are equal, it shows the single frame at the corresponding level. It is
> > +an error if @var{low-frame} is larger than the actual number of frames.
> > On +the other hand, @var{high-frame} may be larger then the actual number
> > of +frames, in which case only existing frames will be returned.
>
> Two spaces after periods.  

Ok.

>
> > Index: testsuite/ChangeLog
> > ===================================================================
> > RCS file: /cvs/src/src/gdb/testsuite/ChangeLog,v
> > retrieving revision 1.1208
> > diff -u -r1.1208 ChangeLog
> > --- testsuite/ChangeLog	1 May 2006 22:21:35 -0000	1.1208
> > +++ testsuite/ChangeLog	5 May 2006 07:50:34 -0000
> > @@ -1,3 +1,9 @@
> > +2006-05-05  Vladimir Prus  <ghost@lvk.cs.msu.su>
> > +
> > +	* gdb.mi/mi2-stack.exp (test_stack_frame_listing): Test that
> > +	HIGH_FRAME argument to -stack-list-locals can be larger than
> > +	the number of frames.
>
> Please don't add new tests to just mi2-stack.exp.  I don't much care
> whether mi2-stack.exp is updated or not, but when we finalize mi3 and
> create mi3-* tests, they're going to be copied from mi-*.  So it's
> important that new tests go there also.

So, what's the point of mi2 tests at all? 
In any case, there's revised patch:

./Changelog:
2006-05-05  Vladimir Prus  <ghost@lvk.cs.msu.su>

	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Don't emit error
	if high requested frame number is larger then number of available 
	frames.


doc/ChangeLog
2006-05-05  Vladimir Prus  <ghost@lvk.cs.msu.su>

	* gdb.texinfo (GDB/MI Stack Manipulation): Mention that
	-stack-list-locals HIGH_FRAME argument can be larger then the
	actual number of frames.


testsuite/ChangeLog

2006-05-05  Vladimir Prus  <ghost@lvk.cs.msu.su>

	* gdb.mi/mi-stack.exp (test_stack_frame_listing): Test that
	HIGH_FRAME argument to -stack-list-locals can be larger than
	the number of frames.


- Volodya


[-- Attachment #2: %40-stack-list-frames.diff --]
[-- Type: text/x-diff, Size: 2354 bytes --]

Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.325
diff -u -r1.325 gdb.texinfo
--- doc/gdb.texinfo	27 Apr 2006 23:03:42 -0000	1.325
+++ doc/gdb.texinfo	5 May 2006 14:37:09 -0000
@@ -19922,7 +19922,10 @@
 If invoked without arguments, this command prints a backtrace for the
 whole stack.  If given two integer arguments, it shows the frames whose
 levels are between the two arguments (inclusive).  If the two arguments
-are equal, it shows the single frame at the corresponding level.
+are equal, it shows the single frame at the corresponding level.  It is
+an error if @var{low-frame} is larger than the actual number of
+frames.  On the other hand, @var{high-frame} may be larger then the
+actual number of frames, in which case only existing frames will be returned.
 
 @subsubheading @value{GDBN} Command
 
Index: mi/mi-cmd-stack.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmd-stack.c,v
retrieving revision 1.29
diff -u -r1.29 mi-cmd-stack.c
--- mi/mi-cmd-stack.c	23 Dec 2005 18:57:46 -0000	1.29
+++ mi/mi-cmd-stack.c	5 May 2006 14:37:09 -0000
@@ -88,8 +88,6 @@
     }
 
   do_cleanups (cleanup_stack);
-  if (i < frame_high)
-    error (_("mi_cmd_stack_list_frames: Not enough frames in stack."));
 
   return MI_CMD_DONE;
 }
Index: testsuite/gdb.mi/mi-stack.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-stack.exp,v
retrieving revision 1.19
diff -u -r1.19 mi-stack.exp
--- testsuite/gdb.mi/mi-stack.exp	27 Sep 2005 22:39:02 -0000	1.19
+++ testsuite/gdb.mi/mi-stack.exp	5 May 2006 14:37:10 -0000
@@ -74,6 +74,10 @@
     mi_gdb_test "235-stack-info-frame" \
             "235\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*${srcfile}\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_callee4_body\"\}" \
 	       "selected frame listing"
+
+    mi_gdb_test "236-stack-list-frames 1 300" \
+	    "236\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\}\\\]" \
+                "stack frame listing 1 300"
 }
 
 proc test_stack_args_listing {} {

  reply	other threads:[~2006-05-05 14:39 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-05  7:54 Vladimir Prus
2006-05-05 10:30 ` Eli Zaretskii
2006-05-05 13:51 ` Daniel Jacobowitz
2006-05-05 14:39   ` Vladimir Prus [this message]
2006-05-05 14:53     ` Daniel Jacobowitz
2006-05-05 19:20       ` Jim Blandy
2006-05-05 15:46     ` Bob Rossi
2006-05-05 14:52       ` Daniel Jacobowitz
2006-09-07 16:10     ` Daniel Jacobowitz
2006-09-07 16:41       ` Vladimir Prus
2006-05-05 21:13   ` Eli Zaretskii
2006-09-07 16:10   ` Vladimir Prus
2006-09-07 22:37 Nick Roberts
2006-09-07 23:10 ` Daniel Jacobowitz
2006-09-08  6:28 ` Vladimir Prus
2006-09-08  8:30   ` Nick Roberts
2006-09-08  8:39     ` Vladimir Prus
2006-09-08 14:33   ` Daniel Jacobowitz
2006-09-08 16:37   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200605051838.20652.ghost@cs.msu.su \
    --to=ghost@cs.msu.su \
    --cc=drow@false.org \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox