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/cli | |
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/cli')
-rw-r--r-- | gdb/cli/cli-cmds.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index 0211489..c9cdfbe 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "defs.h" +#include "arch-utils.h" #include "readline/readline.h" #include "readline/tilde.h" #include "completer.h" @@ -892,7 +893,8 @@ list_command (char *arg, int from_tty) MIXED is non-zero to print source with the assembler. */ static void -print_disassembly (const char *name, CORE_ADDR low, CORE_ADDR high, int mixed) +print_disassembly (struct gdbarch *gdbarch, const char *name, + CORE_ADDR low, CORE_ADDR high, int mixed) { #if defined(TUI) if (!tui_is_window_visible (DISASSEM_WIN)) @@ -905,7 +907,7 @@ print_disassembly (const char *name, CORE_ADDR low, CORE_ADDR high, int mixed) printf_filtered ("from %s to %s:\n", paddress (low), paddress (high)); /* Dump the specified range. */ - gdb_disassembly (uiout, 0, mixed, -1, low, high); + gdb_disassembly (gdbarch, uiout, 0, mixed, -1, low, high); printf_filtered ("End of assembler dump.\n"); gdb_flush (gdb_stdout); @@ -913,7 +915,7 @@ print_disassembly (const char *name, CORE_ADDR low, CORE_ADDR high, int mixed) #if defined(TUI) else { - tui_show_assembly (low); + tui_show_assembly (gdbarch, low); } #endif } @@ -925,10 +927,14 @@ print_disassembly (const char *name, CORE_ADDR low, CORE_ADDR high, int mixed) static void disassemble_current_function (int mixed) { + struct frame_info *frame; + struct gdbarch *gdbarch; CORE_ADDR low, high, pc; char *name; - pc = get_frame_pc (get_selected_frame (_("No frame selected."))); + frame = get_selected_frame (_("No frame selected.")); + gdbarch = get_frame_arch (frame); + pc = get_frame_pc (frame); if (find_pc_partial_function (pc, &name, &low, &high) == 0) error (_("No function contains program counter for selected frame.")); #if defined(TUI) @@ -936,11 +942,11 @@ disassemble_current_function (int mixed) `tui_version'. */ if (tui_active) /* FIXME: cagney/2004-02-07: This should be an observer. */ - low = tui_get_low_disassembly_address (low, pc); + low = tui_get_low_disassembly_address (gdbarch, low, pc); #endif - low += gdbarch_deprecated_function_start_offset (current_gdbarch); + low += gdbarch_deprecated_function_start_offset (gdbarch); - print_disassembly (name, low, high, mixed); + print_disassembly (gdbarch, name, low, high, mixed); } /* Dump a specified section of assembly code. @@ -958,6 +964,7 @@ disassemble_current_function (int mixed) static void disassemble_command (char *arg, int from_tty) { + struct gdbarch *gdbarch = get_current_arch (); CORE_ADDR low, high; char *name; CORE_ADDR pc, pc_masked; @@ -1010,9 +1017,9 @@ disassemble_command (char *arg, int from_tty) `tui_version'. */ if (tui_active) /* FIXME: cagney/2004-02-07: This should be an observer. */ - low = tui_get_low_disassembly_address (low, pc); + low = tui_get_low_disassembly_address (gdbarch, low, pc); #endif - low += gdbarch_deprecated_function_start_offset (current_gdbarch); + low += gdbarch_deprecated_function_start_offset (gdbarch); } else { @@ -1022,7 +1029,7 @@ disassemble_command (char *arg, int from_tty) high = parse_and_eval_address (space_index + 1); } - print_disassembly (name, low, high, mixed_source_and_assembly); + print_disassembly (gdbarch, name, low, high, mixed_source_and_assembly); } static void |