13274fc342
(gdb_print_insn): Likewise. * disasm.c (dump_insns): Add GDBARCH parameter. Use it instead of current_gdbarch. (do_mixed_source_and_assembly): Add GDBARCH parameter. Pass to dump_insns. (do_assembly_only): Likewise. (gdb_disassembly): Add GDBARCH parameter. Use it instead of current_gdbarch. Pass to subroutines. (gdb_print_insn): Add GDBARCH parameter. Use it instead of current_gdbarch. * stack.c (struct gdb_disassembly_stub_args): Add GDBARCH member. (gdb_disassembly_stub): Pass architecture to gdb_disassembly. (do_gdb_disassembly): Add GDBARCH argument. Store into args. (print_frame_info): Pass architecture to do_gdb_disassembly. * printcmd.c (print_formatted): Pass architecture to gdb_print_insn. * mi/mi-cmd-disas.c: Include "arch-utils.h" (mi_cmd_disassemble): Pass architecture to gdb_disassembly. * cli/cli-cmds.c: Include "arch-utils.h". (print_disassembly): Add GDBARCH parameter. Pass to gdb_disassembly and tui_show_assembly. (disassemble_current_function): Pass architecture to tui_get_low_disassembly_address and print_disassembly. (disassemble_command): Pass architecture to tui_get_low_disassembly_address and print_disassembly. * tui/tui.c (tui_show_assembly): Add GDBARCH parameter. Pass to tui_update_source_windows_with_addr. * tui/tui-data.h (struct tui_locator_element): Add GDBARCH member. (struct tui_source_info): Likewise. * tui/tui-data.c (tui_clear_win_detail): Clear source_info.gdbarch. * tui/tui-disasm.c (tui_disassemble): Add GDBARCH parameter. Pass to gdb_print_insn. (tui_find_disassembly_address): Add GDBARCH parameter. Pass to tui_disassemble. (tui_set_disassem_content): Add GDBARCH parameter. Install into source_info.gdbarch. Pass to tui_disassemble. (tui_show_disassem): Add GDBARCH parameter. Pass to tui_update_source_window. (tui_show_disassem_and_update_source): Add GDBARCH parameter. Pass to tui_show_disassem and tui_update_source_window. (tui_get_begin_asm_address): Return locator architecture in addition to locator PC value. (tui_get_low_disassembly_address): Add GDBARCH parameter. Pass to tui_get_low_disassembly_address. (tui_vertical_disassem_scroll): Pass architecture to subroutines. * tui/tui-disasm.h (tui_set_disassem_content): Add GDBARCH parameter. (tui_show_disassem): Likewise. (tui_show_disassem_and_update_source): Likewise. (tui_get_begin_asm_address): Return architecture and PC value. * tui/tui.h (tui_get_low_disassembly_address): Add GDBARCH parameter. (tui_show_assembly): Add GDBARCH parameter. * tui/tui-layout.c (extract_display_start_addr): Return current window architecture in addition to current PC value. (tui_set_layout): Update calls to tui_get_low_disassembly_address and extract_display_start_addr. Pass architecture to tui_update_source_windows_with_addr. * tui/tui-source.c: Include "objfiles.h". (tui_set_source_content): Initialize window architecture. (tui_show_symtab_source): Add GDBARCH parameter. Pass to tui_update_source_window_as_is * tui/tui-source.h (tui_show_symtab_source): Add GDBARCH parameter. * tui/tui-stack.c (tui_set_locator_info): Add GDBARCH parameter. Install locator architecture. (tui_set_locator_filename): Update call. (tui_show_frame_info): Pass architecture to tui_set_locator_info and subroutines. * tui/tui-win.c (make_visible_with_new_height): Pass architecture to tui_update_source_window. * tui/tui-winsource.c: Include "objfiles.h". (tui_display_main): Update call to tui_get_begin_asm_address. Pass architecture to tui_update_source_windows_with_addr. (tui_update_source_window): Add GDBARCH parameter. Pass to tui_update_source_window_as_is. (tui_update_source_window_as_is): Add GDBARCH parameter. Pass to tui_set_disassem_content. (tui_update_source_windows_with_addr): Add GDBARCH parameter. Pass to subroutines. (tui_update_source_windows_with_line): Pass objfile architecture to subroutines. (tui_horizontal_source_scroll): Pass architecture to tui_update_source_window_as_is. * tui/tui-winsource.h (tui_update_source_window): Add GDBARCH parameter. (tui_update_source_window_as_is): Likewise. (tui_update_source_windows_with_addr): Likewise.
80 lines
3 KiB
C
80 lines
3 KiB
C
/* TUI display source/assembly window.
|
|
|
|
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2007, 2008, 2009
|
|
Free Software Foundation, Inc.
|
|
|
|
Contributed by Hewlett-Packard Company.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef TUI_SOURCEWIN_H
|
|
#define TUI_SOURCEWIN_H
|
|
|
|
#include "tui/tui-data.h"
|
|
|
|
struct tui_win_info;
|
|
|
|
/* Update the execution windows to show the active breakpoints. This
|
|
is called whenever a breakpoint is inserted, removed or has its
|
|
state changed. */
|
|
extern void tui_update_all_breakpoint_info (void);
|
|
|
|
/* Scan the source window and the breakpoints to update the hasBreak
|
|
information for each line. Returns 1 if something changed and the
|
|
execution window must be refreshed. */
|
|
extern int tui_update_breakpoint_info (struct tui_win_info *win,
|
|
int current_only);
|
|
|
|
/* Function to display the "main" routine. */
|
|
extern void tui_display_main (void);
|
|
extern void tui_update_source_window (struct tui_win_info *,
|
|
struct gdbarch *, struct symtab *,
|
|
struct tui_line_or_address,
|
|
int);
|
|
extern void tui_update_source_window_as_is (struct tui_win_info *,
|
|
struct gdbarch *, struct symtab *,
|
|
struct tui_line_or_address,
|
|
int);
|
|
extern void tui_update_source_windows_with_addr (struct gdbarch *, CORE_ADDR);
|
|
extern void tui_update_source_windows_with_line (struct symtab *,
|
|
int);
|
|
extern void tui_clear_source_content (struct tui_win_info *, int);
|
|
extern void tui_erase_source_content (struct tui_win_info *, int);
|
|
extern void tui_show_source_content (struct tui_win_info *);
|
|
extern void tui_horizontal_source_scroll (struct tui_win_info *,
|
|
enum tui_scroll_direction,
|
|
int);
|
|
extern enum tui_status tui_set_exec_info_content (struct tui_win_info *);
|
|
extern void tui_show_exec_info_content (struct tui_win_info *);
|
|
extern void tui_erase_exec_info_content (struct tui_win_info *);
|
|
extern void tui_clear_exec_info_content (struct tui_win_info *);
|
|
extern void tui_update_exec_info (struct tui_win_info *);
|
|
|
|
extern void tui_set_is_exec_point_at (struct tui_line_or_address,
|
|
struct tui_win_info *);
|
|
extern enum tui_status tui_alloc_source_buffer (struct tui_win_info *);
|
|
extern int tui_line_is_displayed (int,
|
|
struct tui_win_info *,
|
|
int);
|
|
extern int tui_addr_is_displayed (CORE_ADDR,
|
|
struct tui_win_info *,
|
|
int);
|
|
|
|
|
|
/* Constant definitions. */
|
|
#define SCROLL_THRESHOLD 2 /* Threshold for lazy scroll. */
|
|
|
|
#endif
|