diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2009-07-02 17:17:42 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2009-07-02 17:17:42 +0000 |
commit | 13274fc342aae3c94dbb38f01ba7d8f2e3821ddf (patch) | |
tree | e72b727f8733ee6062bf1fdb1eaf3d604af79b59 /gdb/tui/tui-layout.c | |
parent | a6d9a66e2318b2002461996aeb5d4f18a0a9d3d6 (diff) | |
download | gdb-13274fc342aae3c94dbb38f01ba7d8f2e3821ddf.zip gdb-13274fc342aae3c94dbb38f01ba7d8f2e3821ddf.tar.gz gdb-13274fc342aae3c94dbb38f01ba7d8f2e3821ddf.tar.bz2 |
* disasm.h (gdb_disassembly): Add GDBARCH parameter.
(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.
Diffstat (limited to 'gdb/tui/tui-layout.c')
-rw-r--r-- | gdb/tui/tui-layout.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index 09fd0c3..75edde4 100644 --- a/gdb/tui/tui-layout.c +++ b/gdb/tui/tui-layout.c @@ -67,7 +67,7 @@ static enum tui_layout_type prev_layout (void); static void tui_layout_command (char *, int); static void tui_toggle_layout_command (char *, int); static void tui_toggle_split_layout_command (char *, int); -static CORE_ADDR extract_display_start_addr (void); +static void extract_display_start_addr (struct gdbarch **, CORE_ADDR *); static void tui_handle_xdb_layout (struct tui_layout_def *); @@ -143,10 +143,12 @@ tui_set_layout (enum tui_layout_type layout_type, enum tui_layout_type cur_layout = tui_current_layout (), new_layout = UNDEFINED_LAYOUT; int regs_populate = FALSE; - CORE_ADDR addr = extract_display_start_addr (); + struct gdbarch *gdbarch; + CORE_ADDR addr; struct tui_win_info *win_with_focus = tui_win_with_focus (); struct tui_layout_def *layout_def = tui_layout_def (); + extract_display_start_addr (&gdbarch, &addr); if (layout_type == UNDEFINED_LAYOUT && regs_display_type != TUI_UNDEFINED_REGS) @@ -192,7 +194,7 @@ tui_set_layout (enum tui_layout_type layout_type, 2. if target was compiled without -g We still want to show the assembly though! */ - addr = tui_get_begin_asm_address (); + tui_get_begin_asm_address (&gdbarch, &addr); tui_set_win_focus_to (TUI_DISASM_WIN); layout_def->display_mode = DISASSEM_WIN; layout_def->split = FALSE; @@ -206,7 +208,7 @@ tui_set_layout (enum tui_layout_type layout_type, 2. if target was compiled without -g We still want to show the assembly though! */ - addr = tui_get_begin_asm_address (); + tui_get_begin_asm_address (&gdbarch, &addr); if (win_with_focus == TUI_SRC_WIN) tui_set_win_focus_to (TUI_SRC_WIN); else @@ -230,7 +232,7 @@ tui_set_layout (enum tui_layout_type layout_type, 2. if target was compiled without -g We still want to show the assembly though! */ - addr = tui_get_begin_asm_address (); + tui_get_begin_asm_address (&gdbarch, &addr); if (win_with_focus != TUI_DATA_WIN) tui_set_win_focus_to (TUI_DISASM_WIN); else @@ -250,7 +252,7 @@ tui_set_layout (enum tui_layout_type layout_type, || new_layout == DISASSEM_DATA_COMMAND)) tui_display_all_data (); - tui_update_source_windows_with_addr (addr); + tui_update_source_windows_with_addr (gdbarch, addr); } if (regs_populate) { @@ -516,10 +518,11 @@ tui_set_layout_for_display_command (const char *layout_name) } -static CORE_ADDR -extract_display_start_addr (void) +static void +extract_display_start_addr (struct gdbarch **gdbarch_p, CORE_ADDR *addr_p) { enum tui_layout_type cur_layout = tui_current_layout (); + struct gdbarch *gdbarch = NULL; CORE_ADDR addr; CORE_ADDR pc; struct symtab_and_line cursal = get_current_source_symtab_and_line (); @@ -528,6 +531,7 @@ extract_display_start_addr (void) { case SRC_COMMAND: case SRC_DATA_COMMAND: + gdbarch = TUI_SRC_WIN->detail.source_info.gdbarch; find_line_pc (cursal.symtab, TUI_SRC_WIN->detail.source_info.start_line_or_addr.u.line_no, &pc); @@ -536,6 +540,7 @@ extract_display_start_addr (void) case DISASSEM_COMMAND: case SRC_DISASSEM_COMMAND: case DISASSEM_DATA_COMMAND: + gdbarch = TUI_DISASM_WIN->detail.source_info.gdbarch; addr = TUI_DISASM_WIN->detail.source_info.start_line_or_addr.u.addr; break; default: @@ -543,7 +548,8 @@ extract_display_start_addr (void) break; } - return addr; + *gdbarch_p = gdbarch; + *addr_p = addr; } |