public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v7 0/3] disass: Add /x modifier
@ 2020-09-26  8:50 fam
  2020-09-26  8:50 ` [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex fam
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: fam @ 2020-09-26  8:50 UTC (permalink / raw)
  To: gdb-patches
  Cc: Eli Zaretskii, fam, Andreas Schwab, Pedro Alves, Andrew Burgess,
	Simon Marchi

From: Fam Zheng <famzheng@amazon.com>

v7: Fix texinfo node name in ChangeLog. [Eli]

v6: Add texinfo section name in ChangeLog. [Eli]

v5: Add function names in ChangeLog. [Eli]

v4: Add ChangeLog entries. [Eli]

v3: Add a test, more doc, and drop tmp buffer. [Andreas, Simon, Pedro]

This is a new modifier for disass command, to print offsets in hex. This
reduces pain for low level debugging (Linux kernel, Xen, etc.) when the
backtraces from dmesg are in hex - no manual converting needed to do a cross
matching when looking at both sides at the same time.

Fam Zheng (3):
  disass: Add /x modifier to print offsets in hex
  disass: Add test for /x mode
  disass: Add texinfo doc for the /x modifier

 gdb/NEWS                                |  3 ++
 gdb/cli/cli-cmds.c                      | 17 +++++++----
 gdb/disasm.c                            |  5 +++-
 gdb/disasm.h                            |  1 +
 gdb/doc/gdb.texinfo                     | 38 +++++++++++++++++++------
 gdb/record.c                            |  3 ++
 gdb/testsuite/gdb.base/disasm-optim.exp |  7 +++++
 7 files changed, 59 insertions(+), 15 deletions(-)

-- 
2.25.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex
  2020-09-26  8:50 [PATCH v7 0/3] disass: Add /x modifier fam
@ 2020-09-26  8:50 ` fam
  2020-10-12  9:56   ` Fam Zheng
  2020-11-12 20:16   ` Tom Tromey
  2020-09-26  8:50 ` [PATCH v7 2/3] disass: Add test for /x mode fam
  2020-09-26  8:50 ` [PATCH v7 3/3] disass: Add texinfo doc for the /x modifier fam
  2 siblings, 2 replies; 8+ messages in thread
From: fam @ 2020-09-26  8:50 UTC (permalink / raw)
  To: gdb-patches
  Cc: Eli Zaretskii, fam, Andreas Schwab, Pedro Alves, Andrew Burgess,
	Simon Marchi

From: Fam Zheng <famzheng@amazon.com>

Backtrace messages printed by Linux kernel and Xen have hex offsets,
e.g.:

(XEN) Xen call trace:
(XEN)    [<ffff82d0402eefbb>] R guest_walk_tables_2_levels+0x189/0x66d
(XEN)    [<ffff82d0402edbbd>] F hap_p2m_ga_to_gfn_2_levels+0x112/0x25b
(XEN)    [<ffff82d0402edd22>] F hap_gva_to_gfn_2_levels+0x1c/0x1e
(XEN)    [<ffff82d0402f832e>] F paging_gva_to_gfn+0x14a/0x167

Having this modifier saves converting between hex values from the
backtrace log and offsets in gdb disass output.

gdb/ChangeLog:

2020-09-25  Fam Zheng  <famzheng@amazon.com>

	* NEWS: Mention the /x modifier of disass.
	* cli/cli-cmds.c (disassemble_current_function): Add usage text
	for /x modifier.
	(disassemble_command): Parse /x modifier for disass.
	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
	Handle /x modifier.
	* disasm.h (enum gdb_disassembly_flag): Add a new flag for /x
	modifier.
	* record.c (get_insn_history_modifiers): Parse /x modifier.
---
 gdb/NEWS           |  3 +++
 gdb/cli/cli-cmds.c | 17 ++++++++++++-----
 gdb/disasm.c       |  5 ++++-
 gdb/disasm.h       |  1 +
 gdb/record.c       |  3 +++
 5 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/gdb/NEWS b/gdb/NEWS
index f30d718331..ba1cf76b36 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -3,6 +3,9 @@
 
 *** Changes since GDB 10
 
+* A new modifier '/x' is added to disassemble command, to print instruction
+  offsets in hex.
+
 * MI changes
 
  ** '-break-insert --qualified' and '-dprintf-insert --qualified'
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index e3965fea07..e10544a734 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1456,12 +1456,12 @@ disassemble_current_function (gdb_disassembly_flags flags)
 /* Dump a specified section of assembly code.
 
    Usage:
-     disassemble [/mrs]
+     disassemble [/mrsx]
        - dump the assembly code for the function of the current pc
-     disassemble [/mrs] addr
+     disassemble [/mrsx] addr
        - dump the assembly code for the function at ADDR
-     disassemble [/mrs] low,high
-     disassemble [/mrs] low,+length
+     disassemble [/mrsx] low,high
+     disassemble [/mrsx] 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 in a
@@ -1472,6 +1472,8 @@ disassemble_current_function (gdb_disassembly_flags flags)
 
    A /r modifier will include raw instructions in hex with the assembly.
 
+   A /x modifier will print offsets in hex.
+
    A /s modifier will include source code with the assembly, like /m, with
    two important differences:
    1) The output is still in pc address order.
@@ -1510,6 +1512,9 @@ disassemble_command (const char *arg, int from_tty)
 	    case 'r':
 	      flags |= DISASSEMBLY_RAW_INSN;
 	      break;
+	    case 'x':
+	      flags |= DISASSEMBLY_HEX_OFFSET;
+	      break;
 	    case 's':
 	      flags |= DISASSEMBLY_SOURCE;
 	      break;
@@ -2535,7 +2540,7 @@ can be shown using \"show listsize\"."));
 
   c = add_com ("disassemble", class_vars, disassemble_command, _("\
 Disassemble a specified section of memory.\n\
-Usage: disassemble[/m|/r|/s] START [, END]\n\
+Usage: disassemble[/m|/r|/s|/x] START [, END]\n\
 Default is the function surrounding the pc of the selected frame.\n\
 \n\
 With a /s modifier, source lines are included (if available).\n\
@@ -2551,6 +2556,8 @@ in favor of /s.\n\
 \n\
 With a /r modifier, raw instructions in hex are included.\n\
 \n\
+With a /x modifier, offsets are printed in hex.\n\
+\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,\n\
   in the form of \"start,end\", or \"start,+length\".\n\
diff --git a/gdb/disasm.c b/gdb/disasm.c
index e45c840068..c681d8b1e9 100644
--- a/gdb/disasm.c
+++ b/gdb/disasm.c
@@ -250,7 +250,10 @@ gdb_pretty_print_disassembler::pretty_print_insn (const struct disasm_insn *insn
 	   the offset takes the place of the "+" here.  */
 	if (offset >= 0)
 	  m_uiout->text ("+");
-	m_uiout->field_signed ("offset", offset);
+	m_uiout->field_fmt ("offset",
+			    ((flags & DISASSEMBLY_HEX_OFFSET) != 0
+			     ? "0x%x" : "%d"),
+			    offset);
 	m_uiout->text (">:\t");
       }
     else
diff --git a/gdb/disasm.h b/gdb/disasm.h
index b0f535eaa2..fb293650de 100644
--- a/gdb/disasm.h
+++ b/gdb/disasm.h
@@ -31,6 +31,7 @@ enum gdb_disassembly_flag
     DISASSEMBLY_OMIT_PC = (0x1 << 4),
     DISASSEMBLY_SOURCE = (0x1 << 5),
     DISASSEMBLY_SPECULATIVE = (0x1 << 6),
+    DISASSEMBLY_HEX_OFFSET = (0x1 << 7),
   };
 DEF_ENUM_FLAGS_TYPE (enum gdb_disassembly_flag, gdb_disassembly_flags);
 
diff --git a/gdb/record.c b/gdb/record.c
index 759395d5bc..44591e8cf0 100644
--- a/gdb/record.c
+++ b/gdb/record.c
@@ -494,6 +494,9 @@ get_insn_history_modifiers (const char **arg)
 	    case 'r':
 	      modifiers |= DISASSEMBLY_RAW_INSN;
 	      break;
+	    case 'x':
+	      modifiers |= DISASSEMBLY_HEX_OFFSET;
+	      break;
 	    case 'f':
 	      modifiers |= DISASSEMBLY_OMIT_FNAME;
 	      break;
-- 
2.25.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v7 2/3] disass: Add test for /x mode
  2020-09-26  8:50 [PATCH v7 0/3] disass: Add /x modifier fam
  2020-09-26  8:50 ` [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex fam
@ 2020-09-26  8:50 ` fam
  2020-11-12 20:17   ` Tom Tromey
  2020-09-26  8:50 ` [PATCH v7 3/3] disass: Add texinfo doc for the /x modifier fam
  2 siblings, 1 reply; 8+ messages in thread
From: fam @ 2020-09-26  8:50 UTC (permalink / raw)
  To: gdb-patches
  Cc: Eli Zaretskii, fam, Andreas Schwab, Pedro Alves, Andrew Burgess,
	Simon Marchi

From: Fam Zheng <famzheng@amazon.com>

gdb/testsuite/ChangeLog:

2020-09-25  Fam Zheng  <famzheng@amazon.com>

	* gdb.base/disasm-optim.exp: Add test for /x.
---
 gdb/testsuite/gdb.base/disasm-optim.exp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gdb/testsuite/gdb.base/disasm-optim.exp b/gdb/testsuite/gdb.base/disasm-optim.exp
index 179e76ad0e..8c28fe10de 100644
--- a/gdb/testsuite/gdb.base/disasm-optim.exp
+++ b/gdb/testsuite/gdb.base/disasm-optim.exp
@@ -38,3 +38,10 @@ gdb_test_sequence "disassemble /s main" \
 	"disasm-optim\\.h:\r\n22"
 	"End of assembler dump\\."
     }
+
+gdb_test_sequence "disassemble /x main" \
+    "Disassemble main with source" {
+	"Dump of assembler code for function main:"
+	"=> 0x[0-9a-f]* \\<\\+0x0>:"
+	"End of assembler dump\\."
+    }
-- 
2.25.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v7 3/3] disass: Add texinfo doc for the /x modifier
  2020-09-26  8:50 [PATCH v7 0/3] disass: Add /x modifier fam
  2020-09-26  8:50 ` [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex fam
  2020-09-26  8:50 ` [PATCH v7 2/3] disass: Add test for /x mode fam
@ 2020-09-26  8:50 ` fam
  2 siblings, 0 replies; 8+ messages in thread
From: fam @ 2020-09-26  8:50 UTC (permalink / raw)
  To: gdb-patches
  Cc: Eli Zaretskii, fam, Andreas Schwab, Pedro Alves, Andrew Burgess,
	Simon Marchi

From: Fam Zheng <famzheng@amazon.com>

gdb/doc/ChangeLog:

2020-09-25  Fam Zheng  <famzheng@amazon.com>

	* gdb.texinfo (Machine Code): Document /x modifier of disass
	command.
---
 gdb/doc/gdb.texinfo | 38 +++++++++++++++++++++++++++++---------
 1 file changed, 29 insertions(+), 9 deletions(-)

diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 8bff27c940..4dad72a34f 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -9514,16 +9514,20 @@ line.
 @itemx disassemble /m
 @itemx disassemble /s
 @itemx disassemble /r
-This specialized command dumps a range of memory as machine
-instructions.  It can also print mixed source+disassembly by specifying
-the @code{/m} or @code{/s} modifier and print the raw instructions in hex
-as well as in symbolic form by specifying the @code{/r} modifier.
-The default memory range is the function surrounding the
-program counter of the selected frame.  A single argument to this
+@itemx disassemble /x
+This specialized command dumps a range of memory as machine instructions.
+If the address of an instruction resolves to a symbol, such as a function
+name, the symbol name and the offset are printed following the instruction
+address.  The offset is in decimal by default and in hex if @code{/x} is
+modifier is used.  It can also print mixed source+disassembly by
+specifying the @code{/m} or @code{/s} modifier and print the raw
+instructions in hex as well as in symbolic form by specifying the
+@code{/r} modifier.  The default memory range is the function surrounding
+the program counter of the selected frame.  A single argument to this
 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 to dump, in one of two forms:
+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 to dump, in one of two forms:
 
 @table @code
 @item @var{start},@var{end}
@@ -9561,6 +9565,22 @@ Dump of assembler code from 0x32c4 to 0x32e4:
 End of assembler dump.
 @end smallexample
 
+@code{/x} could be used to show offsets in hex:
+
+@smallexample
+(@value{GDBP}) disas /x 0x32c4, 0x32e4
+Dump of assembler code from 0x32c4 to 0x32e4:
+   0x32c4 <main+0xcc>:      addil 0,dp
+   0x32c8 <main+0xd0>:      ldw 0x22c(sr0,r1),r26
+   0x32cc <main+0xd4>:      ldil 0x3000,r31
+   0x32d0 <main+0xd8>:      ble 0x3f8(sr4,r31)
+   0x32d4 <main+0xdc>:      ldo 0(r31),rp
+   0x32d8 <main+0xe0>:      addil -0x800,dp
+   0x32dc <main+0xe4>:      ldo 0x588(r1),r26
+   0x32e0 <main+0xe8>:      ldil 0x3000,r31
+End of assembler dump.
+@end smallexample
+
 Here is an example showing mixed source+assembly for Intel x86
 with @code{/m} or @code{/s}, when the program is stopped just after
 function prologue in a non-optimized function with no inline code.
-- 
2.25.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex
  2020-09-26  8:50 ` [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex fam
@ 2020-10-12  9:56   ` Fam Zheng
  2020-10-12 15:05     ` Eli Zaretskii
  2020-11-12 20:16   ` Tom Tromey
  1 sibling, 1 reply; 8+ messages in thread
From: Fam Zheng @ 2020-10-12  9:56 UTC (permalink / raw)
  To: gdb-patches
  Cc: Eli Zaretskii, Andreas Schwab, Pedro Alves, Andrew Burgess, Simon Marchi

Ping?

On Sat, 26 Sep 2020, 09:51 , <fam@euphon.net> wrote:

> From: Fam Zheng <famzheng@amazon.com>
>
> Backtrace messages printed by Linux kernel and Xen have hex offsets,
> e.g.:
>
> (XEN) Xen call trace:
> (XEN)    [<ffff82d0402eefbb>] R guest_walk_tables_2_levels+0x189/0x66d
> (XEN)    [<ffff82d0402edbbd>] F hap_p2m_ga_to_gfn_2_levels+0x112/0x25b
> (XEN)    [<ffff82d0402edd22>] F hap_gva_to_gfn_2_levels+0x1c/0x1e
> (XEN)    [<ffff82d0402f832e>] F paging_gva_to_gfn+0x14a/0x167
>
> Having this modifier saves converting between hex values from the
> backtrace log and offsets in gdb disass output.
>
> gdb/ChangeLog:
>
> 2020-09-25  Fam Zheng  <famzheng@amazon.com>
>
>         * NEWS: Mention the /x modifier of disass.
>         * cli/cli-cmds.c (disassemble_current_function): Add usage text
>         for /x modifier.
>         (disassemble_command): Parse /x modifier for disass.
>         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
>         Handle /x modifier.
>         * disasm.h (enum gdb_disassembly_flag): Add a new flag for /x
>         modifier.
>         * record.c (get_insn_history_modifiers): Parse /x modifier.
> ---
>  gdb/NEWS           |  3 +++
>  gdb/cli/cli-cmds.c | 17 ++++++++++++-----
>  gdb/disasm.c       |  5 ++++-
>  gdb/disasm.h       |  1 +
>  gdb/record.c       |  3 +++
>  5 files changed, 23 insertions(+), 6 deletions(-)
>
> diff --git a/gdb/NEWS b/gdb/NEWS
> index f30d718331..ba1cf76b36 100644
> --- a/gdb/NEWS
> +++ b/gdb/NEWS
> @@ -3,6 +3,9 @@
>
>  *** Changes since GDB 10
>
> +* A new modifier '/x' is added to disassemble command, to print
> instruction
> +  offsets in hex.
> +
>  * MI changes
>
>   ** '-break-insert --qualified' and '-dprintf-insert --qualified'
> diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
> index e3965fea07..e10544a734 100644
> --- a/gdb/cli/cli-cmds.c
> +++ b/gdb/cli/cli-cmds.c
> @@ -1456,12 +1456,12 @@ disassemble_current_function
> (gdb_disassembly_flags flags)
>  /* Dump a specified section of assembly code.
>
>     Usage:
> -     disassemble [/mrs]
> +     disassemble [/mrsx]
>         - dump the assembly code for the function of the current pc
> -     disassemble [/mrs] addr
> +     disassemble [/mrsx] addr
>         - dump the assembly code for the function at ADDR
> -     disassemble [/mrs] low,high
> -     disassemble [/mrs] low,+length
> +     disassemble [/mrsx] low,high
> +     disassemble [/mrsx] 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 in a
> @@ -1472,6 +1472,8 @@ disassemble_current_function (gdb_disassembly_flags
> flags)
>
>     A /r modifier will include raw instructions in hex with the assembly.
>
> +   A /x modifier will print offsets in hex.
> +
>     A /s modifier will include source code with the assembly, like /m, with
>     two important differences:
>     1) The output is still in pc address order.
> @@ -1510,6 +1512,9 @@ disassemble_command (const char *arg, int from_tty)
>             case 'r':
>               flags |= DISASSEMBLY_RAW_INSN;
>               break;
> +           case 'x':
> +             flags |= DISASSEMBLY_HEX_OFFSET;
> +             break;
>             case 's':
>               flags |= DISASSEMBLY_SOURCE;
>               break;
> @@ -2535,7 +2540,7 @@ can be shown using \"show listsize\"."));
>
>    c = add_com ("disassemble", class_vars, disassemble_command, _("\
>  Disassemble a specified section of memory.\n\
> -Usage: disassemble[/m|/r|/s] START [, END]\n\
> +Usage: disassemble[/m|/r|/s|/x] START [, END]\n\
>  Default is the function surrounding the pc of the selected frame.\n\
>  \n\
>  With a /s modifier, source lines are included (if available).\n\
> @@ -2551,6 +2556,8 @@ in favor of /s.\n\
>  \n\
>  With a /r modifier, raw instructions in hex are included.\n\
>  \n\
> +With a /x modifier, offsets are printed in hex.\n\
> +\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,\n\
>    in the form of \"start,end\", or \"start,+length\".\n\
> diff --git a/gdb/disasm.c b/gdb/disasm.c
> index e45c840068..c681d8b1e9 100644
> --- a/gdb/disasm.c
> +++ b/gdb/disasm.c
> @@ -250,7 +250,10 @@ gdb_pretty_print_disassembler::pretty_print_insn
> (const struct disasm_insn *insn
>            the offset takes the place of the "+" here.  */
>         if (offset >= 0)
>           m_uiout->text ("+");
> -       m_uiout->field_signed ("offset", offset);
> +       m_uiout->field_fmt ("offset",
> +                           ((flags & DISASSEMBLY_HEX_OFFSET) != 0
> +                            ? "0x%x" : "%d"),
> +                           offset);
>         m_uiout->text (">:\t");
>        }
>      else
> diff --git a/gdb/disasm.h b/gdb/disasm.h
> index b0f535eaa2..fb293650de 100644
> --- a/gdb/disasm.h
> +++ b/gdb/disasm.h
> @@ -31,6 +31,7 @@ enum gdb_disassembly_flag
>      DISASSEMBLY_OMIT_PC = (0x1 << 4),
>      DISASSEMBLY_SOURCE = (0x1 << 5),
>      DISASSEMBLY_SPECULATIVE = (0x1 << 6),
> +    DISASSEMBLY_HEX_OFFSET = (0x1 << 7),
>    };
>  DEF_ENUM_FLAGS_TYPE (enum gdb_disassembly_flag, gdb_disassembly_flags);
>
> diff --git a/gdb/record.c b/gdb/record.c
> index 759395d5bc..44591e8cf0 100644
> --- a/gdb/record.c
> +++ b/gdb/record.c
> @@ -494,6 +494,9 @@ get_insn_history_modifiers (const char **arg)
>             case 'r':
>               modifiers |= DISASSEMBLY_RAW_INSN;
>               break;
> +           case 'x':
> +             modifiers |= DISASSEMBLY_HEX_OFFSET;
> +             break;
>             case 'f':
>               modifiers |= DISASSEMBLY_OMIT_FNAME;
>               break;
> --
> 2.25.1
>
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex
  2020-10-12  9:56   ` Fam Zheng
@ 2020-10-12 15:05     ` Eli Zaretskii
  0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2020-10-12 15:05 UTC (permalink / raw)
  To: Fam Zheng; +Cc: gdb-patches, schwab, pedro, andrew.burgess, simark

> From: Fam Zheng <fam@euphon.net>
> Date: Mon, 12 Oct 2020 10:56:57 +0100
> Cc: Eli Zaretskii <eliz@gnu.org>, Andreas Schwab <schwab@linux-m68k.org>, Pedro Alves <pedro@palves.net>, 
> 	Andrew Burgess <andrew.burgess@embecosm.com>, Simon Marchi <simark@simark.ca>
> 
> Ping?

OK for the documentation parts.

Thanks.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex
  2020-09-26  8:50 ` [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex fam
  2020-10-12  9:56   ` Fam Zheng
@ 2020-11-12 20:16   ` Tom Tromey
  1 sibling, 0 replies; 8+ messages in thread
From: Tom Tromey @ 2020-11-12 20:16 UTC (permalink / raw)
  To: fam; +Cc: gdb-patches, Andreas Schwab, Simon Marchi

>>>>> ">" == fam  <fam@euphon.net> writes:

>> 2020-09-25  Fam Zheng  <famzheng@amazon.com>

>> 	* NEWS: Mention the /x modifier of disass.
>> 	* cli/cli-cmds.c (disassemble_current_function): Add usage text
>> 	for /x modifier.
>> 	(disassemble_command): Parse /x modifier for disass.
>> 	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
>> 	Handle /x modifier.
>> 	* disasm.h (enum gdb_disassembly_flag): Add a new flag for /x
>> 	modifier.
>> 	* record.c (get_insn_history_modifiers): Parse /x modifier.

Thank you for the patch.  This looks good to me.

Do you have a copyright assignment in place, or in progress?
If not, contact me off-list and we can get things started.
That is a prerequisite for getting this in.

Tom

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 2/3] disass: Add test for /x mode
  2020-09-26  8:50 ` [PATCH v7 2/3] disass: Add test for /x mode fam
@ 2020-11-12 20:17   ` Tom Tromey
  0 siblings, 0 replies; 8+ messages in thread
From: Tom Tromey @ 2020-11-12 20:17 UTC (permalink / raw)
  To: fam; +Cc: gdb-patches, Andreas Schwab, Simon Marchi

>>>>> ">" == fam  <fam@euphon.net> writes:

>> 2020-09-25  Fam Zheng  <famzheng@amazon.com>

>> 	* gdb.base/disasm-optim.exp: Add test for /x.

Looks good.  Normally we'd have the test suite patch in with the main
patch, but I don't think it's a huge deal.

Tom

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-11-12 20:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-26  8:50 [PATCH v7 0/3] disass: Add /x modifier fam
2020-09-26  8:50 ` [PATCH v7 1/3] disass: Add /x modifier to print offsets in hex fam
2020-10-12  9:56   ` Fam Zheng
2020-10-12 15:05     ` Eli Zaretskii
2020-11-12 20:16   ` Tom Tromey
2020-09-26  8:50 ` [PATCH v7 2/3] disass: Add test for /x mode fam
2020-11-12 20:17   ` Tom Tromey
2020-09-26  8:50 ` [PATCH v7 3/3] disass: Add texinfo doc for the /x modifier fam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).