Adding architecture-specific commands in GDB

Matthieu Longo via Gdb <[email protected]> Mon, 22 Jun 2026 17:26:02 +0100
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Hi all,

Today, GDB seems to support architecture-specific commands for show/set [1]. However, it is not
clear to me whether any commands beyond the scope of show/set can/should be easily added.

My usecase consists in adding AArch64-specific commands to dump some tables and permissions set up
by the Linux kernel.

# Constraints:
1. The tables are AArch64 specific and don't fit into an existing command.
2. The permissions/capability views require to fetch information in different tables and procfs
files to be computed, so the computation of such permissions/capabilities is very tied to the
architecture specificities.

Since I don't see how I could add those features to existing commands, I was thinking about adding
them under an "aarch64" namespace, and following the semantic of existing generic commands as much
as possible.

# Examples

## Dumping the tables

  show aarch64 <feature>-tables [TABLE_NAME]*

NB: those tables should only be set by the kernel, only read access is required. The content is tied
to the architecture.

## Dumping permissions

  aarch64 info <feature> <permissions-type> [some other options and args]

## Dumping capabilities for a code or data

  aarch64 info <feature> caps [some other options and args]

Please note that in the previous examples, <feature> is a subcommand of info, and <permissions-type>
or caps are subcommands of <feature>.
Note: "info aarch64 <subcommand> <subsubcommand>" might make more sense than "aarch64 info
<subcommand> <subsubcommand>" given the existing show/set commands.

Please let me know if adding such architecture-specific commands is possible today, or if it
requires changing the current commands framework.

Those new commands would really be needed for debugging the new AArch64 feature and are not optional.
Is such an architecture-specific support undesirable ?
Should such commands be moved to Python extensions even if they are essential ?

[1]: https://sourceware.org/gdb/current/onlinedocs/gdb.html/Embedded-Processors.html#Embedded-Processors

Regards,
Matthieu