From 1d4f574102b243b00dead2f2ed9493c812cc07c9 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Fri, 18 Mar 2011 18:48:56 +0000 Subject: [PATCH] gdb/ * stack.c (print_frame_local_vars, print_frame_arg_vars): Handle unavailable PC. --- gdb/ChangeLog | 5 +++++ gdb/stack.c | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 388e5d6b5a5..7fb05100cf4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-03-18 Pedro Alves + + * stack.c (print_frame_local_vars, print_frame_arg_vars): Handle + unavailable PC. + 2011-03-18 Pedro Alves * tracepoint.c (set_traceframe_context): Handle unavailable PC 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) -- 2.30.2