From: Eli Zaretskii <eliz@gnu.org>
To: Andrew Burgess <aburgess@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] gdb/python: allow Architecture.disassemble to give styled output
Date: Fri, 20 Mar 2026 17:48:40 +0200 [thread overview]
Message-ID: <86h5qacxif.fsf@gnu.org> (raw)
In-Reply-To: <2412723aff2f39ed778743b957d2ab8da51335e1.1774020654.git.aburgess@redhat.com> (message from Andrew Burgess on Fri, 20 Mar 2026 15:31:11 +0000)
> From: Andrew Burgess <aburgess@redhat.com>
> Cc: Andrew Burgess <aburgess@redhat.com>
> Date: Fri, 20 Mar 2026 15:31:11 +0000
>
> Extend the Architecture.disassemble API to allow the user to request
> styled disassembler output via a new styling argument. A user can now
> write:
>
> insn = arch.disassemble(address, styling = True)
>
> The instruction strings returned within INSN will contain ANSI escape
> sequences so long as 'set style enabled on' is in effect. This means
> that the user's personal settings (disabling styling) will override a
> GDB extension that requests styled disassembler output. I think this
> makes sense.
>
> The default for the styling argument is False, this maintains the
> current unstyled output as default.
> ---
> gdb/NEWS | 5 +
> gdb/doc/python.texi | 7 +-
> gdb/python/py-arch.c | 11 +-
> .../gdb.python/py-arch-disasm-style.c | 52 ++++++++
> .../gdb.python/py-arch-disasm-style.exp | 119 ++++++++++++++++++
> 5 files changed, 189 insertions(+), 5 deletions(-)
> create mode 100644 gdb/testsuite/gdb.python/py-arch-disasm-style.c
> create mode 100644 gdb/testsuite/gdb.python/py-arch-disasm-style.exp
>
> diff --git a/gdb/NEWS b/gdb/NEWS
> index e46a5108272..da74c248c54 100644
> --- a/gdb/NEWS
> +++ b/gdb/NEWS
> @@ -229,6 +229,11 @@ qExecAndArgs
> the appropriate user setting is enabled, and GDB knows how to
> style this source file.
>
> + ** The Architecture.disassemble method accepts a new 'styling'
> + argument, which defaults to False. When set to True the 'asm'
> + strings in the disassembler output can contain ANSI escape
> + sequences to indicate styling.
> +
> * Guile API
This part is okay.
> --- a/gdb/doc/python.texi
> +++ b/gdb/doc/python.texi
> @@ -7632,7 +7632,7 @@ Architectures In Python
> Return the name (string value) of the architecture.
> @end defun
>
> -@defun Architecture.disassemble (start_pc @r{[}, end_pc @r{[}, count@r{]]})
> +@defun Architecture.disassemble (start_pc @r{[}, end_pc @r{[}, count@r{]]} @w{@r{[}, styling = @code{False}@r{]}})
> Return a list of disassembled instructions starting from the memory
> address @var{start_pc}. The optional arguments @var{end_pc} and
> @var{count} determine the number of instructions in the returned list.
> @@ -7661,6 +7661,11 @@ Architectures In Python
> language flavor used is the same as that specified by the current CLI
> variable @code{disassembly-flavor}. @xref{Machine Code}.
>
> +When the optional argument @var{styling} is @code{True} the @var{asm}
> +string can contain ANSI terminal escape sequences if styling is
> +enabled (@pxref{Output Styling}). When @var{styling} is @code{False},
> +which is the default, then no styling will be applied to @var{asm}.
> +
This is also okay, but I don't think @var is correct for "asm", since
those are literal strings, not symbols that stand for something else.
Thanks.
Reviewed-By: Eli Zaretskii <eliz@gnu.org>
next prev parent reply other threads:[~2026-03-20 15:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-20 15:31 Andrew Burgess
2026-03-20 15:48 ` Eli Zaretskii [this message]
2026-03-23 10:17 ` Andrew Burgess
2026-03-20 17:54 ` Tom Tromey
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=86h5qacxif.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=aburgess@redhat.com \
--cc=gdb-patches@sourceware.org \
/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