summaryrefslogtreecommitdiff
path: root/gdb/stack.c
diff options
context:
space:
mode:
authorPedro Alves <pedro@codesourcery.com>2011-03-18 18:48:56 +0000
committerPedro Alves <pedro@codesourcery.com>2011-03-18 18:48:56 +0000
commit54471ddd7cceafe5ecbea8a7d63c35a960c8d899 (patch)
treeda23bb3b7c3ca1f5afa78d1505f32088fca24f82 /gdb/stack.c
parentbf729a7b2ff73fdef8d5e1c21f6a3bba0cead5e6 (diff)
downloadgdb-54471ddd7cceafe5ecbea8a7d63c35a960c8d899.tar.gz
gdb/
* stack.c (print_frame_local_vars, print_frame_arg_vars): Handle unavailable PC.
Diffstat (limited to 'gdb/stack.c')
-rw-r--r--gdb/stack.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gdb/stack.c b/gdb/stack.c
index dba77d4bf30..0888b69d3f3 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -1629,6 +1629,14 @@ print_frame_local_vars (struct frame_info *frame, int num_tabs,
{
struct print_variable_and_value_data cb_data;
struct block *block;
+ CORE_ADDR pc;
+
+ if (!get_frame_pc_if_available (frame, &pc))
+ {
+ fprintf_filtered (stream,
+ _("PC unavailable, cannot determine locals.\n"));
+ return;
+ }
block = get_frame_block (frame, 0);
if (block == 0)
@@ -1781,6 +1789,13 @@ print_frame_arg_vars (struct frame_info *frame, struct ui_file *stream)
{
struct print_variable_and_value_data cb_data;
struct symbol *func;
+ CORE_ADDR pc;
+
+ if (!get_frame_pc_if_available (frame, &pc))
+ {
+ fprintf_filtered (stream, _("PC unavailable, cannot determine args.\n"));
+ return;
+ }
func = get_frame_function (frame);
if (func == NULL)