aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui/tui-stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tui/tui-stack.c')
-rw-r--r--gdb/tui/tui-stack.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/gdb/tui/tui-stack.c b/gdb/tui/tui-stack.c
index f618d7c..0068610 100644
--- a/gdb/tui/tui-stack.c
+++ b/gdb/tui/tui-stack.c
@@ -342,16 +342,23 @@ tui_show_frame_info (struct frame_info *fi)
struct tui_gen_win_info *locator = tui_locator_win_info_ptr ();
int source_already_displayed;
struct symtab_and_line sal;
+ CORE_ADDR pc;
find_frame_sal (fi, &sal);
source_already_displayed = sal.symtab != 0
&& tui_source_is_displayed (sal.symtab->filename);
- tui_set_locator_info (get_frame_arch (fi),
- sal.symtab == 0 ? "??" : sal.symtab->filename,
- tui_get_function_from_frame (fi),
- sal.line,
- get_frame_pc (fi));
+
+ if (get_frame_pc_if_available (fi, &pc))
+ tui_set_locator_info (get_frame_arch (fi),
+ sal.symtab == 0 ? "??" : sal.symtab->filename,
+ tui_get_function_from_frame (fi),
+ sal.line,
+ pc);
+ else
+ tui_set_locator_info (get_frame_arch (fi),
+ "??", _("<unavailable>"), sal.line, 0);
+
tui_show_locator_content ();
start_line = 0;
for (i = 0; i < (tui_source_windows ())->count; i++)