From: Marco Barisione <mbarisione@undo.io>
To: gdb-patches@sourceware.org
Subject: [PATCH v2 0/5] Add support for command renaming
Date: Mon, 25 Jan 2021 11:26:44 +0000 [thread overview]
Message-ID: <20210125112649.56362-1-mbarisione@undo.io> (raw)
In-Reply-To: <20210108100706.96190-1-mbarisione@undo.io>
This patch series adds support for command renaming to GDB. See the
first email of this thread for details on the rationale and design.
This second version fixes a few style issues, a bug in my code, and the
way the prefix name for prefix commands is set. In particular:
* Patch 1: add lookup_cmd_exact to simplify a common pattern
Same as before except for style fixes.
* Patch 2: prevent prefix commands from being hooks
Same as before.
* Patch 3: update the docs for add_cmd and do_add_cmd to match reality
Same as before.
* Patch 4: generate the prefix name for prefix commands on demand
New patch which changes how the prefix name is set/generated.
This simplifies a lot of existing code and the code from the next
patch. Moreover, it fixes what I think could lead to a use after
free (based on reading code, I didn't actually reproduce any crash).
* Patch 5: Add support for renaming commands
Updated version of what was before patch 4.
This contains a few style fixes and makes delete_cmd_by_name use
the lookup_cmd_exact function rather than find_cmd.
Note that patches 1 to 4 are needed for the new feature but could be
merged separately as they are improvements to the existing code.
Marco Barisione (5):
gdb: add lookup_cmd_exact to simplify a common pattern
gdb: prevent prefix commands from being hooks
gdb: update the docs for add_cmd and do_add_cmd to match reality
gdb: generate the prefix name for prefix commands on demand
gdb: Add support for renaming commands
gdb/NEWS | 26 +
gdb/ada-lang.c | 8 +-
gdb/arm-tdep.c | 4 +-
gdb/auto-load.c | 9 +-
gdb/breakpoint.c | 20 +-
gdb/bsd-kvm.c | 2 +-
gdb/btrace.c | 9 +-
gdb/cli/cli-cmds.c | 12 +-
gdb/cli/cli-decode.c | 731 ++++++++++++++----
gdb/cli/cli-decode.h | 29 +-
gdb/cli/cli-dump.c | 16 +-
gdb/cli/cli-logging.c | 4 +-
gdb/cli/cli-script.c | 375 +++++++--
gdb/cli/cli-setshow.c | 11 +-
gdb/cli/cli-style.c | 11 +-
gdb/cli/cli-style.h | 3 -
gdb/command.h | 110 ++-
gdb/compile/compile.c | 2 +-
gdb/cp-support.c | 1 -
gdb/dcache.c | 5 +-
gdb/doc/gdb.texinfo | 55 +-
gdb/doc/python.texi | 38 +-
gdb/dwarf2/index-cache.c | 4 +-
gdb/dwarf2/read.c | 4 +-
gdb/f-lang.c | 4 +-
gdb/frame.c | 4 +-
gdb/gnu-nat.c | 12 +-
gdb/go32-nat.c | 2 +-
gdb/guile/guile.c | 9 +-
gdb/guile/scm-cmd.c | 2 +-
gdb/i386-tdep.c | 4 +-
gdb/infcmd.c | 8 +-
gdb/language.c | 4 +-
gdb/macrocmd.c | 2 +-
gdb/maint-test-options.c | 3 +-
gdb/maint-test-settings.c | 2 -
gdb/maint.c | 18 +-
gdb/memattr.c | 4 +-
gdb/mips-tdep.c | 6 +-
gdb/printcmd.c | 2 +-
gdb/probe.c | 3 +-
gdb/python/py-cmd.c | 228 ++++--
gdb/python/python-internal.h | 1 +
gdb/python/python.c | 6 +-
gdb/ravenscar-thread.c | 4 +-
gdb/record-btrace.c | 16 +-
gdb/record-full.c | 6 +-
gdb/record.c | 10 +-
gdb/remote.c | 6 +-
gdb/riscv-tdep.c | 8 +-
gdb/rs6000-tdep.c | 4 +-
gdb/ser-tcp.c | 4 +-
gdb/serial.c | 4 +-
gdb/sh-tdep.c | 4 +-
gdb/skip.c | 2 +-
gdb/sparc64-tdep.c | 2 +-
gdb/stack.c | 8 +-
gdb/symfile.c | 2 +-
gdb/symtab.c | 3 +-
gdb/target-descriptions.c | 6 +-
gdb/target.c | 2 +-
gdb/testsuite/gdb.base/command-renaming.exp | 571 ++++++++++++++
gdb/testsuite/gdb.base/define-prefix.exp | 24 +
.../gdb.python/py-rename-existing.exp | 364 +++++++++
.../gdb.python/py-rename-existing.py | 46 ++
gdb/thread.c | 4 +-
gdb/top.c | 10 +-
gdb/tracepoint.c | 2 +-
gdb/tui/tui-layout.c | 2 +-
gdb/tui/tui-win.c | 8 +-
gdb/typeprint.c | 6 +-
gdb/unittests/command-def-selftests.c | 4 +-
gdb/utils.c | 4 -
gdb/valprint.c | 10 +-
gdb/value.c | 2 +-
gdb/windows-tdep.c | 2 +-
76 files changed, 2434 insertions(+), 529 deletions(-)
create mode 100644 gdb/testsuite/gdb.base/command-renaming.exp
create mode 100644 gdb/testsuite/gdb.python/py-rename-existing.exp
create mode 100644 gdb/testsuite/gdb.python/py-rename-existing.py
--
2.28.0
next prev parent reply other threads:[~2021-01-25 11:26 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-08 10:07 [PATCH 0/4] " Marco Barisione
2021-01-08 10:07 ` [PATCH 1/4] gdb: add lookup_cmd_exact to simplify a common pattern Marco Barisione
2021-01-10 0:06 ` Lancelot SIX
2021-01-17 10:47 ` Marco Barisione
2021-01-17 19:02 ` Lancelot SIX
2021-01-25 11:33 ` Luis Machado
2021-01-08 10:07 ` [PATCH 2/4] gdb: prevent prefix commands from being hooks Marco Barisione
2021-01-08 10:07 ` [PATCH 3/4] gdb: update the docs for add_cmd and do_add_cmd to match reality Marco Barisione
2021-01-08 10:07 ` [PATCH 4/4] gdb: Add support for renaming commands Marco Barisione
2021-01-08 10:30 ` Eli Zaretskii
2021-01-25 11:26 ` Marco Barisione [this message]
2021-01-25 11:26 ` [PATCH v2 1/5] gdb: add lookup_cmd_exact to simplify a common pattern Marco Barisione
2021-03-08 18:58 ` Simon Marchi
2021-05-07 14:47 ` Marco Barisione
2021-01-25 11:26 ` [PATCH v2 2/5] gdb: prevent prefix commands from being hooks Marco Barisione
2021-03-08 21:32 ` Simon Marchi
2021-03-09 9:42 ` Marco Barisione
2021-03-16 3:17 ` Simon Marchi
2021-05-07 14:59 ` Marco Barisione
2021-05-07 19:30 ` Simon Marchi
2021-05-07 20:11 ` Marco Barisione
2021-05-14 20:38 ` [PATCH v3 " Marco Barisione
2021-01-25 11:26 ` [PATCH v2 3/5] gdb: update the docs for add_cmd and do_add_cmd to match reality Marco Barisione
2021-03-08 22:52 ` Simon Marchi
2021-03-08 23:10 ` Simon Marchi
2021-05-14 20:39 ` [PATCH v3 3/5] gdb: move declarations and docs for cli-decode.c to cli-decode.h Marco Barisione
2021-01-25 11:26 ` [PATCH v2 4/5] gdb: generate the prefix name for prefix commands on demand Marco Barisione
2021-03-08 23:25 ` Simon Marchi
2021-03-16 17:00 ` Simon Marchi
2021-05-12 11:10 ` Marco Barisione
2021-01-25 11:26 ` [PATCH v2 5/5] gdb: Add support for renaming commands Marco Barisione
2021-03-23 18:45 ` Simon Marchi
2021-05-14 20:41 ` [PATCH v3 5/5] gdb: add " Marco Barisione
2021-02-08 17:53 ` [PING] [PATCH v2 0/5] Add support for command renaming Marco Barisione
2021-02-15 8:27 ` [PING2] " Marco Barisione
2021-02-22 8:28 ` [PING 3] " Marco Barisione
2021-03-01 8:32 ` [PING 4] " Marco Barisione
2021-03-08 9:23 ` [PING 5] " Marco Barisione
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=20210125112649.56362-1-mbarisione@undo.io \
--to=mbarisione@undo.io \
--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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).