/* Function to display the disassembly window. */ void tui_show_disassem_and_update_source (struct gdbarch *gdbarch, CORE_ADDR start_addr) { struct symtab_and_line sal; tui_show_disassem (gdbarch, start_addr); if (tui_current_layout () == SRC_DISASSEM_COMMAND) { struct tui_line_or_address val; /* Update what is in the source window if it is displayed too, note that it follows what is in the disassembly window and visa-versa. */ sal = find_pc_line (start_addr, 0); val.loa = LOA_LINE; val.u.line_no = sal.line; tui_update_source_window (TUI_SRC_WIN, gdbarch, sal.symtab, val, TRUE); if (sal.symtab) { set_current_source_symtab_and_line (&sal); tui_update_locator_fullname (symtab_to_fullname (sal.symtab)); } else tui_update_locator_fullname ("?"); } return; }
/* Function to display the "main" routine. */ void tui_display_main (void) { if ((tui_source_windows ())->count > 0) { struct gdbarch *gdbarch; CORE_ADDR addr; tui_get_begin_asm_address (&gdbarch, &addr); if (addr != (CORE_ADDR) 0) { struct symtab *s; tui_update_source_windows_with_addr (gdbarch, addr); s = find_pc_line_symtab (addr); if (s != NULL) tui_update_locator_fullname (symtab_to_fullname (s)); else tui_update_locator_fullname ("??"); } } }