gdb: introduce new 'maint flush ' prefix command
authorAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 20 Nov 2020 19:08:06 +0000 (19:08 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Sun, 13 Dec 2020 12:36:15 +0000 (12:36 +0000)
commit50a5f1878e22b09ebea30ad60a2164b80af6efdb
treecd8cd90d92c67b71fa0b41da54d54543fbb49b7d
parent7393df7f3fb404a605af9f2b9d4b8698c6fcc7df
gdb: introduce new 'maint flush ' prefix command

We currently have two flushing commands 'flushregs' and 'maint
flush-symbol-cache'.  I'm planning to add at least one more so I
thought it might be nice if we bundled these together into one place.

And so I created the 'maint flush ' command prefix.  Currently there
are two commands:

  (gdb) maint flush symbol-cache
  (gdb) maint flush register-cache

Unfortunately, even though both of the existing flush commands are
maintenance commands, I don't know how keen we about deleting existing
commands for fear of breaking things in the wild.  So, both of the
existing flush commands 'maint flush-symbol-cache' and 'flushregs' are
still around as deprecated aliases to the new commands.

I've updated the testsuite to use the new command syntax, and updated
the documentation too.

gdb/ChangeLog:

* NEWS: Mention new commands, and that the old commands are now
deprecated.
* cli/cli-cmds.c (maintenanceflushlist): Define.
* cli/cli-cmds.h (maintenanceflushlist): Declare.
* maint.c (_initialize_maint_cmds): Initialise
maintenanceflushlist.
* regcache.c: Add 'cli/cli-cmds.h' include.
(reg_flush_command): Add header comment.
(_initialize_regcache): Create new 'maint flush register-cache'
command, make 'flushregs' an alias.
* symtab.c: Add 'cli/cli-cmds.h' include.
(_initialize_symtab): Create new 'maint flush symbol-cache'
command, make old command an alias.

gdb/doc/ChangeLog:

* gdb.texinfo (Symbols): Document 'maint flush symbol-cache'.
(Maintenance Commands): Document 'maint flush register-cache'.

gdb/testsuite/ChangeLog:

* gdb.base/c-linkage-name.exp: Update to use new 'maint flush ...'
commands.
* gdb.base/killed-outside.exp: Likewise.
* gdb.opt/inline-bt.exp: Likewise.
* gdb.perf/gmonster-null-lookup.py: Likewise.
* gdb.perf/gmonster-print-cerr.py: Likewise.
* gdb.perf/gmonster-ptype-string.py: Likewise.
* gdb.python/py-unwind.exp: Likewise.
17 files changed:
gdb/ChangeLog
gdb/NEWS
gdb/cli/cli-cmds.c
gdb/cli/cli-cmds.h
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/maint.c
gdb/regcache.c
gdb/symtab.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/c-linkage-name.exp
gdb/testsuite/gdb.base/killed-outside.exp
gdb/testsuite/gdb.opt/inline-bt.exp
gdb/testsuite/gdb.perf/gmonster-null-lookup.py
gdb/testsuite/gdb.perf/gmonster-print-cerr.py
gdb/testsuite/gdb.perf/gmonster-ptype-string.py
gdb/testsuite/gdb.python/py-unwind.exp