[PATCH] disassemble support start,+length format

Hui Zhu teawater@gmail.com
Fri Apr 9 02:16:00 GMT 2010


Cool.  I like this patch.

I think what we need a changelog like:
2010-04-08  H.J. Lu  <hongjiu.lu@intel.com>

	* i387-tdep.c (i387_collect_xsave): Replace abort with
	internal_error.

And we need update this change to doc in doc/gdb.texinfo and new entry in NEWS.

Thanks,
Hui

On Thu, Apr 8, 2010 at 23:14,  <crquan@gmail.com> wrote:
> From: CHENG Renquan <rqcheng@smu.edu.sg>
>
> add new support for disassemble by "start,+length" format
>
>  gdb/cli/cli-cmds.c |   16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
>
> --- gdb/cli/cli-cmds.c.orig     2010-01-18 14:25:22.000000000 +0800
> +++ gdb/cli/cli-cmds.c  2010-04-08 23:06:25.816107001 +0800
> @@ -1045,8 +1045,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.  */
> @@ -1117,8 +1118,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);
> @@ -1546,7 +1555,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);
>
> --
> git v1.7.0.4, rqcheng at smu edu sg
>



More information about the Gdb-patches mailing list