From: crquan@gmail.com
To: gdb-patches@sourceware.org, Hui Zhu <teawater@gmail.com>
Cc: Joel Brobecker <brobecker@adacore.com>, Eli Zaretskii <eliz@gnu.org>
Subject: [PATCH] disassemble support start,+length format
Date: Fri, 09 Apr 2010 04:11:00 -0000 [thread overview]
Message-ID: <1270786615-29934-1-git-send-email-crquan@gmail.com> (raw)
From: CHENG Renquan <rqcheng@smu.edu.sg>
add new support for disassemble by "start,+length" format;
ChangeLog,NEWS,doc/gdb.texinfo udpated, accordingly.
BTW, I found two disassemble Changes in GDB 7.0 in NEWS, separated in two
paragraphs, so I merged them into one paragraph.
gdb/ChangeLog | 5 +++++
gdb/NEWS | 13 ++++++++-----
gdb/cli/cli-cmds.c | 16 +++++++++++++---
gdb/doc/gdb.texinfo | 8 +++++---
4 files changed, 31 insertions(+), 11 deletions(-)
Index: gdb/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.11594
diff -u -p -r1.11594 ChangeLog
--- gdb/ChangeLog 9 Apr 2010 03:00:56 -0000 1.11594
+++ gdb/ChangeLog 9 Apr 2010 03:51:39 -0000
@@ -1,3 +1,8 @@
+2010-04-09 CHENG Renquan <rqcheng@smu.edu.sg>
+
+ * gdb/cli/cli-cmds.c (disassemble_command): disassemble add support
+ "start,+length" format
+
2010-04-08 Stan Shebs <stan@codesourcery.com>
Pedro Alves <pedro@codesourcery.com>
Index: gdb/NEWS
===================================================================
RCS file: /cvs/src/src/gdb/NEWS,v
retrieving revision 1.367
diff -u -p -r1.367 NEWS
--- gdb/NEWS 1 Apr 2010 14:11:22 -0000 1.367
+++ gdb/NEWS 9 Apr 2010 03:51:40 -0000
@@ -39,6 +39,11 @@ regular breakpoints.
ARM Symbian arm*-*-symbianelf*
+* Changed commands
+
+disassemble
+ The disassemble command, add "start,+length" form of two arguments support.
+
*** Changes in GDB 7.1
* C++ Improvements
@@ -334,8 +339,9 @@ or the "condition" command is available.
the target for evaluation using the same bytecode format as is used
for tracepoint actions.
-* "disassemble" command with a /r modifier, print the raw instructions
-in hex as well as in symbolic form.
+* The "disassemble" command with an optional /r modifier, print the raw
+instructions in hex as well as in symbolic form; optional /m modifier to
+print mixed source+assembly.
* Process record and replay
@@ -427,9 +433,6 @@ qXfer:siginfo:write
packet that permited the stub to pass a process id was removed.
Remote servers should use the `T' stop reply packet instead.
-* The "disassemble" command now supports an optional /m modifier to print mixed
-source+assembly.
-
* GDB now supports multiple function calling conventions according to the
DWARF-2 DW_AT_calling_convention function attribute.
Index: gdb/cli/cli-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/cli/cli-cmds.c,v
retrieving revision 1.100
diff -u -p -r1.100 cli-cmds.c
--- gdb/cli/cli-cmds.c 9 Apr 2010 03:00:58 -0000 1.100
+++ gdb/cli/cli-cmds.c 9 Apr 2010 03:51:40 -0000
@@ -1047,8 +1047,9 @@ disassemble_current_function (int flags)
- dump the assembly code for the function of the current pc
disassemble [/mr] addr
- dump the assembly code for the function at ADDR
- disassemble [/mr] low high
- - dump the assembly code in the range [LOW,HIGH)
+ disassemble [/mr] low,high
+ disassemble [/mr] low,+length
+ - dump the assembly code in the range [LOW,HIGH), or [LOW,LOW+length)
A /m modifier will include source code with the assembly.
A /r modifier will include raw instructions in hex with the assembly. */
@@ -1119,8 +1120,16 @@ disassemble_command (char *arg, int from
else
{
/* Two arguments. */
+ int incl_flag = 0;
+
low = pc;
+ if (arg[0] == '+') {
+ ++arg;
+ incl_flag = 1;
+ }
high = parse_and_eval_address (arg);
+ if (incl_flag)
+ high += low;
}
print_disassembly (gdbarch, name, low, high, flags);
@@ -1548,7 +1557,8 @@ Default is the function surrounding the
With a /m modifier, source lines are included (if available).\n\
With a /r modifier, raw instructions in hex are included.\n\
With a single argument, the function surrounding that address is dumped.\n\
-Two arguments (separated by a comma) are taken as a range of memory to dump."));
+Two arguments (separated by a comma) are taken as a range of memory to dump,\n\
+ in the form of \"start,end\", or \"start,+length\"."));
set_cmd_completer (c, location_completer);
if (xdb_commands)
add_com_alias ("va", "disassemble", class_xdb, 0);
Index: gdb/doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.699
diff -u -p -r1.699 gdb.texinfo
--- gdb/doc/gdb.texinfo 9 Apr 2010 03:00:58 -0000 1.699
+++ gdb/doc/gdb.texinfo 9 Apr 2010 03:51:44 -0000
@@ -6549,9 +6549,11 @@ program counter of the selected frame.
command is a program counter value; @value{GDBN} dumps the function
surrounding this value. When two arguments are given, they should
be separated by a comma, possibly surrounded by whitespace. The
-arguments specify a range of addresses (first inclusive, second exclusive)
-to dump. In that case, the name of the function is also printed (since
-there could be several functions in the given range).
+arguments specify a range of addresses, in the form of "start,end" or
+"start,+length", stand for [start,end) and [start,start+length), (first
+inclusive, second exclusive) to dump. In that case, the name of the
+function is also printed (since there could be several functions in the
+given range).
The argument(s) can be any expression yielding a numeric value, such as
@samp{0x32c4}, @samp{&main+10} or @samp{$pc - 8}.
--
git v1.7.0.4, rqcheng at smu edu sg
next reply other threads:[~2010-04-09 4:11 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-09 4:11 crquan [this message]
2010-04-09 8:22 ` Eli Zaretskii
2010-04-09 9:35 ` Cheng Renquan
2010-04-09 10:29 ` Eli Zaretskii
2010-04-09 18:14 ` Tom Tromey
-- strict thread matches above, loose matches on Subject: below --
2010-04-10 21:01 crquan
2010-04-10 21:16 ` Eli Zaretskii
2010-04-10 21:23 ` Cheng Renquan
2010-04-13 23:29 ` Tom Tromey
2010-04-08 15:09 crquan
2010-04-09 2:16 ` Hui Zhu
2010-04-15 7:44 ` crquan
2010-04-15 17:08 ` Eli Zaretskii
2010-04-15 17:14 ` Nathan Froyd
2010-04-15 17:38 ` Eli Zaretskii
2010-04-16 1:36 ` crquan
2010-04-20 15:43 ` Tom Tromey
2010-04-20 18:43 ` crquan
2010-04-30 14:21 ` Hui Zhu
2010-07-09 2:53 ` crquan
2010-07-09 8:23 ` Eli Zaretskii
2010-07-09 11:32 ` crquan
2010-07-11 11:53 ` Hui Zhu
2010-07-11 17:28 ` Cheng Renquan
2010-07-27 16:04 ` Joel Brobecker
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=1270786615-29934-1-git-send-email-crquan@gmail.com \
--to=crquan@gmail.com \
--cc=brobecker@adacore.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=teawater@gmail.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