[PATCH 0/9] Disassembler opcode display and text alignment
Andrew Burgess
aburgess@redhat.com
Mon Jul 25 18:28:18 GMT 2022
Ping!
Thanks,
Andrew
Andrew Burgess <aburgess@redhat.com> writes:
> This series makes two related changes to GDB's disassembler. Both
> changes flow naturally from having GDB make use of libopcodes
> bytes_per_line and bytes_per_chunk presentation hints that are set on
> a per-architecure basis with each call into the disassembler.
>
> The end result of this change is that GDB will now display instruction
> opcodes in the same way that objdump does.
>
> For x86-64 there's no change in the way that opcode bytes are
> presented. Now due to some special case, it's just that how GDB lays
> out instruction opcodes just happens to match how libopcodes requests
> that the opcodes be laid out.
>
> For other architectures, risc-v, powerpc, arm, aarch64, etc, this is
> not the case, and I (personally) think objdump does a better job of
> presenting the information that GDB does; the instruction opcodes will
> be grouped together based on the instruction size, and potentially
> byte-swapped so they appear in the instruction's natural order.
>
> Making use of the display hints also allows for better alignment of
> the disassembly text when opcodes are being printed.
>
> I have proposed that this new behaviour become the default for
> 'disassemble /r', and I've added a new flag 'disassemble /b' which
> allows the user to access the old behaviour.
>
> But, if people feel strongly that the old 'disassemble /r' should not
> be changed, I can place the new behaviour under a new flag.
>
> Let me know your thoughts,
>
> Thanks,
> Andrew
>
> ---
>
> Andrew Burgess (9):
> gdb/doc: improve description of --data-disassemble opcodes output
> gdb/testsuite: new test for -data-disassemble opcodes format
> gdb/disasm: read opcodes bytes with a single read_code call
> gdb: disassembler opcode display formatting
> gdb: make gdb_disassembly_flag unsigned
> gdb/doc: fix column widths in MI compatibility table
> gdb/doc: update syntax of -data-disassemble command arguments
> gdb/mi: some int to bool conversion
> gdb/mi: new options for -data-disassemble command
>
> gdb/NEWS | 12 ++
> gdb/cli/cli-cmds.c | 6 +
> gdb/disasm-flags.h | 3 +-
> gdb/disasm.c | 55 +++++++--
> gdb/disasm.h | 3 +
> gdb/doc/gdb.texinfo | 137 ++++++++++++++++-----
> gdb/mi/mi-cmd-disas.c | 105 ++++++++++++----
> gdb/record.c | 3 +
> gdb/testsuite/gdb.mi/mi-disassemble.exp | 153 ++++++++++++++++++++----
> gdb/testsuite/lib/mi-support.exp | 27 +++++
> 10 files changed, 417 insertions(+), 87 deletions(-)
>
> --
> 2.25.4
More information about the Gdb-patches
mailing list