[PATCHv2 0/2] Changes to frame selection.

Andrew Burgess
2018-05-08T16:58:56Z

This is an update of this patch series:

https://sourceware.org/ml/gdb-patches/2015-09/msg00248.html

In summary this patch means that instead of simply:

(gdb) frame NUMBER|ADDRESS-OF-EXISTING-FRAME|ADDRESS-OF-NEW-FRAME

we now have:

(gdb) frame NUMBER
(gdb) frame level NUMBER
(gdb) frame address ADDRESS-OF-EXISTING-FRAME
(gdb) frame create ADDRESS-OF-NEW-FRAME
(gdb) frame function NAME

The same flexibility is added to 'select-frame' and 'info frame'.

From the original patch series, some of the patches are no longer
needed (due to other upstream changes) and some of the patches were
already approved and merged. It is only the last two patches that are
needed, and these are presented here.

Patch #1 is preperation work, and is just a rebase of what I had
before. This patch was actually approved previously, but I didn't
merge it as without the second patch this doesn't make much sense.

Patch #2 is the interesting stuff, and this has been rebased, and
updated inline with the feedback I originally got, specifically, the
frame specification is now implemented using sub-commands, rather than
using a single parse function.

I'm aware of this patch series:

https://sourceware.org/ml/gdb-patches/2018-05/msg00152.html

That also makes changes to the 'frame' command, and though there will
obviously be textual conflicts, I don't think there's any
functionality conflicts.

--

Andrew Burgess (2):
gdb: Split func_command into two parts.
gdb: Change how frames are selected for 'frame' and 'info frame'.

gdb/ChangeLog | 40 ++
gdb/NEWS | 29 ++
gdb/cli/cli-decode.c | 44 ++-
gdb/command.h | 14 +
gdb/doc/ChangeLog | 8 +
gdb/doc/gdb.texinfo | 91 +++--
gdb/mi/mi-cmd-stack.c | 4 +-
gdb/stack.c | 564 +++++++++++++++++++---------
gdb/stack.h | 2 +-
gdb/testsuite/ChangeLog | 7 +
gdb/testsuite/gdb.base/frame-selection.c | 52 +++
gdb/testsuite/gdb.base/frame-selection.exp | 156 ++++++++
gdb/testsuite/gdb.mi/mi-frame-selection.c | 34 ++
gdb/testsuite/gdb.mi/mi-frame-selection.exp | 90 +++++
14 files changed, 920 insertions(+), 215 deletions(-)
create mode 100644 gdb/testsuite/gdb.base/frame-selection.c
create mode 100644 gdb/testsuite/gdb.base/frame-selection.exp
create mode 100644 gdb/testsuite/gdb.mi/mi-frame-selection.c
create mode 100644 gdb/testsuite/gdb.mi/mi-frame-selection.exp

--
2.14.3