-stack-list-arguments will crash when stopped in an Ada procedure that
has an argument with a certain name ("_objectO" -- which can only be
generated by the compiler). The bug occurs because lookup_symbol will
fail in this case.
This patch changes -stack-list-arguments to mirror what is done with
arguments elsewhere. (As an aside, I don't understand why this lookup
is even needed, but I assume it is some stabs thing?)
In the longer term I think it would be good to share this code between
MI and the CLI. However, due to the upcoming release, I preferred a
more local fix.
gdb/ChangeLog
2020-07-22 Tom Tromey <tromey@adacore.com>
* mi/mi-cmd-stack.c (list_args_or_locals): Use
lookup_symbol_search_name.
gdb/testsuite/ChangeLog
2020-07-22 Tom Tromey <tromey@adacore.com>
* gdb.ada/mi_prot.exp: New file.
* gdb.ada/mi_prot/pkg.adb: New file.
* gdb.ada/mi_prot/pkg.ads: New file.
* gdb.ada/mi_prot/prot.adb: New file.
|
||
|---|---|---|
| .. | ||
| ChangeLog-1999-2003 | ||
| mi-cmd-break.c | ||
| mi-cmd-break.h | ||
| mi-cmd-catch.c | ||
| mi-cmd-disas.c | ||
| mi-cmd-env.c | ||
| mi-cmd-file.c | ||
| mi-cmd-info.c | ||
| mi-cmd-stack.c | ||
| mi-cmd-target.c | ||
| mi-cmd-var.c | ||
| mi-cmds.c | ||
| mi-cmds.h | ||
| mi-common.c | ||
| mi-common.h | ||
| mi-console.c | ||
| mi-console.h | ||
| mi-getopt.c | ||
| mi-getopt.h | ||
| mi-interp.c | ||
| mi-interp.h | ||
| mi-main.c | ||
| mi-main.h | ||
| mi-out.c | ||
| mi-out.h | ||
| mi-parse.c | ||
| mi-parse.h | ||
| mi-symbol-cmds.c | ||