* defs.h (strlen_paddr, paddr, paddr_nz): Remove.
authorUlrich Weigand <uweigand@de.ibm.com>
Thu, 2 Jul 2009 17:21:10 +0000 (17:21 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Thu, 2 Jul 2009 17:21:10 +0000 (17:21 +0000)
(paddress): Add GDBARCH parameter.
* utils.c (strlen_paddr, paddr, paddr_nz): Remove.
(paddress): Add GDBARCH parameter, use it instead of current_gdbarch.
* ui-out.h (ui_out_field_core_addr): Add GDBARCH parameter.
* ui-out.c (ui_out_field_core_addr): Add GDBARCH parameter,
use it instead of current_gdbarch.

Update calls to ui_out_field_core_addr to pass architecture:
* ada-lang.c (print_one_exception): Update.
* breakpoint.c (print_one_breakpoint_location,
print_one_exception_catchpoint): Update.
* disasm.c (dump_insns): Update.
* darwin-nat-info.c (darwin_debug_regions_recurse): Update.
* mi/mi-main.c (mi_cmd_data_read_memory): Update.
* mi/mi-symbol-cmds.c: Include "objfiles.h".
(mi_cmd_symbol_list_lines): Update.
* stack.c (print_frame_info, print_frame): Update.

Update callers of paddress to pass architecture:
* ada-tasks.c (info_task): Update.
* ada-valprint.c (ada_val_print_1): Update.
* annotate.c (annotate_source, annotate_frame_begin): Update.
* breakpoint.c (insert_bp_location, describe_other_breakpoints,
mention): Update.
* cli/cli-cmds.c (edit_command, list_command, print_disassembly):
Update.
* corefile.c (memory_error): Update.
* c-valprint.c (print_function_pointer_address, c_val_print): Update.
* disasm.c (dis_asm_print_address): Update.
* exec.c (print_section_info): Update.
* f-valprint.c (f_val_print): Update.
* infcmd.c: Include "arch-utils.h".
(jump_command, program_info): Update.
* linux-fork.c: Include "arch-utils.h".
(info_forks_command): Update.
* m2-valprint.c (print_function_pointer_address,
print_unpacked_pointer, print_variable_at_address,
m2_val_print): Update.
* m32r-rom.c (m32r_load_section, m32r_load, m32r_upload_command):
Update.
* printcmd.c (print_address, print_address_demangle, address_info):
Update.
* p-valprint.c (pascal_val_print): Update.
* source.c: Include "arch-utils.h".
(line_info): Update.
* stack.c (frame_info, print_block_frame_labels): Update.
* symfile.c (add_symbol_file_command, list_overlays_command): Update.
* symmisc.c (dump_msymbols, dump_psymtab, dump_symtab_1,
print_symbol, print_partial_symbols, maintenance_info_psymtabs,
maintenance_check_symtabs): Update.
* symtab.c (find_pc_sect_symtab): Update.
* target.c (deprecated_debug_xfer_memory): Update.
* tracepoint.c (scope_info): Update.
* tui/tui-stack.c (tui_make_status_line): Update.
* valprint.c (val_print_string): Update.

Update callers of paddr_nz to use paddress instead (keeping
user-visible output identical):
* alpha-tdep.c (alpha_heuristic_proc_start): Update.
* amd64-tdep.c (fixup_riprel, amd64_displaced_step_copy_insn,
amd64_displaced_step_fixup): Update.
* arch-utils.c (simple_displaced_step_copy_insn): Update.
* auxv.c (fprint_target_auxv): Update.
* breakpoint.c (insert_single_step_breakpoint): Update.
* buildsym.c (finish_block): Update.
* cli/cli-dump.c (restore_section_callback): Update.
* fbsd-nat.c (fbsd_find_memory_regions): Update.
* frame.c (frame_unwind_register_value): Update.
* gcore.c (gcore_create_callback): Update.
* hppa-tdep.c (hppa_frame_cache, hppa_skip_trampoline_code): Update.
* i386-tdep.c (i386_displaced_step_fixup, i386_record_modrm,
i386_record_lea_modrm_addr, i386_record_lea_modrm,
i386_process_record): Update.
* ia64-tdep.c (ia64_frame_this_id, ia64_sigtramp_frame_this_id,
ia64_libunwind_frame_this_id, ia64_libunwind_sigtramp_frame_this_id,
ia64_dummy_id, ia64_access_reg, ia64_access_rse_reg): Update.
* infrun.c (displaced_step_prepare, displaced_step_fixup,
handle_inferior_event, insert_step_resume_breakpoint_at_sal,
insert_longjmp_resume_breakpoint): Update.
* linux-nat.c (linux_nat_find_memory_regions): Update.
* linux-record.c (record_linux_system_call): Update.
* mips-tdep.c (heuristic_proc_start, mips_eabi_push_dummy_call,
mips_n32n64_push_dummy_call, mips_o32_push_dummy_call,
mips_o64_push_dummy_call): Update.
* monitor.c (monitor_error, monitor_remove_breakpoint): Update.
* record.c (record_arch_list_add_mem, record_wait,
record_xfer_partial): Update.
* remote-mips.c (mips_fetch_word, mips_check_lsi_error,
mips_common_breakpoint): Update.
* remote-sim.c (gdbsim_xfer_inferior_memory): Update.
* rs6000-tdep.c (ppc_displaced_step_fixup): Update.
* solib-som.c (som_current_sos): Update.
* symfile.c (load_progress, generic_load): Update.
* symfile-mem.c (add_vsyscall_page): Update.
* valops.c (value_fetch_lazy): Update.
* windows-tdep.c (windows_xfer_shared_library): Update.

Update callers of paddr_nz to use paddress instead (changing
user-visible output to make it more correct):
* dwarf2loc.c (locexpr_describe_location): Update.
* ia64-tdep.c (ia64_memory_insert_breakpoint,
ia64_memory_remove_breakpoint): Update.
* jv-valprint.c (java_value_print): Update.
* m32c-tdep.c (m32c_m16c_address_to_pointer): Update.
* monitor.c (monitor_read_memory): Update.

Update callers of paddr to use paddress instead (changing
user-visible output to make it more correct):
* arm-tdep.c (arm_push_dummy_call): Update.
* breakpoint.c (insert_bp_location, create_thread_event_breakpoint,
create_breakpoint): Update.
* darwin-nat-info.c (darwin_debug_regions): Update.
* dcache.c (dcache_info): Update.
* dsrec.c (load_srec, make_srec): Update.
* dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program,
dwarf2_frame_cache): Update.
* gcore.c (gcore_copy_callback): Update.
* gnu-nat.c (gnu_xfer_memory): Update.
* mips-linux-nat.c (mips_show_dr): Update.
* monitor.c (monitor_write_memory, monitor_insert_breakpoint,
monitor_remove_breakpoint): Update.
* remote.c (compare_sections_command): Update.
* remote-m32r-sdi.c (m32r_xfer_memory, m32r_insert_breakpoint,
m32r_remove_breakpoint, m32r_insert_watchpoint,
m32r_remove_watchpoint): Update.
* sol-thread.c (info_cb): Update.
* symfile.c (load_progress): Update.

Update callers of paddress or paddr_nz to use hex_string instead
(changes output of internal/error/debug messages only):
* dwarf2read.c (dump_die_shallow): Update.
* frame.c (fprint_field, fprint_frame, frame_pc_unwind,
get_frame_func, create_new_frame): Update.
* hppa-tdep.c (find_unwind_entry, unwind_command): Update.
* ia64-tdep.c (get_kernel_table, ia64_find_proc_info_x,
ia64_get_dyn_info_list): Update.
* maint.c (maintenance_translate_address): Update.
* mi/mi-cmd-var.c (mi_cmd_var_create): Update.
* target.c (target_flash_erase): Update.

Update callers of paddr/paddr_nz to use phex/phex_nz instead,
using an appropriate address size.  Remove use of strlen_paddr.
* exec.c (exec_files_info): Update.
* i386-nat.c (i386_show_dr): Update.
* remote.c (remote_flash_erase): Update.
* m32r-rom.c (m32r_load_section): Update.
* monitor.c (monitor_vsprintf, monitor_store_register): Update.
* remote.c (remote_check_symbols, remote_search_memory): Update.
* remote-mips.c (mips_request, mips_common_breakpoint): Update.
* scm-valprint.c (scm_ipruk, scm_scmval_print): Update.
* sh64-tdep.c (sh64_show_media_regs, sh64_show_compact_regs): Update.
* sh-tdep.c (sh_generic_show_regs, sh3_show_regs, sh2e_show_regs,
sh2a_show_regs, sh2a_nofpu_show_regs, sh3e_show_regs,
sh3_dsp_show_regs, sh4_show_regs, sh4_nofpu_show_regs,
sh_dsp_show_regs): Update.
* xcoffsolib.c (sharedlibrary_command): Update.

* maint.c (maint_print_section_info): Add ADDR_SIZE parameter.
Use hex_string_custom instead of paddr.
(print_bfd_section_info): Pass address size.
(print_objfile_section_info): Likewise.

* annotate.h (annotate_source): Add GDBARCH parameter.
(annotate_frame_begin): Likewise.
* annotate.c (annotate_source): Add GDBARCH parameter.
(annotate_frame_begin): Likewise.
* source.c (identify_source_line): Update call to annotate_source.
* stack.c (print_frame_info, print_frame): Update call to
annotate_frame_begin.

* breakpoint.c (describe_other_breakpoints): Add GDBARCH parameter.
(create_breakpoint, create_ada_exception_breakpoint): Update call.

* stack.c (print_block_frame_labels): Add GDBARCH parameter.
(print_frame_label_vars): Update call.

* symmisc.c (print_partial_symbols): Add GDBARCH parameter.
(dump_psymtab): Update call to print_partial_symbols.
(struct print_symbol_args): Add GDBARCH member.
(dump_symtab_1): Set print_symbol_args architecture member.
(print_symbol): Use it.

* windows-tdep.h (windows_xfer_shared_library): Add GDBARCH
parameter.
* windows-tdep.c (windows_xfer_shared_library): Likewise.
* i386-cygwin-tdep.c (struct cpms_data): Add GDBARCH member.
(core_process_module_section): Pass architecture from cpms_data to
windows_xfer_shared_library.
(windows_core_xfer_shared_libraries): Initialize cmps_data
architecture member.
* windows-nat.c (windows_xfer_shared_libraries): Pass architecture
to windows_xfer_shared_library.

* defs.h (print_address): Add GDBARCH parameter.
* printcmd.c (print_address): Add GDBARCH parameter.
(print_scalar_formatted, do_examine): Update call.
* findcmd.c (find_command): Update call.
* tracepoint.c: Include "arch-utils.h".
(trace_find_line_command): Update call.
* tui/tui-disasm.c (tui_disassemble): Update call.

* value.h (print_address_demangle): Add GDBARCH parameter.
* printcmd.c (print_address_demangle): Add GDBARCH parameter.
* c-valprint.c (print_function_pointer_address, c_val_print):
Update call.
* f-valprint.c (f_val_print): Update call.
* gnu-v3-abi.c (gnuv3_print_method_ptr): Update call.
* jv-valprint.c (java_val_print): Update call.
* m2-valprint.c (print_function_pointer_address, m2_val_print):
Update call.
* p-valprint.c (pascal_val_print): Update call.

* disasm.c (gdb_disassemble_info): Install architecture into
di.application_data field.

testsuite/ChangeLog:

* gdb.threads/tls-shared.exp: Update to locexpr_describe_location
change to prefix TLS offset in hex with 0x.

doc/ChangeLog:

* gdbint.texinfo (Item Output Functions): Update signature
for ui_out_field_core_addr.

91 files changed:
gdb/ChangeLog
gdb/ada-lang.c
gdb/ada-tasks.c
gdb/ada-valprint.c
gdb/alpha-tdep.c
gdb/amd64-tdep.c
gdb/annotate.c
gdb/annotate.h
gdb/arch-utils.c
gdb/arm-tdep.c
gdb/auxv.c
gdb/breakpoint.c
gdb/buildsym.c
gdb/c-valprint.c
gdb/cli/cli-cmds.c
gdb/cli/cli-dump.c
gdb/corefile.c
gdb/darwin-nat-info.c
gdb/dcache.c
gdb/defs.h
gdb/disasm.c
gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo
gdb/dsrec.c
gdb/dwarf2-frame.c
gdb/dwarf2loc.c
gdb/dwarf2read.c
gdb/exec.c
gdb/f-valprint.c
gdb/fbsd-nat.c
gdb/findcmd.c
gdb/frame.c
gdb/gcore.c
gdb/gnu-nat.c
gdb/gnu-v3-abi.c
gdb/hppa-tdep.c
gdb/i386-cygwin-tdep.c
gdb/i386-nat.c
gdb/i386-tdep.c
gdb/ia64-tdep.c
gdb/infcmd.c
gdb/infrun.c
gdb/jv-valprint.c
gdb/linux-fork.c
gdb/linux-nat.c
gdb/linux-record.c
gdb/m2-valprint.c
gdb/m32c-tdep.c
gdb/m32r-rom.c
gdb/maint.c
gdb/mi/mi-cmd-var.c
gdb/mi/mi-main.c
gdb/mi/mi-symbol-cmds.c
gdb/mips-linux-nat.c
gdb/mips-tdep.c
gdb/monitor.c
gdb/p-valprint.c
gdb/printcmd.c
gdb/record.c
gdb/remote-m32r-sdi.c
gdb/remote-mips.c
gdb/remote-sim.c
gdb/remote.c
gdb/rs6000-tdep.c
gdb/scm-valprint.c
gdb/sh-tdep.c
gdb/sh64-tdep.c
gdb/sol-thread.c
gdb/solib-som.c
gdb/source.c
gdb/stack.c
gdb/symfile-mem.c
gdb/symfile.c
gdb/symmisc.c
gdb/symtab.c
gdb/target.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.threads/tls-shared.exp
gdb/tracepoint.c
gdb/tui/tui-disasm.c
gdb/tui/tui-stack.c
gdb/ui-out.c
gdb/ui-out.h
gdb/utils.c
gdb/valops.c
gdb/valprint.c
gdb/value.h
gdb/windows-nat.c
gdb/windows-tdep.c
gdb/windows-tdep.h
gdb/xcoffsolib.c

index 709fc16a745bf25e7bc455b00aff199a3f1ec728..bf964d81621b2fc3a5e95d6dc541f4e01e8edad7 100644 (file)
@@ -1,3 +1,222 @@
+2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * defs.h (strlen_paddr, paddr, paddr_nz): Remove.
+       (paddress): Add GDBARCH parameter.
+       * utils.c (strlen_paddr, paddr, paddr_nz): Remove.
+       (paddress): Add GDBARCH parameter, use it instead of current_gdbarch.
+       * ui-out.h (ui_out_field_core_addr): Add GDBARCH parameter.
+       * ui-out.c (ui_out_field_core_addr): Add GDBARCH parameter,
+       use it instead of current_gdbarch.
+
+       Update calls to ui_out_field_core_addr to pass architecture:
+       * ada-lang.c (print_one_exception): Update.
+       * breakpoint.c (print_one_breakpoint_location,
+       print_one_exception_catchpoint): Update.
+       * disasm.c (dump_insns): Update.
+       * darwin-nat-info.c (darwin_debug_regions_recurse): Update.
+       * mi/mi-main.c (mi_cmd_data_read_memory): Update.
+       * mi/mi-symbol-cmds.c: Include "objfiles.h".
+       (mi_cmd_symbol_list_lines): Update.
+       * stack.c (print_frame_info, print_frame): Update.
+
+       Update callers of paddress to pass architecture:
+       * ada-tasks.c (info_task): Update.
+       * ada-valprint.c (ada_val_print_1): Update.
+       * annotate.c (annotate_source, annotate_frame_begin): Update.
+       * breakpoint.c (insert_bp_location, describe_other_breakpoints,
+       mention): Update.
+       * cli/cli-cmds.c (edit_command, list_command, print_disassembly):
+       Update.
+       * corefile.c (memory_error): Update.
+       * c-valprint.c (print_function_pointer_address, c_val_print): Update.
+       * disasm.c (dis_asm_print_address): Update.
+       * exec.c (print_section_info): Update.
+       * f-valprint.c (f_val_print): Update.
+       * infcmd.c: Include "arch-utils.h".
+       (jump_command, program_info): Update.
+       * linux-fork.c: Include "arch-utils.h".
+       (info_forks_command): Update.
+       * m2-valprint.c (print_function_pointer_address,
+       print_unpacked_pointer, print_variable_at_address,
+       m2_val_print): Update.
+       * m32r-rom.c (m32r_load_section, m32r_load, m32r_upload_command):
+       Update.
+       * printcmd.c (print_address, print_address_demangle, address_info):
+       Update.
+       * p-valprint.c (pascal_val_print): Update.
+       * source.c: Include "arch-utils.h".
+       (line_info): Update.
+       * stack.c (frame_info, print_block_frame_labels): Update.
+       * symfile.c (add_symbol_file_command, list_overlays_command): Update.
+       * symmisc.c (dump_msymbols, dump_psymtab, dump_symtab_1,
+       print_symbol, print_partial_symbols, maintenance_info_psymtabs,
+       maintenance_check_symtabs): Update.
+       * symtab.c (find_pc_sect_symtab): Update.
+       * target.c (deprecated_debug_xfer_memory): Update.
+       * tracepoint.c (scope_info): Update.
+       * tui/tui-stack.c (tui_make_status_line): Update.
+       * valprint.c (val_print_string): Update.
+
+       Update callers of paddr_nz to use paddress instead (keeping
+       user-visible output identical):
+       * alpha-tdep.c (alpha_heuristic_proc_start): Update.
+       * amd64-tdep.c (fixup_riprel, amd64_displaced_step_copy_insn,
+       amd64_displaced_step_fixup): Update.
+       * arch-utils.c (simple_displaced_step_copy_insn): Update.
+       * auxv.c (fprint_target_auxv): Update.
+       * breakpoint.c (insert_single_step_breakpoint): Update.
+       * buildsym.c (finish_block): Update.
+       * cli/cli-dump.c (restore_section_callback): Update.
+       * fbsd-nat.c (fbsd_find_memory_regions): Update.
+       * frame.c (frame_unwind_register_value): Update.
+       * gcore.c (gcore_create_callback): Update.
+       * hppa-tdep.c (hppa_frame_cache, hppa_skip_trampoline_code): Update.
+       * i386-tdep.c (i386_displaced_step_fixup, i386_record_modrm,
+       i386_record_lea_modrm_addr, i386_record_lea_modrm,
+       i386_process_record): Update.
+       * ia64-tdep.c (ia64_frame_this_id, ia64_sigtramp_frame_this_id,
+       ia64_libunwind_frame_this_id, ia64_libunwind_sigtramp_frame_this_id,
+       ia64_dummy_id, ia64_access_reg, ia64_access_rse_reg): Update.
+       * infrun.c (displaced_step_prepare, displaced_step_fixup,
+       handle_inferior_event, insert_step_resume_breakpoint_at_sal,
+       insert_longjmp_resume_breakpoint): Update.
+       * linux-nat.c (linux_nat_find_memory_regions): Update.
+       * linux-record.c (record_linux_system_call): Update.
+       * mips-tdep.c (heuristic_proc_start, mips_eabi_push_dummy_call,
+       mips_n32n64_push_dummy_call, mips_o32_push_dummy_call,
+       mips_o64_push_dummy_call): Update.
+       * monitor.c (monitor_error, monitor_remove_breakpoint): Update.
+       * record.c (record_arch_list_add_mem, record_wait,
+       record_xfer_partial): Update.
+       * remote-mips.c (mips_fetch_word, mips_check_lsi_error,
+       mips_common_breakpoint): Update.
+       * remote-sim.c (gdbsim_xfer_inferior_memory): Update.
+       * rs6000-tdep.c (ppc_displaced_step_fixup): Update.
+       * solib-som.c (som_current_sos): Update.
+       * symfile.c (load_progress, generic_load): Update.
+       * symfile-mem.c (add_vsyscall_page): Update.
+       * valops.c (value_fetch_lazy): Update.
+       * windows-tdep.c (windows_xfer_shared_library): Update.
+
+       Update callers of paddr_nz to use paddress instead (changing
+       user-visible output to make it more correct):
+       * dwarf2loc.c (locexpr_describe_location): Update.
+       * ia64-tdep.c (ia64_memory_insert_breakpoint,
+       ia64_memory_remove_breakpoint): Update.
+       * jv-valprint.c (java_value_print): Update.
+       * m32c-tdep.c (m32c_m16c_address_to_pointer): Update.
+       * monitor.c (monitor_read_memory): Update.
+
+       Update callers of paddr to use paddress instead (changing
+       user-visible output to make it more correct):
+       * arm-tdep.c (arm_push_dummy_call): Update.
+       * breakpoint.c (insert_bp_location, create_thread_event_breakpoint,
+       create_breakpoint): Update.
+       * darwin-nat-info.c (darwin_debug_regions): Update.
+       * dcache.c (dcache_info): Update.
+       * dsrec.c (load_srec, make_srec): Update.
+       * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program,
+       dwarf2_frame_cache): Update.
+       * gcore.c (gcore_copy_callback): Update.
+       * gnu-nat.c (gnu_xfer_memory): Update.
+       * mips-linux-nat.c (mips_show_dr): Update.
+       * monitor.c (monitor_write_memory, monitor_insert_breakpoint,
+       monitor_remove_breakpoint): Update.
+       * remote.c (compare_sections_command): Update.
+       * remote-m32r-sdi.c (m32r_xfer_memory, m32r_insert_breakpoint,
+       m32r_remove_breakpoint, m32r_insert_watchpoint,
+       m32r_remove_watchpoint): Update.
+       * sol-thread.c (info_cb): Update.
+       * symfile.c (load_progress): Update.
+
+       Update callers of paddress or paddr_nz to use hex_string instead
+       (changes output of internal/error/debug messages only):
+       * dwarf2read.c (dump_die_shallow): Update.
+       * frame.c (fprint_field, fprint_frame, frame_pc_unwind,
+       get_frame_func, create_new_frame): Update.
+       * hppa-tdep.c (find_unwind_entry, unwind_command): Update.
+       * ia64-tdep.c (get_kernel_table, ia64_find_proc_info_x,
+       ia64_get_dyn_info_list): Update.
+       * maint.c (maintenance_translate_address): Update.
+       * mi/mi-cmd-var.c (mi_cmd_var_create): Update.
+       * target.c (target_flash_erase): Update.
+
+       Update callers of paddr/paddr_nz to use phex/phex_nz instead,
+       using an appropriate address size.  Remove use of strlen_paddr.
+       * exec.c (exec_files_info): Update.
+       * i386-nat.c (i386_show_dr): Update.
+       * remote.c (remote_flash_erase): Update.
+       * m32r-rom.c (m32r_load_section): Update.
+       * monitor.c (monitor_vsprintf, monitor_store_register): Update.
+       * remote.c (remote_check_symbols, remote_search_memory): Update.
+       * remote-mips.c (mips_request, mips_common_breakpoint): Update.
+       * scm-valprint.c (scm_ipruk, scm_scmval_print): Update.
+       * sh64-tdep.c (sh64_show_media_regs, sh64_show_compact_regs): Update.
+       * sh-tdep.c (sh_generic_show_regs, sh3_show_regs, sh2e_show_regs,
+       sh2a_show_regs, sh2a_nofpu_show_regs, sh3e_show_regs,
+       sh3_dsp_show_regs, sh4_show_regs, sh4_nofpu_show_regs,
+       sh_dsp_show_regs): Update.
+       * xcoffsolib.c (sharedlibrary_command): Update.
+
+
+       * maint.c (maint_print_section_info): Add ADDR_SIZE parameter.
+       Use hex_string_custom instead of paddr.
+       (print_bfd_section_info): Pass address size.
+       (print_objfile_section_info): Likewise.
+
+       * annotate.h (annotate_source): Add GDBARCH parameter.
+       (annotate_frame_begin): Likewise.
+       * annotate.c (annotate_source): Add GDBARCH parameter.
+       (annotate_frame_begin): Likewise.
+       * source.c (identify_source_line): Update call to annotate_source.
+       * stack.c (print_frame_info, print_frame): Update call to
+       annotate_frame_begin.
+
+       * breakpoint.c (describe_other_breakpoints): Add GDBARCH parameter.
+       (create_breakpoint, create_ada_exception_breakpoint): Update call.
+
+       * stack.c (print_block_frame_labels): Add GDBARCH parameter.
+       (print_frame_label_vars): Update call.
+
+       * symmisc.c (print_partial_symbols): Add GDBARCH parameter.
+       (dump_psymtab): Update call to print_partial_symbols.
+       (struct print_symbol_args): Add GDBARCH member.
+       (dump_symtab_1): Set print_symbol_args architecture member.
+       (print_symbol): Use it.
+
+       * windows-tdep.h (windows_xfer_shared_library): Add GDBARCH
+       parameter.
+       * windows-tdep.c (windows_xfer_shared_library): Likewise.
+       * i386-cygwin-tdep.c (struct cpms_data): Add GDBARCH member.
+       (core_process_module_section): Pass architecture from cpms_data to
+       windows_xfer_shared_library.
+       (windows_core_xfer_shared_libraries): Initialize cmps_data 
+       architecture member.
+       * windows-nat.c (windows_xfer_shared_libraries): Pass architecture
+       to windows_xfer_shared_library.
+
+       * defs.h (print_address): Add GDBARCH parameter.
+       * printcmd.c (print_address): Add GDBARCH parameter.
+       (print_scalar_formatted, do_examine): Update call.
+       * findcmd.c (find_command): Update call.
+       * tracepoint.c: Include "arch-utils.h".
+       (trace_find_line_command): Update call.
+       * tui/tui-disasm.c (tui_disassemble): Update call.
+
+       * value.h (print_address_demangle): Add GDBARCH parameter.
+       * printcmd.c (print_address_demangle): Add GDBARCH parameter.
+       * c-valprint.c (print_function_pointer_address, c_val_print):
+       Update call.
+       * f-valprint.c (f_val_print): Update call.
+       * gnu-v3-abi.c (gnuv3_print_method_ptr): Update call.
+       * jv-valprint.c (java_val_print): Update call.
+       * m2-valprint.c (print_function_pointer_address, m2_val_print):
+       Update call.
+       * p-valprint.c (pascal_val_print): Update call.
+
+       * disasm.c (gdb_disassemble_info): Install architecture into
+       di.application_data field.
+
 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * disasm.h (gdb_disassembly): Add GDBARCH parameter.
index e7ca5a93a97bc6b3a111547fef23c044c3caf66c..2eac7052bc92ee35249c51dcd5460f14ca6a6c8d 100644 (file)
@@ -10301,7 +10301,7 @@ print_one_exception (enum exception_catchpoint_kind ex,
   if (opts.addressprint)
     {
       annotate_field (4);
-      ui_out_field_core_addr (uiout, "addr", b->loc->address);
+      ui_out_field_core_addr (uiout, "addr", b->loc->gdbarch, b->loc->address);
     }
 
   annotate_field (5);
index 20eca5075516ae89508dc645f08172c11f986e22..68cc696d56ee0a3a4e36b1113bdad4831804b0bf 100644 (file)
@@ -752,7 +752,8 @@ info_task (char *taskno_str, int from_tty)
   task_info = VEC_index (ada_task_info_s, task_list, taskno - 1);
 
   /* Print the Ada task ID.  */
-  printf_filtered (_("Ada Task: %s\n"), paddr_nz (task_info->task_id));
+  printf_filtered (_("Ada Task: %s\n"),
+                  paddress (target_gdbarch, task_info->task_id));
 
   /* Print the name of the task.  */
   if (task_info->name[0] != '\0')
index 418ba44036bdc7608219af3f8cc049668e4eafb3..adc81860820a5e59e5fee0d27f2bc6f5be48f7f6 100644 (file)
@@ -795,13 +795,12 @@ ada_val_print_1 (struct type *type, const gdb_byte *valaddr0,
 
              struct gdbarch *gdbarch = get_type_arch (type);
              struct type *ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
+             CORE_ADDR addr = extract_typed_address (valaddr, ptr_type);
 
               fprintf_filtered (stream, "(");
               type_print (type, "", stream, -1);
               fprintf_filtered (stream, ") ");
-             fputs_filtered (paddress (extract_typed_address
-                                       (valaddr, ptr_type)),
-                             stream);
+             fputs_filtered (paddress (gdbarch, addr), stream);
             }
          else
            {
index ad12b3e24f55c2af57110d8fcba64ecfed6907d6..28ce8b17e561679435a52a6bd42c48be382fd81e 100644 (file)
@@ -959,10 +959,10 @@ alpha_heuristic_proc_start (struct gdbarch *gdbarch, CORE_ADDR pc)
 
       if (fence == tdep->vm_min_address)
        warning (_("Hit beginning of text section without finding \
-enclosing function for address 0x%s"), paddr_nz (orig_pc));
+enclosing function for address %s"), paddress (gdbarch, orig_pc));
       else
        warning (_("Hit heuristic-fence-post without finding \
-enclosing function for address 0x%s"), paddr_nz (orig_pc));
+enclosing function for address %s"), paddress (gdbarch, orig_pc));
 
       if (!blurb_printed)
        {
index 59434e2b360d7cf2c00a83c4b21e9b19616dcbec..d39c5e0235878e734f5eb20cae40c1c6080d8493 100644 (file)
@@ -1075,9 +1075,9 @@ fixup_riprel (struct gdbarch *gdbarch, struct displaced_step_closure *dsc,
 
   if (debug_displaced)
     fprintf_unfiltered (gdb_stdlog, "displaced: %%rip-relative addressing used.\n"
-                       "displaced: using temp reg %d, old value 0x%s, new value 0x%s\n",
-                       dsc->tmp_regno, paddr_nz (dsc->tmp_save),
-                       paddr_nz (rip_base));
+                       "displaced: using temp reg %d, old value %s, new value %s\n",
+                       dsc->tmp_regno, paddress (gdbarch, dsc->tmp_save),
+                       paddress (gdbarch, rip_base));
 }
 
 static void
@@ -1144,8 +1144,8 @@ amd64_displaced_step_copy_insn (struct gdbarch *gdbarch,
 
   if (debug_displaced)
     {
-      fprintf_unfiltered (gdb_stdlog, "displaced: copy 0x%s->0x%s: ",
-                         paddr_nz (from), paddr_nz (to));
+      fprintf_unfiltered (gdb_stdlog, "displaced: copy %s->%s: ",
+                         paddress (gdbarch, from), paddress (gdbarch, to));
       displaced_step_dump_bytes (gdb_stdlog, buf, len);
     }
 
@@ -1258,17 +1258,18 @@ amd64_displaced_step_fixup (struct gdbarch *gdbarch,
 
   if (debug_displaced)
     fprintf_unfiltered (gdb_stdlog,
-                       "displaced: fixup (0x%s, 0x%s), "
+                       "displaced: fixup (%s, %s), "
                        "insn = 0x%02x 0x%02x ...\n",
-                       paddr_nz (from), paddr_nz (to), insn[0], insn[1]);
+                       paddress (gdbarch, from), paddress (gdbarch, to),
+                       insn[0], insn[1]);
 
   /* If we used a tmp reg, restore it. */
 
   if (dsc->tmp_used)
     {
       if (debug_displaced)
-       fprintf_unfiltered (gdb_stdlog, "displaced: restoring reg %d to 0x%s\n",
-                           dsc->tmp_regno, paddr_nz (dsc->tmp_save));
+       fprintf_unfiltered (gdb_stdlog, "displaced: restoring reg %d to %s\n",
+                           dsc->tmp_regno, paddress (gdbarch, dsc->tmp_save));
       regcache_cooked_write_unsigned (regs, dsc->tmp_regno, dsc->tmp_save);
     }
 
@@ -1332,8 +1333,9 @@ amd64_displaced_step_fixup (struct gdbarch *gdbarch,
          if (debug_displaced)
            fprintf_unfiltered (gdb_stdlog,
                                "displaced: "
-                               "relocated %%rip from 0x%s to 0x%s\n",
-                               paddr_nz (orig_rip), paddr_nz (rip));
+                               "relocated %%rip from %s to %s\n",
+                               paddress (gdbarch, orig_rip),
+                               paddress (gdbarch, rip));
        }
     }
 
@@ -1358,10 +1360,10 @@ amd64_displaced_step_fixup (struct gdbarch *gdbarch,
 
       if (debug_displaced)
        fprintf_unfiltered (gdb_stdlog,
-                           "displaced: relocated return addr at 0x%s "
-                           "to 0x%s\n",
-                           paddr_nz (rsp),
-                           paddr_nz (retaddr));
+                           "displaced: relocated return addr at %s "
+                           "to %s\n",
+                           paddress (gdbarch, rsp),
+                           paddress (gdbarch, retaddr));
     }
 }
 \f
index 707b1c025b3591ba9d4dc85a1fd6a6b803c6e0d7..6f522969507bbf88f304bcfcf093a3917a26d99a 100644 (file)
@@ -410,7 +410,8 @@ annotate_arg_end (void)
 }
 
 void
-annotate_source (char *filename, int line, int character, int mid, CORE_ADDR pc)
+annotate_source (char *filename, int line, int character, int mid,
+                struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   if (annotation_level > 1)
     printf_filtered (("\n\032\032source "));
@@ -418,14 +419,15 @@ annotate_source (char *filename, int line, int character, int mid, CORE_ADDR pc)
     printf_filtered (("\032\032"));
 
   printf_filtered (("%s:%d:%d:%s:%s\n"), filename, line, character,
-                  mid ? "middle" : "beg", paddress (pc));
+                  mid ? "middle" : "beg", paddress (gdbarch, pc));
 }
 
 void
-annotate_frame_begin (int level, CORE_ADDR pc)
+annotate_frame_begin (int level, struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   if (annotation_level > 1)
-    printf_filtered (("\n\032\032frame-begin %d %s\n"), level, paddress (pc));
+    printf_filtered (("\n\032\032frame-begin %d %s\n"),
+                    level, paddress (gdbarch, pc));
 }
 
 void
index 5c2b9eb8294059270164498e42090662b5babd25..326a8db3df36b0900de961bf10fd5aa758688b73 100644 (file)
@@ -76,9 +76,10 @@ extern void annotate_arg_name_end (void);
 extern void annotate_arg_value (struct type *);
 extern void annotate_arg_end (void);
 
-extern void annotate_source (char *, int, int, int, CORE_ADDR);
+extern void annotate_source (char *, int, int, int,
+                            struct gdbarch *, CORE_ADDR);
 
-extern void annotate_frame_begin (int, CORE_ADDR);
+extern void annotate_frame_begin (int, struct gdbarch *, CORE_ADDR);
 extern void annotate_function_call (void);
 extern void annotate_signal_handler_caller (void);
 extern void annotate_frame_address (void);
index 76c96e5e51373d17341558613b7d286ce62429e4..996f149cf236c6e77985d5831cbb444c39f5fa57 100644 (file)
@@ -51,8 +51,8 @@ simple_displaced_step_copy_insn (struct gdbarch *gdbarch,
 
   if (debug_displaced)
     {
-      fprintf_unfiltered (gdb_stdlog, "displaced: copy 0x%s->0x%s: ",
-                          paddr_nz (from), paddr_nz (to));
+      fprintf_unfiltered (gdb_stdlog, "displaced: copy %s->%s: ",
+                          paddress (gdbarch, from), paddress (gdbarch, to));
       displaced_step_dump_bytes (gdb_stdlog, buf, len);
     }
 
index ffc08638a4b54adb9a2b24813ff35807da075bc5..bba869e01cd0317d7fd2a99627b7eab9c2bbf871 100644 (file)
@@ -1423,9 +1423,9 @@ arm_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
   if (struct_return)
     {
       if (arm_debug)
-       fprintf_unfiltered (gdb_stdlog, "struct return in %s = 0x%s\n",
+       fprintf_unfiltered (gdb_stdlog, "struct return in %s = %s\n",
                            gdbarch_register_name (gdbarch, argreg),
-                           paddr (struct_addr));
+                           paddress (gdbarch, struct_addr));
       regcache_cooked_write_unsigned (regcache, argreg, struct_addr);
       argreg++;
     }
index f8eb6ef0f140fcc95885386abedb10ede19ce7e5..6b98fed51887ea79cf96caebed76104d92c6759d 100644 (file)
@@ -237,14 +237,14 @@ fprint_target_auxv (struct ui_file *file, struct target_ops *ops)
          fprintf_filtered (file, "%s\n", plongest (val));
          break;
        case hex:
-         fprintf_filtered (file, "0x%s\n", paddr_nz (val));
+         fprintf_filtered (file, "%s\n", paddress (target_gdbarch, val));
          break;
        case str:
          {
            struct value_print_options opts;
            get_user_print_options (&opts);
            if (opts.addressprint)
-             fprintf_filtered (file, "0x%s", paddr_nz (val));
+             fprintf_filtered (file, "%s", paddress (target_gdbarch, val));
            val_print_string (builtin_type (target_gdbarch)->builtin_char,
                              val, -1, file, &opts);
            fprintf_filtered (file, "\n");
index cb4c3d79bfbba82ae80ef64ee6db6628b1a1fe3e..cbcc7df4377d1cf74098443f3f14b7c7e2e58407 100644 (file)
@@ -117,7 +117,8 @@ static CORE_ADDR adjust_breakpoint_address (struct gdbarch *gdbarch,
                                            CORE_ADDR bpaddr,
                                             enum bptype bptype);
 
-static void describe_other_breakpoints (CORE_ADDR, struct obj_section *, int);
+static void describe_other_breakpoints (struct gdbarch *, CORE_ADDR,
+                                       struct obj_section *, int);
 
 static void breakpoints_info (char *, int);
 
@@ -1140,7 +1141,7 @@ Note: automatically using hardware breakpoints for read-only addresses.\n"));
              else if (bpt->loc_type == bp_loc_software_breakpoint
                       && mr->attrib.mode != MEM_RW)        
                warning (_("cannot set software breakpoint at readonly address %s"),
-                        paddr (bpt->address));
+                        paddress (bpt->gdbarch, bpt->address));
            }
        }
         
@@ -1240,7 +1241,8 @@ Note: automatically using hardware breakpoints for read-only addresses.\n"));
                                      bpt->owner->number);
                  fprintf_filtered (tmp_error_stream, 
                                    "Error accessing memory address ");
-                 fputs_filtered (paddress (bpt->address), tmp_error_stream);
+                 fputs_filtered (paddress (bpt->gdbarch, bpt->address),
+                                 tmp_error_stream);
                  fprintf_filtered (tmp_error_stream, ": %s.\n",
                                    safe_strerror (val));
                }
@@ -3726,7 +3728,8 @@ print_one_breakpoint_location (struct breakpoint *b,
            else if (b->loc == NULL || loc->shlib_disabled)
              ui_out_field_string (uiout, "addr", "<PENDING>");
            else
-             ui_out_field_core_addr (uiout, "addr", loc->address);
+             ui_out_field_core_addr (uiout, "addr",
+                                     loc->gdbarch, loc->address);
          }
        annotate_field (5);
        if (!header_of_multiple)
@@ -3760,7 +3763,8 @@ print_one_breakpoint_location (struct breakpoint *b,
       ui_out_text (uiout, "\tstop only in stack frame at ");
       /* FIXME: cagney/2002-12-01: Shouldn't be poeking around inside
          the frame ID.  */
-      ui_out_field_core_addr (uiout, "frame", b->frame_id.stack_addr);
+      ui_out_field_core_addr (uiout, "frame",
+                             b->gdbarch, b->frame_id.stack_addr);
       ui_out_text (uiout, "\n");
     }
   
@@ -4110,8 +4114,8 @@ breakpoint_has_pc (struct breakpoint *b,
 /* Print a message describing any breakpoints set at PC.  */
 
 static void
-describe_other_breakpoints (CORE_ADDR pc, struct obj_section *section,
-                           int thread)
+describe_other_breakpoints (struct gdbarch *gdbarch, CORE_ADDR pc,
+                           struct obj_section *section, int thread)
 {
   int others = 0;
   struct breakpoint *b;
@@ -4144,7 +4148,7 @@ describe_other_breakpoints (CORE_ADDR pc, struct obj_section *section,
                             : ((others == 1) ? " and" : ""));
          }
       printf_filtered (_("also set at pc "));
-      fputs_filtered (paddress (pc), gdb_stdout);
+      fputs_filtered (paddress (gdbarch, pc), gdb_stdout);
       printf_filtered (".\n");
     }
 }
@@ -4606,7 +4610,8 @@ create_thread_event_breakpoint (struct gdbarch *gdbarch, CORE_ADDR address)
   
   b->enable_state = bp_enabled;
   /* addr_string has to be used or breakpoint_re_set will delete me.  */
-  b->addr_string = xstrprintf ("*0x%s", paddr (b->loc->address));
+  b->addr_string
+    = xstrprintf ("*%s", paddress (b->loc->gdbarch, b->loc->address));
 
   update_global_location_list_nothrow (1);
 
@@ -5289,7 +5294,8 @@ mention (struct breakpoint *b)
          if (opts.addressprint || b->source_file == NULL)
            {
              printf_filtered (" at ");
-             fputs_filtered (paddress (b->loc->address), gdb_stdout);
+             fputs_filtered (paddress (b->loc->gdbarch, b->loc->address),
+                             gdb_stdout);
            }
          if (b->source_file)
            printf_filtered (": file %s, line %d.",
@@ -5408,7 +5414,14 @@ create_breakpoint (struct gdbarch *gdbarch,
       struct bp_location *loc;
 
       if (from_tty)
-       describe_other_breakpoints (sal.pc, sal.section, thread);
+       {
+         struct gdbarch *loc_gdbarch = get_sal_arch (sal);
+         if (!loc_gdbarch)
+           loc_gdbarch = gdbarch;
+
+         describe_other_breakpoints (loc_gdbarch,
+                                     sal.pc, sal.section, thread);
+       }
 
       if (i == 0)
        {
@@ -5447,7 +5460,8 @@ create_breakpoint (struct gdbarch *gdbarch,
   else
     /* addr_string has to be used or breakpoint_re_set will delete
        me.  */
-    b->addr_string = xstrprintf ("*0x%s", paddr (b->loc->address));
+    b->addr_string
+      = xstrprintf ("*%s", paddress (b->loc->gdbarch, b->loc->address));
 
   b->ops = ops;
   mention (b);
@@ -6859,7 +6873,8 @@ print_one_exception_catchpoint (struct breakpoint *b, struct bp_location **last_
       if (b->loc == NULL || b->loc->shlib_disabled)
        ui_out_field_string (uiout, "addr", "<PENDING>");
       else
-       ui_out_field_core_addr (uiout, "addr", b->loc->address);
+       ui_out_field_core_addr (uiout, "addr",
+                               b->loc->gdbarch, b->loc->address);
     }
   annotate_field (5);
   if (b->loc)
@@ -6980,7 +6995,11 @@ create_ada_exception_breakpoint (struct gdbarch *gdbarch,
 
   if (from_tty)
     {
-      describe_other_breakpoints (sal.pc, sal.section, -1);
+      struct gdbarch *loc_gdbarch = get_sal_arch (sal);
+      if (!loc_gdbarch)
+       loc_gdbarch = gdbarch;
+
+      describe_other_breakpoints (loc_gdbarch, sal.pc, sal.section, -1);
       /* FIXME: brobecker/2006-12-28: Actually, re-implement a special
          version for exception catchpoints, because two catchpoints
          used for different exception names will use the same address.
@@ -8386,8 +8405,8 @@ insert_single_step_breakpoint (struct gdbarch *gdbarch, CORE_ADDR next_pc)
 
   *bpt_p = deprecated_insert_raw_breakpoint (gdbarch, next_pc);
   if (*bpt_p == NULL)
-    error (_("Could not insert single-step breakpoint at 0x%s"),
-            paddr_nz (next_pc));
+    error (_("Could not insert single-step breakpoint at %s"),
+            paddress (gdbarch, next_pc));
 }
 
 /* Remove and delete any breakpoints used for software single step.  */
index e1d24614ed16f63b9ec44d8300b5741f7522fd56..9324a14e3f596ed9d6b3bd13e8663c1ebb41845a 100644 (file)
@@ -235,6 +235,7 @@ finish_block (struct symbol *symbol, struct pending **listhead,
              CORE_ADDR start, CORE_ADDR end,
              struct objfile *objfile)
 {
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct pending *next, *next1;
   struct block *block;
   struct pending_block *pblock;
@@ -331,8 +332,9 @@ finish_block (struct symbol *symbol, struct pending **listhead,
       else
        {
          complaint (&symfile_complaints,
-                    _("block end address 0x%s less than block start address 0x%s (patched it)"),
-                    paddr_nz (BLOCK_END (block)), paddr_nz (BLOCK_START (block)));
+                    _("block end address %s less than block start address %s (patched it)"),
+                    paddress (gdbarch, BLOCK_END (block)),
+                    paddress (gdbarch, BLOCK_START (block)));
        }
       /* Better than nothing */
       BLOCK_END (block) = BLOCK_START (block);
@@ -368,11 +370,11 @@ finish_block (struct symbol *symbol, struct pending **listhead,
              else
                {
                  complaint (&symfile_complaints,
-                            _("inner block (0x%s-0x%s) not inside outer block (0x%s-0x%s)"),
-                            paddr_nz (BLOCK_START (pblock->block)),
-                            paddr_nz (BLOCK_END (pblock->block)),
-                            paddr_nz (BLOCK_START (block)),
-                            paddr_nz (BLOCK_END (block)));
+                            _("inner block (%s-%s) not inside outer block (%s-%s)"),
+                            paddress (gdbarch, BLOCK_START (pblock->block)),
+                            paddress (gdbarch, BLOCK_END (pblock->block)),
+                            paddress (gdbarch, BLOCK_START (block)),
+                            paddress (gdbarch, BLOCK_END (block)));
                }
              if (BLOCK_START (pblock->block) < BLOCK_START (block))
                BLOCK_START (pblock->block) = BLOCK_START (block);
index 463ff4d30e2922db8838e4d0cd4b56ba2e44b661..64b30c2fc376155562dfd59a4c479f78746b8069 100644 (file)
@@ -47,10 +47,10 @@ print_function_pointer_address (struct gdbarch *gdbarch, CORE_ADDR address,
   if (addressprint && func_addr != address)
     {
       fputs_filtered ("@", stream);
-      fputs_filtered (paddress (address), stream);
+      fputs_filtered (paddress (gdbarch, address), stream);
       fputs_filtered (": ", stream);
     }
-  print_address_demangle (func_addr, stream, demangle);
+  print_address_demangle (gdbarch, func_addr, stream, demangle);
 }
 
 
@@ -272,7 +272,7 @@ c_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
            }
 
          if (options->addressprint)
-           fputs_filtered (paddress (addr), stream);
+           fputs_filtered (paddress (gdbarch, addr), stream);
 
          /* For a pointer to a textual type, also print the string
             pointed to, unless pointer is null.  */
@@ -342,7 +342,7 @@ c_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
          CORE_ADDR addr
            = extract_typed_address (valaddr + embedded_offset, type);
          fprintf_filtered (stream, "@");
-         fputs_filtered (paddress (addr), stream);
+         fputs_filtered (paddress (gdbarch, addr), stream);
          if (options->deref_ref)
            fputs_filtered (": ", stream);
        }
@@ -440,7 +440,7 @@ c_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
       type_print (type, "", stream, -1);
       fprintf_filtered (stream, "} ");
       /* Try to print what function it points to, and its address.  */
-      print_address_demangle (address, stream, demangle);
+      print_address_demangle (gdbarch, address, stream, demangle);
       break;
 
     case TYPE_CODE_BOOL:
index c9cdfbe7ed421b0e52f317084a267d6a46cc3108..37b027ba68afbd4ffe085a56cecc0f859f83121a 100644 (file)
@@ -672,17 +672,22 @@ edit_command (char *arg, int from_tty)
          of all known source files, not that user failed to give a filename.  */
       if (*arg == '*')
         {
+         struct gdbarch *gdbarch;
           if (sal.symtab == 0)
            /* FIXME-32x64--assumes sal.pc fits in long.  */
            error (_("No source file for address %s."),
                   hex_string ((unsigned long) sal.pc));
+
+         gdbarch = get_objfile_arch (sal.symtab->objfile);
           sym = find_pc_function (sal.pc);
           if (sym)
-           printf_filtered ("%s is in %s (%s:%d).\n", paddress (sal.pc),
-                            SYMBOL_PRINT_NAME (sym), sal.symtab->filename,
-                            sal.line);
+           printf_filtered ("%s is in %s (%s:%d).\n",
+                            paddress (gdbarch, sal.pc),
+                            SYMBOL_PRINT_NAME (sym),
+                            sal.symtab->filename, sal.line);
           else
-           printf_filtered ("%s is at %s:%d.\n", paddress (sal.pc),
+           printf_filtered ("%s is at %s:%d.\n",
+                            paddress (gdbarch, sal.pc),
                             sal.symtab->filename, sal.line);
         }
 
@@ -832,17 +837,22 @@ list_command (char *arg, int from_tty)
      of all known source files, not that user failed to give a filename.  */
   if (*arg == '*')
     {
+      struct gdbarch *gdbarch;
       if (sal.symtab == 0)
        /* FIXME-32x64--assumes sal.pc fits in long.  */
        error (_("No source file for address %s."),
               hex_string ((unsigned long) sal.pc));
+
+      gdbarch = get_objfile_arch (sal.symtab->objfile);
       sym = find_pc_function (sal.pc);
       if (sym)
        printf_filtered ("%s is in %s (%s:%d).\n",
-                        paddress (sal.pc), SYMBOL_PRINT_NAME (sym),
+                        paddress (gdbarch, sal.pc),
+                        SYMBOL_PRINT_NAME (sym),
                         sal.symtab->filename, sal.line);
       else
-       printf_filtered ("%s is at %s:%d.\n", paddress (sal.pc),
+       printf_filtered ("%s is at %s:%d.\n",
+                        paddress (gdbarch, sal.pc),
                         sal.symtab->filename, sal.line);
     }
 
@@ -904,7 +914,8 @@ print_disassembly (struct gdbarch *gdbarch, const char *name,
       if (name != NULL)
         printf_filtered ("for function %s:\n", name);
       else
-        printf_filtered ("from %s to %s:\n", paddress (low), paddress (high));
+        printf_filtered ("from %s to %s:\n",
+                        paddress (gdbarch, low), paddress (gdbarch, high));
 
       /* Dump the specified range.  */
       gdb_disassembly (gdbarch, uiout, 0, mixed, -1, low, high);
index 82062a1a82ad9471c0fe7ba01437a4b5fac5c28a..79d468ed19db4801fb412e8051d897360a6ade14 100644 (file)
@@ -488,11 +488,13 @@ restore_section_callback (bfd *ibfd, asection *isec, void *args)
                   (unsigned long) sec_end);
 
   if (data->load_offset != 0 || data->load_start != 0 || data->load_end != 0)
-    printf_filtered (" into memory (0x%s to 0x%s)\n", 
-                    paddr_nz ((unsigned long) sec_start 
+    printf_filtered (" into memory (%s to %s)\n",
+                    paddress (target_gdbarch,
+                              (unsigned long) sec_start
                               + sec_offset + data->load_offset), 
-                    paddr_nz ((unsigned long) sec_start + sec_offset 
-                      + data->load_offset + sec_load_count));
+                    paddress (target_gdbarch,
+                              (unsigned long) sec_start + sec_offset
+                               + data->load_offset + sec_load_count));
   else
     puts_filtered ("\n");
 
index e74630b3a2c5db652830d3b8c741da870b291855..3039e8c7f85caf57fb4a7311df3b8f2c86b41db8 100644 (file)
@@ -219,11 +219,11 @@ memory_error (int status, CORE_ADDR memaddr)
        bounds.  */
     throw_error (MEMORY_ERROR,
                 _("Cannot access memory at address %s"),
-                paddress (memaddr));
+                paddress (target_gdbarch, memaddr));
   else
     throw_error (MEMORY_ERROR,
                 _("Error accessing memory address %s: %s."),
-                paddress (memaddr),
+                paddress (target_gdbarch, memaddr),
                 safe_strerror (status));
 }
 
index bcedce0816360ce9442a6d3a3fa9edc3d291e415..60f2e452e7cca812fea838a7348c3671d22fefa5 100644 (file)
@@ -576,8 +576,8 @@ darwin_debug_regions (task_t task, mach_vm_address_t address, int max)
       if (print)
         {
           printf_filtered (_("%s-%s %s/%s  %s %s %s"),
-                           paddr(prev_address),
-                           paddr(prev_address + prev_size),
+                           paddress (target_gdbarch, prev_address),
+                           paddress (target_gdbarch, prev_address + prev_size),
                            unparse_protection (prev_info.protection),
                            unparse_protection (prev_info.max_protection),
                            unparse_inheritance (prev_info.inheritance),
@@ -661,8 +661,8 @@ darwin_debug_regions_recurse (task_t task)
        break;
       row_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "regions-row");
 
-      ui_out_field_core_addr (uiout, "start", r_start);
-      ui_out_field_core_addr (uiout, "end", r_start + r_size);
+      ui_out_field_core_addr (uiout, "start", target_gdbarch, r_start);
+      ui_out_field_core_addr (uiout, "end", target_gdbarch, r_start + r_size);
       ui_out_field_string (uiout, "min-prot", 
                           unparse_protection (r_info.protection));
       ui_out_field_string (uiout, "max-prot", 
index ae5a4792d21d4682dae787bfb21f5d537ba9b056..30776e993e70b1f2c61e9de678f9c09422288991 100644 (file)
@@ -569,7 +569,7 @@ dcache_info (char *exp, int tty)
        {
          int j;
          printf_filtered (_("Line at %s, referenced %d times\n"),
-                          paddr (p->addr), p->refs);
+                          paddress (target_gdbarch, p->addr), p->refs);
 
          for (j = 0; j < LINE_SIZE; j++)
            printf_filtered ("%02x", p->data[j] & 0xFF);
index 0f91f3f1b9afedacfcbd1e256fd643c31cadf517..5aa3a72fd931da3cc807b1f0a9cfc8a6196cddb4 100644 (file)
@@ -515,14 +515,9 @@ extern void gdb_print_host_address (const void *addr, struct ui_file *stream);
 
 extern const char *host_address_to_string (const void *addr);
 
-/* Convert a CORE_ADDR into a HEX string.  paddr() is like %08lx.
-   paddr_nz() is like %lx.  */
-extern int strlen_paddr (void);
-extern char *paddr (CORE_ADDR addr);
-extern char *paddr_nz (CORE_ADDR addr);
-
-/* Like 0x%lx.  */
-extern const char *paddress (CORE_ADDR addr);
+/* Convert CORE_ADDR to string in platform-specific manner.
+   This is usually formatted similar to 0x%lx.  */
+extern const char *paddress (struct gdbarch *gdbarch, CORE_ADDR addr);
 
 /* %d for LONGEST */
 extern char *plongest (LONGEST l);
@@ -533,8 +528,8 @@ extern char *phex (ULONGEST l, int sizeof_l);
 extern char *phex_nz (ULONGEST l, int sizeof_l);
 extern char *int_string (LONGEST, int, int, int, int);
 
-/* Like paddr() only print/scan raw CORE_ADDR.  The output from
-   core_addr_to_string() can be passed direct to
+/* Convert a CORE_ADDR into a HEX string with leading zeros.
+   The output from core_addr_to_string() can be passed direct to
    string_to_core_addr().  */
 extern const char *core_addr_to_string (const CORE_ADDR addr);
 extern const char *core_addr_to_string_nz (const CORE_ADDR addr);
@@ -612,7 +607,7 @@ extern int build_address_symbolic (CORE_ADDR addr,
                                   int *line,   
                                   int *unmapped);
 
-extern void print_address (CORE_ADDR, struct ui_file *);
+extern void print_address (struct gdbarch *, CORE_ADDR, struct ui_file *);
 
 /* From source.c */
 
index 8812b1c3df15f638ded6fefc0e3e6be2f6ba42ab..dcb06334dbdaa82081427a7b5f323a657bc05b17 100644 (file)
@@ -63,7 +63,8 @@ dis_asm_memory_error (int status, bfd_vma memaddr,
 static void
 dis_asm_print_address (bfd_vma addr, struct disassemble_info *info)
 {
-  print_address (addr, info->stream);
+  struct gdbarch *gdbarch = info->application_data;
+  print_address (gdbarch, addr, info->stream);
 }
 
 static int
@@ -112,7 +113,7 @@ dump_insns (struct gdbarch *gdbarch, struct ui_out *uiout,
            num_displayed++;
        }
       ui_out_chain = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
-      ui_out_field_core_addr (uiout, "address", pc);
+      ui_out_field_core_addr (uiout, "address", gdbarch, pc);
 
       if (!build_address_symbolic (pc, 0, &name, &offset, &filename,
                                   &line, &unmapped))
@@ -347,6 +348,7 @@ gdb_disassemble_info (struct gdbarch *gdbarch, struct ui_file *file)
   di.mach = gdbarch_bfd_arch_info (gdbarch)->mach;
   di.endian = gdbarch_byte_order (gdbarch);
   di.endian_code = gdbarch_byte_order_for_code (gdbarch);
+  di.application_data = gdbarch;
   disassemble_init_for_target (&di);
   return di;
 }
index d3ee3c59d6cb18333faf9c312618ca2cd75a43be..f5d4950f49b183ba69bb5d5b94ce815dfc9a3ff9 100644 (file)
@@ -1,6 +1,11 @@
 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
 
-       * gdbint.texi (Examples of Use of @code{ui_out} functions):
+       * gdbint.texinfo (Item Output Functions): Update signature
+       for ui_out_field_core_addr.
+
+2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbint.texinfo (Examples of Use of @code{ui_out} functions):
        Update example code extrated from breakpoint.c.
 
 2009-06-28  Paul Pluzhnikov  <ppluzhnikov@google.com>
index 8df45c60b9dfd688d9fa0c29c4ebe30b1fb180c3..a51f0778bf57487c9a5177875326a0e1f898712b 100644 (file)
@@ -1400,8 +1400,8 @@ This function outputs a value of an @code{int} variable.  It differs from
 the name of the field.
 @end deftypefun
 
-@deftypefun void ui_out_field_core_addr (struct ui_out *@var{uiout}, const char *@var{fldname}, CORE_ADDR @var{address})
-This function outputs an address.
+@deftypefun void ui_out_field_core_addr (struct ui_out *@var{uiout}, const char *@var{fldname}, struct gdbarch *@var{gdbarch}, CORE_ADDR @var{address})
+This function outputs an address as appropriate for @var{gdbarch}.
 @end deftypefun
 
 @deftypefun void ui_out_field_string (struct ui_out *@var{uiout}, const char *@var{fldname}, const char *@var{string})
index 94ccca9ff52258f56e9df9a903b70e52ea66c4af..60f28980f5cf0b5a7eb666580f3d60b9483f0baf 100644 (file)
@@ -97,10 +97,10 @@ load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
            In the below, GDB's is used so that the address is
            consistent with the rest of GDB.  BFD's printf_vma() could
            have also been used. cagney 1999-09-01 */
-       printf_filtered ("%s\t: 0x%s .. 0x%s  ",
+       printf_filtered ("%s\t: %s .. %s  ",
                         section_name,
-                        paddr (addr),
-                        paddr (addr + size));
+                        paddress (target_gdbarch, addr),
+                        paddress (target_gdbarch, addr + size));
        gdb_flush (gdb_stdout);
 
        data_count += size;
@@ -252,8 +252,8 @@ make_srec (char *srec, CORE_ADDR targ_addr, bfd *abfd, asection *sect,
     addr_size = 4;
   else
     internal_error (__FILE__, __LINE__,
-                   _("make_srec:  Bad address (0x%s), or bad flags (0x%x)."),
-                   paddr (targ_addr), flags);
+                   _("make_srec:  Bad address (%s), or bad flags (0x%x)."),
+                   paddress (target_gdbarch, targ_addr), flags);
 
   /* Now that we know the address size, we can figure out how much
      data this record can hold.  */
index 315d349cf49a8d8cc7ccf54aed009906b7a6d690..fb5b08b6cb4d393a4c5b185a7ce5c803afa6440a 100644 (file)
@@ -334,11 +334,11 @@ dwarf2_restore_rule (struct gdbarch *gdbarch, ULONGEST reg_num,
   if (fs->regs.reg[reg].how == DWARF2_FRAME_REG_UNSPECIFIED)
     complaint (&symfile_complaints, _("\
 incomplete CFI data; DW_CFA_restore unspecified\n\
-register %s (#%d) at 0x%s"),
+register %s (#%d) at %s"),
                       gdbarch_register_name
                       (gdbarch, gdbarch_dwarf2_reg_to_regnum (gdbarch, reg)),
                       gdbarch_dwarf2_reg_to_regnum (gdbarch, reg),
-                      paddr (fs->pc));
+                      paddress (gdbarch, fs->pc));
 }
 
 static CORE_ADDR
@@ -490,7 +490,8 @@ execute_cfa_program (struct dwarf2_fde *fde, gdb_byte *insn_ptr,
                if (old_rs == NULL)
                  {
                    complaint (&symfile_complaints, _("\
-bad CFI data; mismatched DW_CFA_restore_state at 0x%s"), paddr (fs->pc));
+bad CFI data; mismatched DW_CFA_restore_state at %s"),
+                              paddress (gdbarch, fs->pc));
                  }
                else
                  {
@@ -997,9 +998,9 @@ dwarf2_frame_cache (struct frame_info *this_frame, void **this_cache)
          {
            if (cache->reg[regnum].how == DWARF2_FRAME_REG_UNSPECIFIED)
              complaint (&symfile_complaints, _("\
-incomplete CFI data; unspecified registers (e.g., %s) at 0x%s"),
+incomplete CFI data; unspecified registers (e.g., %s) at %s"),
                         gdbarch_register_name (gdbarch, regnum),
-                        paddr_nz (fs->pc));
+                        paddress (gdbarch, fs->pc));
          }
        else
          cache->reg[regnum] = fs->regs.reg[column];
index f0f59e88a15440842db5082a6348b0874ef39538..027e13588794405ad6142087f1a40af0b004649a 100644 (file)
@@ -508,7 +508,7 @@ locexpr_describe_location (struct symbol *symbol, struct ui_file *stream)
        fprintf_filtered (stream, 
                          "a thread-local variable at offset %s in the "
                          "thread-local storage for `%s'",
-                         paddr_nz (offset), objfile->name);
+                         paddress (gdbarch, offset), objfile->name);
        return 1;
       }
   
index 4b5f1954ccdaf684a69612bc1589479d173dd9dd..03c7855115408c35f979df02d4fea8aa742ce16f 100644 (file)
@@ -9534,7 +9534,7 @@ dump_die_shallow (struct ui_file *f, int indent, struct die_info *die)
        case DW_FORM_ref_addr:
        case DW_FORM_addr:
          fprintf_unfiltered (f, "address: ");
-         fputs_filtered (paddress (DW_ADDR (&die->attrs[i])), f);
+         fputs_filtered (hex_string (DW_ADDR (&die->attrs[i])), f);
          break;
        case DW_FORM_block2:
        case DW_FORM_block4:
index d27c2ce91e4be5d65ae1732a8c01e9e8e32206cd..455151ea1236e91563a7ebca0643e3f3e20c4725 100644 (file)
@@ -647,16 +647,17 @@ exec_xfer_partial (struct target_ops *ops, enum target_object object,
 void
 print_section_info (struct target_section_table *t, bfd *abfd)
 {
+  struct gdbarch *gdbarch = gdbarch_from_bfd (abfd);
   struct target_section *p;
   /* FIXME: 16 is not wide enough when gdbarch_addr_bit > 64.  */
-  int wid = gdbarch_addr_bit (gdbarch_from_bfd (abfd)) <= 32 ? 8 : 16;
+  int wid = gdbarch_addr_bit (gdbarch) <= 32 ? 8 : 16;
 
   printf_filtered ("\t`%s', ", bfd_get_filename (abfd));
   wrap_here ("        ");
   printf_filtered (_("file type %s.\n"), bfd_get_target (abfd));
   if (abfd == exec_bfd)
     printf_filtered (_("\tEntry point: %s\n"),
-                     paddress (bfd_get_start_address (abfd)));
+                     paddress (gdbarch, bfd_get_start_address (abfd)));
   for (p = t->sections; p < t->sections_end; p++)
     {
       printf_filtered ("\t%s", hex_string_custom (p->addr, wid));
@@ -685,23 +686,24 @@ exec_files_info (struct target_ops *t)
 
   if (vmap)
     {
+      int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
       struct vmap *vp;
 
       printf_unfiltered (_("\tMapping info for file `%s'.\n"), vmap->name);
       printf_unfiltered ("\t  %*s   %*s   %*s   %*s %8.8s %s\n",
-                        strlen_paddr (), "tstart",
-                        strlen_paddr (), "tend",
-                        strlen_paddr (), "dstart",
-                        strlen_paddr (), "dend",
+                        addr_size * 2, "tstart",
+                        addr_size * 2, "tend",
+                        addr_size * 2, "dstart",
+                        addr_size * 2, "dend",
                         "section",
                         "file(member)");
 
       for (vp = vmap; vp; vp = vp->nxt)
        printf_unfiltered ("\t0x%s 0x%s 0x%s 0x%s %s%s%s%s\n",
-                          paddr (vp->tstart),
-                          paddr (vp->tend),
-                          paddr (vp->dstart),
-                          paddr (vp->dend),
+                          phex (vp->tstart, addr_size),
+                          phex (vp->tend, addr_size),
+                          phex (vp->dstart, addr_size),
+                          phex (vp->dend, addr_size),
                           vp->name,
                           *vp->member ? "(" : "", vp->member,
                           *vp->member ? ")" : "");
index 7de15cbfeda3120ce3a954d3ed7e35014ac875d7..c6b404493b2406bd88d154ee4011cac62d1463b0 100644 (file)
@@ -281,13 +281,13 @@ f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
          if (TYPE_CODE (elttype) == TYPE_CODE_FUNC)
            {
              /* Try to print what function it points to.  */
-             print_address_demangle (addr, stream, demangle);
+             print_address_demangle (gdbarch, addr, stream, demangle);
              /* Return value is irrelevant except for string pointers.  */
              return 0;
            }
 
          if (options->addressprint && options->format != 's')
-           fputs_filtered (paddress (addr), stream);
+           fputs_filtered (paddress (gdbarch, addr), stream);
 
          /* For a pointer to char or unsigned char, also print the string
             pointed to, unless pointer is null.  */
@@ -312,7 +312,7 @@ f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
          CORE_ADDR addr
            = extract_typed_address (valaddr + embedded_offset, type);
          fprintf_filtered (stream, "@");
-         fputs_filtered (paddress (addr), stream);
+         fputs_filtered (paddress (gdbarch, addr), stream);
          if (options->deref_ref)
            fputs_filtered (": ", stream);
        }
@@ -345,7 +345,7 @@ f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
       type_print (type, "", stream, -1);
       fprintf_filtered (stream, "} ");
       /* Try to print what function it points to, and its address.  */
-      print_address_demangle (address, stream, demangle);
+      print_address_demangle (gdbarch, address, stream, demangle);
       break;
 
     case TYPE_CODE_INT:
index 2053fd3cfe685612de654e9d191c6657e8494754..2380e2e30e10882748d6ed2a09191efe68c25251 100644 (file)
@@ -127,8 +127,8 @@ fbsd_find_memory_regions (int (*func) (CORE_ADDR, unsigned long,
       if (info_verbose)
        {
          fprintf_filtered (gdb_stdout, 
-                           "Save segment, %ld bytes at 0x%s (%c%c%c)\n", 
-                           size, paddr_nz (start),
+                           "Save segment, %ld bytes at %s (%c%c%c)\n",
+                           size, paddress (target_gdbarch, start),
                            read ? 'r' : '-',
                            write ? 'w' : '-',
                            exec ? 'x' : '-');
index b701d93c93cdf12782efc4a4a45fcc425d0ae7de..1d28914a3400b73eab5946da3c6e19aee24627bf 100644 (file)
@@ -276,7 +276,7 @@ find_command (char *args, int from_tty)
       if (found <= 0)
        break;
 
-      print_address (found_addr, gdb_stdout);
+      print_address (gdbarch, found_addr, gdb_stdout);
       printf_filtered ("\n");
       ++found_count;
       last_found_addr = found_addr;
index 9a06959479e03ec24f249007131f0c19300b2114..ebc7ffbffd3711d13e26cc364e904b0126e44958 100644 (file)
@@ -169,7 +169,7 @@ static void
 fprint_field (struct ui_file *file, const char *name, int p, CORE_ADDR addr)
 {
   if (p)
-    fprintf_unfiltered (file, "%s=0x%s", name, paddr_nz (addr));
+    fprintf_unfiltered (file, "%s=%s", name, hex_string (addr));
   else
     fprintf_unfiltered (file, "!%s", name);
 }
@@ -242,7 +242,7 @@ fprint_frame (struct ui_file *file, struct frame_info *fi)
   fprintf_unfiltered (file, ",");
   fprintf_unfiltered (file, "pc=");
   if (fi->next != NULL && fi->next->prev_pc.p)
-    fprintf_unfiltered (file, "0x%s", paddr_nz (fi->next->prev_pc.value));
+    fprintf_unfiltered (file, "%s", hex_string (fi->next->prev_pc.value));
   else
     fprintf_unfiltered (file, "<unknown>");
   fprintf_unfiltered (file, ",");
@@ -254,7 +254,7 @@ fprint_frame (struct ui_file *file, struct frame_info *fi)
   fprintf_unfiltered (file, ",");
   fprintf_unfiltered (file, "func=");
   if (fi->next != NULL && fi->next->prev_func.p)
-    fprintf_unfiltered (file, "0x%s", paddr_nz (fi->next->prev_func.addr));
+    fprintf_unfiltered (file, "%s", hex_string (fi->next->prev_func.addr));
   else
     fprintf_unfiltered (file, "<unknown>");
   fprintf_unfiltered (file, "}");
@@ -573,7 +573,7 @@ frame_unwind_pc (struct frame_info *this_frame)
        fprintf_unfiltered (gdb_stdlog,
                            "{ frame_unwind_caller_pc (this_frame=%d) -> 0x%s }\n",
                            this_frame->level,
-                           paddr_nz (this_frame->prev_pc.value));
+                           hex_string (this_frame->prev_pc.value));
     }
   return this_frame->prev_pc.value;
 }
@@ -598,9 +598,9 @@ get_frame_func (struct frame_info *this_frame)
       next_frame->prev_func.addr = get_pc_function_start (addr_in_block);
       if (frame_debug)
        fprintf_unfiltered (gdb_stdlog,
-                           "{ get_frame_func (this_frame=%d) -> 0x%s }\n",
+                           "{ get_frame_func (this_frame=%d) -> %s }\n",
                            this_frame->level,
-                           paddr_nz (next_frame->prev_func.addr));
+                           hex_string (next_frame->prev_func.addr));
     }
   return next_frame->prev_func.addr;
 }
@@ -774,8 +774,9 @@ frame_unwind_register_value (struct frame_info *frame, int regnum)
            fprintf_unfiltered (gdb_stdlog, " register=%d",
                                VALUE_REGNUM (value));
          else if (VALUE_LVAL (value) == lval_memory)
-           fprintf_unfiltered (gdb_stdlog, " address=0x%s",
-                               paddr_nz (value_address (value)));
+           fprintf_unfiltered (gdb_stdlog, " address=%s",
+                               paddress (gdbarch,
+                                         value_address (value)));
          else
            fprintf_unfiltered (gdb_stdlog, " computed");
 
@@ -1202,8 +1203,8 @@ create_new_frame (CORE_ADDR addr, CORE_ADDR pc)
   if (frame_debug)
     {
       fprintf_unfiltered (gdb_stdlog,
-                         "{ create_new_frame (addr=0x%s, pc=0x%s) ",
-                         paddr_nz (addr), paddr_nz (pc));
+                         "{ create_new_frame (addr=%s, pc=%s) ",
+                         hex_string (addr), hex_string (pc));
     }
 
   fi = FRAME_OBSTACK_ZALLOC (struct frame_info);
index b227721fd529683df135b6b82c8a1b8868440c49..5bc38e2ab5fecf0ff682519303ec745a73faec94 100644 (file)
@@ -331,8 +331,8 @@ gcore_create_callback (CORE_ADDR vaddr, unsigned long size,
     {
       if (info_verbose)
         {
-          fprintf_filtered (gdb_stdout, "Ignore segment, %s bytes at 0x%s\n",
-                            plongest (size), paddr_nz (vaddr));
+          fprintf_filtered (gdb_stdout, "Ignore segment, %s bytes at %s\n",
+                            plongest (size), paddress (target_gdbarch, vaddr));
         }
 
       return 0;
@@ -389,8 +389,8 @@ gcore_create_callback (CORE_ADDR vaddr, unsigned long size,
 
   if (info_verbose)
     {
-      fprintf_filtered (gdb_stdout, "Save segment, %s bytes at 0x%s\n",
-                       plongest (size), paddr_nz (vaddr));
+      fprintf_filtered (gdb_stdout, "Save segment, %s bytes at %s\n",
+                       plongest (size), paddress (target_gdbarch, vaddr));
     }
 
   bfd_set_section_size (obfd, osec, size);
@@ -482,8 +482,9 @@ gcore_copy_callback (bfd *obfd, asection *osec, void *ignored)
       if (target_read_memory (bfd_section_vma (obfd, osec) + offset,
                              memhunk, size) != 0)
        {
-         warning (_("Memory read failed for corefile section, %s bytes at 0x%s."),
-                  plongest (size), paddr (bfd_section_vma (obfd, osec)));
+         warning (_("Memory read failed for corefile section, %s bytes at %s."),
+                  plongest (size),
+                  paddress (target_gdbarch, bfd_section_vma (obfd, osec)));
          break;
        }
       if (!bfd_set_section_contents (obfd, osec, memhunk, offset, size))
index c7db801a0e829f0709c90914c56832bfb95eb619..a16580827dff2310f54a6623465756eddc8eee45 100644 (file)
@@ -2492,7 +2492,8 @@ gnu_xfer_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len, int write,
   else
     {
       inf_debug (gnu_current_inf, "%s %s[%d] %s %s",
-                write ? "writing" : "reading", paddr (memaddr), len,
+                write ? "writing" : "reading",
+                paddress (target_gdbarch, memaddr), len,
                 write ? "<--" : "-->", host_address_to_string (myaddr));
       if (write)
        return gnu_write_inferior (task, memaddr, myaddr, len);
index 0afb2f93879382a5035c156aae80d7e9db527466..b0567676847729250951436bac674e4287a57508 100644 (file)
@@ -604,7 +604,7 @@ gnuv3_print_method_ptr (const gdb_byte *contents,
       print_longest (stream, 'd', 1, ptr_value);
     }
   else
-    print_address_demangle (ptr_value, stream, demangle);
+    print_address_demangle (gdbarch, ptr_value, stream, demangle);
 
   if (adjustment)
     {
index 08b1b661e6068a2ec965f48e04323a88c4f5f535..6d70c6d068081a69d40757e51302bc2df44c4b50 100644 (file)
@@ -461,8 +461,8 @@ find_unwind_entry (CORE_ADDR pc)
   struct hppa_objfile_private *priv;
 
   if (hppa_debug)
-    fprintf_unfiltered (gdb_stdlog, "{ find_unwind_entry 0x%s -> ",
-                       paddr_nz (pc));
+    fprintf_unfiltered (gdb_stdlog, "{ find_unwind_entry %s -> ",
+                       hex_string (pc));
 
   /* A function at address 0?  Not in HP-UX! */
   if (pc == (CORE_ADDR) 0)
@@ -496,8 +496,8 @@ find_unwind_entry (CORE_ADDR pc)
        && pc <= ui->cache->region_end)
       {
        if (hppa_debug)
-         fprintf_unfiltered (gdb_stdlog, "0x%s (cached) }\n",
-            paddr_nz ((uintptr_t) ui->cache));
+         fprintf_unfiltered (gdb_stdlog, "%s (cached) }\n",
+            hex_string ((uintptr_t) ui->cache));
         return ui->cache;
       }
 
@@ -514,8 +514,8 @@ find_unwind_entry (CORE_ADDR pc)
          {
            ui->cache = &ui->table[middle];
            if (hppa_debug)
-             fprintf_unfiltered (gdb_stdlog, "0x%s }\n",
-                paddr_nz ((uintptr_t) ui->cache));
+             fprintf_unfiltered (gdb_stdlog, "%s }\n",
+                hex_string ((uintptr_t) ui->cache));
            return &ui->table[middle];
          }
 
@@ -1833,8 +1833,8 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache)
   if ((*this_cache) != NULL)
     {
       if (hppa_debug)
-        fprintf_unfiltered (gdb_stdlog, "base=0x%s (cached) }", 
-          paddr_nz (((struct hppa_frame_cache *)*this_cache)->base));
+        fprintf_unfiltered (gdb_stdlog, "base=%s (cached) }",
+          paddress (gdbarch, ((struct hppa_frame_cache *)*this_cache)->base));
       return (*this_cache);
     }
   cache = FRAME_OBSTACK_ZALLOC (struct hppa_frame_cache);
@@ -1935,7 +1935,8 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache)
 
        if (!safe_frame_unwind_memory (this_frame, pc, buf4, sizeof buf4)) 
          {
-           error (_("Cannot read instruction at 0x%s."), paddr_nz (pc));
+           error (_("Cannot read instruction at %s."),
+                  paddress (gdbarch, pc));
            return (*this_cache);
          }
 
@@ -2064,11 +2065,11 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache)
     CORE_ADDR fp;
 
     if (hppa_debug)
-      fprintf_unfiltered (gdb_stdlog, " (this_sp=0x%s, pc=0x%s, "
-                         "prologue_end=0x%s) ",
-                         paddr_nz (this_sp),
-                         paddr_nz (get_frame_pc (this_frame)),
-                         paddr_nz (prologue_end));
+      fprintf_unfiltered (gdb_stdlog, " (this_sp=%s, pc=%s, "
+                         "prologue_end=%s) ",
+                         paddress (gdbarch, this_sp),
+                         paddress (gdbarch, get_frame_pc (this_frame)),
+                         paddress (gdbarch, prologue_end));
 
      /* Check to see if a frame pointer is available, and use it for
         frame unwinding if it is.
@@ -2099,8 +2100,8 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache)
        cache->base = fp;
  
        if (hppa_debug)
-         fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [frame pointer]",
-           paddr_nz (cache->base));
+         fprintf_unfiltered (gdb_stdlog, " (base=%s) [frame pointer]",
+                             paddress (gdbarch, cache->base));
       }
      else if (u->Save_SP 
              && trad_frame_addr_p (cache->saved_regs, HPPA_SP_REGNUM))
@@ -2112,8 +2113,8 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache)
                            (this_sp, gdbarch_ptr_bit (gdbarch) / 8);
 
            if (hppa_debug)
-             fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [saved]",
-                                 paddr_nz (cache->base));
+             fprintf_unfiltered (gdb_stdlog, " (base=%s) [saved]",
+                                 paddress (gdbarch, cache->base));
       }
     else
       {
@@ -2121,8 +2122,8 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache)
           the SP back.  */
         cache->base = this_sp - frame_size;
        if (hppa_debug)
-         fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [unwind adjust]",
-                             paddr_nz (cache->base));
+         fprintf_unfiltered (gdb_stdlog, " (base=%s) [unwind adjust]",
+                             paddress (gdbarch, cache->base));
 
       }
     trad_frame_set_value (cache->saved_regs, HPPA_SP_REGNUM, cache->base);
@@ -2206,8 +2207,8 @@ hppa_frame_cache (struct frame_info *this_frame, void **this_cache)
   }
 
   if (hppa_debug)
-    fprintf_unfiltered (gdb_stdlog, "base=0x%s }", 
-      paddr_nz (((struct hppa_frame_cache *)*this_cache)->base));
+    fprintf_unfiltered (gdb_stdlog, "base=%s }",
+      paddress (gdbarch, ((struct hppa_frame_cache *)*this_cache)->base));
   return (*this_cache);
 }
 
@@ -2533,12 +2534,10 @@ unwind_command (char *exp, int from_tty)
 
   printf_unfiltered ("unwind_table_entry (0x%lx):\n", (unsigned long)u);
 
-  printf_unfiltered ("\tregion_start = ");
-  print_address (u->region_start, gdb_stdout);
+  printf_unfiltered ("\tregion_start = %s\n", hex_string (u->region_start));
   gdb_flush (gdb_stdout);
 
-  printf_unfiltered ("\n\tregion_end = ");
-  print_address (u->region_end, gdb_stdout);
+  printf_unfiltered ("\tregion_end = %s\n", hex_string (u->region_end));
   gdb_flush (gdb_stdout);
 
 #define pif(FLD) if (u->FLD) printf_unfiltered (" "#FLD);
@@ -2943,7 +2942,8 @@ hppa_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
          /* Sanity check: are we pointing to the PLT stub?  */
          if (!hppa_match_insns (pc, hppa_plt_stub, insn))
            {
-             warning (_("Cannot resolve PLT stub at 0x%s."), paddr_nz (pc));
+             warning (_("Cannot resolve PLT stub at %s."),
+                      paddress (gdbarch, pc));
              return 0;
            }
 
index af1db70e171fc421f66b5912fd9319172c431340..a0b0ba638798542488a906ae720191c3168ca648 100644 (file)
@@ -113,6 +113,7 @@ i386_windows_regset_from_core_section (struct gdbarch *gdbarch,
 
 struct cpms_data
 {
+  struct gdbarch *gdbarch;
   struct obstack *obstack;
   int module_count;
 };
@@ -157,7 +158,8 @@ core_process_module_section (bfd *abfd, asection *sect, void *obj)
 
   /* The first module is the .exe itself.  */
   if (data->module_count != 0)
-    windows_xfer_shared_library (module_name, base_addr, data->obstack);
+    windows_xfer_shared_library (module_name, base_addr,
+                                data->gdbarch, data->obstack);
   data->module_count++;
 
 out:
@@ -174,7 +176,7 @@ windows_core_xfer_shared_libraries (struct gdbarch *gdbarch,
   struct obstack obstack;
   const char *buf;
   LONGEST len_avail;
-  struct cpms_data data = { &obstack, 0 };
+  struct cpms_data data = { gdbarch, &obstack, 0 };
 
   obstack_init (&obstack);
   obstack_grow_str (&obstack, "<library-list>\n");
index d556875ea567fb847e3cb413f81c4ce70524df65..ab1bd8a83febc4fa5da46c27d7d351074d130519 100644 (file)
@@ -217,6 +217,7 @@ static void
 i386_show_dr (const char *func, CORE_ADDR addr,
              int len, enum target_hw_bp_type type)
 {
+  int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
   int i;
 
   puts_unfiltered (func);
@@ -240,8 +241,8 @@ i386_show_dr (const char *func, CORE_ADDR addr,
     {
       printf_unfiltered ("\
 \tDR%d: addr=0x%s, ref.count=%d  DR%d: addr=0x%s, ref.count=%d\n",
-                        i, paddr(dr_mirror[i]), dr_ref_count[i],
-                        i+1, paddr(dr_mirror[i+1]), dr_ref_count[i+1]);
+                i, phex (dr_mirror[i], addr_size), dr_ref_count[i],
+                i+1, phex (dr_mirror[i+1], addr_size), dr_ref_count[i+1]);
       i++;
     }
 }
index 6b7560fa4ad851cb2341dad712007e6039c4bc2f..8d5a5375699c613a5017e5a3204b530498f70468 100644 (file)
@@ -428,9 +428,10 @@ i386_displaced_step_fixup (struct gdbarch *gdbarch,
 
   if (debug_displaced)
     fprintf_unfiltered (gdb_stdlog,
-                        "displaced: fixup (0x%s, 0x%s), "
+                        "displaced: fixup (%s, %s), "
                         "insn = 0x%02x 0x%02x ...\n",
-                        paddr_nz (from), paddr_nz (to), insn[0], insn[1]);
+                        paddress (gdbarch, from), paddress (gdbarch, to),
+                       insn[0], insn[1]);
 
   /* The list of issues to contend with here is taken from
      resume_execution in arch/i386/kernel/kprobes.c, Linux 2.6.20.
@@ -499,8 +500,9 @@ i386_displaced_step_fixup (struct gdbarch *gdbarch,
           if (debug_displaced)
             fprintf_unfiltered (gdb_stdlog,
                                 "displaced: "
-                                "relocated %%eip from 0x%s to 0x%s\n",
-                                paddr_nz (orig_eip), paddr_nz (eip));
+                                "relocated %%eip from %s to %s\n",
+                                paddress (gdbarch, orig_eip),
+                               paddress (gdbarch, eip));
         }
     }
 
@@ -525,10 +527,9 @@ i386_displaced_step_fixup (struct gdbarch *gdbarch,
 
       if (debug_displaced)
         fprintf_unfiltered (gdb_stdlog,
-                            "displaced: relocated return addr at 0x%s "
-                            "to 0x%s\n",
-                            paddr_nz (esp),
-                            paddr_nz (retaddr));
+                            "displaced: relocated return addr at %s to %s\n",
+                            paddress (gdbarch, esp),
+                            paddress (gdbarch, retaddr));
     }
 }
 \f
@@ -2764,12 +2765,14 @@ struct i386_record_s
 static int
 i386_record_modrm (struct i386_record_s *irp)
 {
+  struct gdbarch *gdbarch = get_regcache_arch (irp->regcache);
+
   if (target_read_memory (irp->addr, &irp->modrm, 1))
     {
       if (record_debug)
        printf_unfiltered (_("Process record: error reading memory at "
-                            "addr 0x%s len = 1.\n"),
-                          paddr_nz (irp->addr));
+                            "addr %s len = 1.\n"),
+                          paddress (gdbarch, irp->addr));
       return -1;
     }
   irp->addr++;
@@ -2787,6 +2790,7 @@ i386_record_modrm (struct i386_record_s *irp)
 static int
 i386_record_lea_modrm_addr (struct i386_record_s *irp, uint32_t * addr)
 {
+  struct gdbarch *gdbarch = get_regcache_arch (irp->regcache);
   uint8_t tmpu8;
   uint16_t tmpu16;
   uint32_t tmpu32;
@@ -2807,8 +2811,8 @@ i386_record_lea_modrm_addr (struct i386_record_s *irp, uint32_t * addr)
            {
              if (record_debug)
                printf_unfiltered (_("Process record: error reading memory "
-                                    "at addr 0x%s len = 1.\n"),
-                                  paddr_nz (irp->addr));
+                                    "at addr %s len = 1.\n"),
+                                  paddress (gdbarch, irp->addr));
              return -1;
            }
          irp->addr++;
@@ -2827,8 +2831,8 @@ i386_record_lea_modrm_addr (struct i386_record_s *irp, uint32_t * addr)
                {
                  if (record_debug)
                    printf_unfiltered (_("Process record: error reading "
-                                        "memory at addr 0x%s len = 4.\n"),
-                                      paddr_nz (irp->addr));
+                                        "memory at addr %s len = 4.\n"),
+                                      paddress (gdbarch, irp->addr));
                  return -1;
                }
              irp->addr += 4;
@@ -2843,8 +2847,8 @@ i386_record_lea_modrm_addr (struct i386_record_s *irp, uint32_t * addr)
            {
              if (record_debug)
                printf_unfiltered (_("Process record: error reading memory "
-                                    "at addr 0x%s len = 1.\n"),
-                                  paddr_nz (irp->addr));
+                                    "at addr %s len = 1.\n"),
+                                  paddress (gdbarch, irp->addr));
              return -1;
            }
          irp->addr++;
@@ -2855,8 +2859,8 @@ i386_record_lea_modrm_addr (struct i386_record_s *irp, uint32_t * addr)
            {
              if (record_debug)
                printf_unfiltered (_("Process record: error reading memory "
-                                    "at addr 0x%s len = 4.\n"),
-                                  paddr_nz (irp->addr));
+                                    "at addr %s len = 4.\n"),
+                                  paddress (gdbarch, irp->addr));
              return -1;
            }
          irp->addr += 4;
@@ -2889,8 +2893,8 @@ i386_record_lea_modrm_addr (struct i386_record_s *irp, uint32_t * addr)
                {
                  if (record_debug)
                    printf_unfiltered (_("Process record: error reading "
-                                        "memory at addr 0x%s len = 2.\n"),
-                                      paddr_nz (irp->addr));
+                                        "memory at addr %s len = 2.\n"),
+                                      paddress (gdbarch, irp->addr));
                  return -1;
                }
              irp->addr += 2;
@@ -2908,8 +2912,8 @@ i386_record_lea_modrm_addr (struct i386_record_s *irp, uint32_t * addr)
            {
              if (record_debug)
                printf_unfiltered (_("Process record: error reading memory "
-                                    "at addr 0x%s len = 1.\n"),
-                                  paddr_nz (irp->addr));
+                                    "at addr %s len = 1.\n"),
+                                  paddress (gdbarch, irp->addr));
              return -1;
            }
          irp->addr++;
@@ -2920,8 +2924,8 @@ i386_record_lea_modrm_addr (struct i386_record_s *irp, uint32_t * addr)
            {
              if (record_debug)
                printf_unfiltered (_("Process record: error reading memory "
-                                    "at addr 0x%s len = 2.\n"),
-                                  paddr_nz (irp->addr));
+                                    "at addr %s len = 2.\n"),
+                                  paddress (gdbarch, irp->addr));
              return -1;
            }
          irp->addr += 2;
@@ -2998,15 +3002,16 @@ no_rm:
 static int
 i386_record_lea_modrm (struct i386_record_s *irp)
 {
+  struct gdbarch *gdbarch = get_regcache_arch (irp->regcache);
   uint32_t addr;
 
   if (irp->override)
     {
       if (record_debug)
        printf_unfiltered (_("Process record ignores the memory change "
-                            "of instruction at address 0x%s because it "
+                            "of instruction at address %s because it "
                             "can't get the value of the segment register.\n"),
-                          paddr_nz (irp->addr));
+                          paddress (gdbarch, irp->addr));
       return 0;
     }
 
@@ -3042,8 +3047,8 @@ i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
 
   if (record_debug > 1)
     fprintf_unfiltered (gdb_stdlog, "Process record: i386_process_record "
-                                   "addr = 0x%s\n",
-                       paddr_nz (ir.addr));
+                                   "addr = %s\n",
+                       paddress (gdbarch, ir.addr));
 
   /* prefixes */
   while (1)
@@ -3052,8 +3057,8 @@ i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
        {
          if (record_debug)
            printf_unfiltered (_("Process record: error reading memory at "
-                                "addr 0x%s len = 1.\n"),
-                              paddr_nz (ir.addr));
+                                "addr %s len = 1.\n"),
+                              paddress (gdbarch, ir.addr));
          return -1;
        }
       ir.addr++;
@@ -3113,8 +3118,8 @@ reswitch:
        {
          if (record_debug)
            printf_unfiltered (_("Process record: error reading memory at "
-                                "addr 0x%s len = 1.\n"),
-                              paddr_nz (ir.addr));
+                                "addr %s len = 1.\n"),
+                              paddress (gdbarch, ir.addr));
          return -1;
        }
       ir.addr++;
@@ -3852,10 +3857,10 @@ reswitch:
          {
            if (record_debug)
              printf_unfiltered (_("Process record ignores the memory change "
-                                  "of instruction at address 0x%s because "
+                                  "of instruction at address %s because "
                                   "it can't get the value of the segment "
                                   "register.\n"),
-                                paddr_nz (ir.addr));
+                                paddress (gdbarch, ir.addr));
          }
        else
          {
@@ -3870,8 +3875,8 @@ reswitch:
                  {
                    if (record_debug)
                      printf_unfiltered (_("Process record: error reading "
-                                          "memory at addr 0x%s len = 4.\n"),
-                                        paddr_nz (ir.addr));
+                                          "memory at addr %s len = 4.\n"),
+                                        paddress (gdbarch, ir.addr));
                    return -1;
                  }
                ir.addr += 4;
@@ -3883,8 +3888,8 @@ reswitch:
                  {
                    if (record_debug)
                      printf_unfiltered (_("Process record: error reading "
-                                          "memory at addr 0x%s len = 4.\n"),
-                                        paddr_nz (ir.addr));
+                                          "memory at addr %s len = 4.\n"),
+                                        paddress (gdbarch, ir.addr));
                    return -1;
                  }
                ir.addr += 2;
@@ -4272,10 +4277,10 @@ reswitch:
            /* addr += ((uint32_t)read_register (I386_ES_REGNUM)) << 4; */
            if (record_debug)
              printf_unfiltered (_("Process record ignores the memory change "
-                                  "of instruction at address 0x%s because "
+                                  "of instruction at address %s because "
                                   "it can't get the value of the segment "
                                   "register.\n"),
-                                paddr_nz (ir.addr));
+                                paddress (gdbarch, ir.addr));
          }
 
        if (prefixes & (PREFIX_REPZ | PREFIX_REPNZ))
@@ -4681,8 +4686,8 @@ reswitch:
          {
            if (record_debug)
              printf_unfiltered (_("Process record: error reading memory "
-                                  "at addr 0x%s len = 1.\n"),
-                                paddr_nz (ir.addr));
+                                  "at addr %s len = 1.\n"),
+                                paddress (gdbarch, ir.addr));
            return -1;
          }
        ir.addr++;
@@ -4889,10 +4894,10 @@ reswitch:
                if (record_debug)
                  printf_unfiltered (_("Process record ignores the memory "
                                       "change of instruction at "
-                                      "address 0x%s because it can't get "
+                                      "address %s because it can't get "
                                       "the value of the segment "
                                       "register.\n"),
-                                    paddr_nz (ir.addr));
+                                    paddress (gdbarch, ir.addr));
              }
            else
              {
@@ -4934,10 +4939,10 @@ reswitch:
                  if (record_debug)
                    printf_unfiltered (_("Process record ignores the memory "
                                         "change of instruction at "
-                                        "address 0x%s because it can't get "
+                                        "address %s because it can't get "
                                         "the value of the segment "
                                         "register.\n"),
-                                      paddr_nz (ir.addr));
+                                      paddress (gdbarch, ir.addr));
                }
              else
                {
@@ -5122,8 +5127,8 @@ reswitch:
 
 no_support:
   printf_unfiltered (_("Process record doesn't support instruction 0x%02x "
-                      "at address 0x%s.\n"),
-                    (unsigned int) (opcode), paddr_nz (ir.addr));
+                      "at address %s.\n"),
+                    (unsigned int) (opcode), paddress (gdbarch, ir.addr));
   return -1;
 }
 
index d5daf5064cca5814eb00b84678b2c60cc211685f..abb361007921ad243c0965c1ccbdfbd0c36601b0 100644 (file)
@@ -650,7 +650,7 @@ ia64_memory_insert_breakpoint (struct gdbarch *gdbarch,
   if (instr_breakpoint == IA64_BREAKPOINT)
     internal_error (__FILE__, __LINE__,
                    _("Address %s already contains a breakpoint."),
-                   paddr_nz (bp_tgt->placed_address));
+                   paddress (gdbarch, bp_tgt->placed_address));
   replace_slotN_contents (bundle, IA64_BREAKPOINT, slotnum);
 
   if (val == 0)
@@ -697,7 +697,7 @@ ia64_memory_remove_breakpoint (struct gdbarch *gdbarch,
     {
       warning (_("Cannot remove breakpoint at address %s, "
                 "no break instruction at such address."),
-              paddr_nz (bp_tgt->placed_address));
+              paddress (gdbarch, bp_tgt->placed_address));
       return -1;
     }
 
@@ -1720,6 +1720,7 @@ static void
 ia64_frame_this_id (struct frame_info *this_frame, void **this_cache,
                    struct frame_id *this_id)
 {
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
   struct ia64_frame_cache *cache =
     ia64_frame_cache (this_frame, this_cache);
 
@@ -1730,10 +1731,10 @@ ia64_frame_this_id (struct frame_info *this_frame, void **this_cache,
     (*this_id) = frame_id_build_special (cache->base, cache->pc, cache->bsp);
   if (gdbarch_debug >= 1)
     fprintf_unfiltered (gdb_stdlog,
-                       "regular frame id: code 0x%s, stack 0x%s, special 0x%s, this_frame %s\n",
-                       paddr_nz (this_id->code_addr), 
-                       paddr_nz (this_id->stack_addr), 
-                       paddr_nz (cache->bsp),
+                       "regular frame id: code %s, stack %s, special %s, this_frame %s\n",
+                       paddress (gdbarch, this_id->code_addr),
+                       paddress (gdbarch, this_id->stack_addr),
+                       paddress (gdbarch, cache->bsp),
                        host_address_to_string (this_frame));
 }
 
@@ -2078,6 +2079,7 @@ static void
 ia64_sigtramp_frame_this_id (struct frame_info *this_frame,
                             void **this_cache, struct frame_id *this_id)
 {
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
   struct ia64_frame_cache *cache =
     ia64_sigtramp_frame_cache (this_frame, this_cache);
 
@@ -2086,10 +2088,10 @@ ia64_sigtramp_frame_this_id (struct frame_info *this_frame,
                                        cache->bsp);
   if (gdbarch_debug >= 1)
     fprintf_unfiltered (gdb_stdlog,
-                       "sigtramp frame id: code 0x%s, stack 0x%s, special 0x%s, this_frame %s\n",
-                       paddr_nz (this_id->code_addr), 
-                       paddr_nz (this_id->stack_addr), 
-                       paddr_nz (cache->bsp),
+                       "sigtramp frame id: code %s, stack %s, special %s, this_frame %s\n",
+                       paddress (gdbarch, this_id->code_addr),
+                       paddress (gdbarch, this_id->stack_addr),
+                       paddress (gdbarch, cache->bsp),
                        host_address_to_string (this_frame));
 }
 
@@ -2298,6 +2300,7 @@ ia64_access_reg (unw_addr_space_t as, unw_regnum_t uw_regnum, unw_word_t *val,
   int regnum = ia64_uw2gdb_regnum (uw_regnum);
   unw_word_t bsp, sof, sol, cfm, psr, ip;
   struct frame_info *this_frame = arg;
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
   long new_sof, old_sof;
   char buf[MAX_REGISTER_SIZE];
   
@@ -2344,10 +2347,10 @@ ia64_access_reg (unw_addr_space_t as, unw_regnum_t uw_regnum, unw_word_t *val,
       
   if (gdbarch_debug >= 1)
     fprintf_unfiltered (gdb_stdlog, 
-                       "  access_reg: from cache: %4s=0x%s\n",
+                       "  access_reg: from cache: %4s=%s\n",
                        (((unsigned) regnum <= IA64_NAT127_REGNUM)
                        ? ia64_register_names[regnum] : "r??"), 
-                       paddr_nz (*val));
+                       paddress (*val));
   return 0;
 }
 
@@ -2375,6 +2378,7 @@ ia64_access_rse_reg (unw_addr_space_t as, unw_regnum_t uw_regnum, unw_word_t *va
   int regnum = ia64_uw2gdb_regnum (uw_regnum);
   unw_word_t bsp, sof, sol, cfm, psr, ip;
   struct regcache *regcache = arg;
+  struct gdbarch *gdbarch = get_regcache_arch (regcache);
   long new_sof, old_sof;
   char buf[MAX_REGISTER_SIZE];
   
@@ -2421,10 +2425,10 @@ ia64_access_rse_reg (unw_addr_space_t as, unw_regnum_t uw_regnum, unw_word_t *va
       
   if (gdbarch_debug >= 1)
     fprintf_unfiltered (gdb_stdlog, 
-                       "  access_rse_reg: from cache: %4s=0x%s\n",
+                       "  access_rse_reg: from cache: %4s=%s\n",
                        (((unsigned) regnum <= IA64_NAT127_REGNUM)
                         ? ia64_register_names[regnum] : "r??"), 
-                       paddr_nz (*val));
+                       paddress (gdbarch, *val));
 
   return 0;
 }
@@ -2526,11 +2530,11 @@ get_kernel_table (unw_word_t ip, unw_dyn_info_t *di)
   
   if (gdbarch_debug >= 1)
     fprintf_unfiltered (gdb_stdlog, "get_kernel_table: found table `%s': "
-                       "segbase=0x%s, length=%s, gp=0x%s\n",
+                       "segbase=%s, length=%s, gp=%s\n",
                        (char *) di->u.ti.name_ptr, 
-                       paddr_nz (di->u.ti.segbase), 
+                       hex_string (di->u.ti.segbase),
                        pulongest (di->u.ti.table_len), 
-                       paddr_nz (di->gp));
+                       hex_string (di->gp));
   return 0;
 }
 
@@ -2631,15 +2635,15 @@ ia64_find_proc_info_x (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
        return -UNW_ENOINFO;
 
       if (gdbarch_debug >= 1)
-       fprintf_unfiltered (gdb_stdlog, "ia64_find_proc_info_x: 0x%s -> "
-                           "(name=`%s',segbase=0x%s,start=0x%s,end=0x%s,gp=0x%s,"
-                           "length=%s,data=0x%s)\n",
-                           paddr_nz (ip), (char *)di.u.ti.name_ptr,
-                           paddr_nz (di.u.ti.segbase), 
-                           paddr_nz (di.start_ip), paddr_nz (di.end_ip),
-                           paddr_nz (di.gp), 
+       fprintf_unfiltered (gdb_stdlog, "ia64_find_proc_info_x: %s -> "
+                           "(name=`%s',segbase=%s,start=%s,end=%s,gp=%s,"
+                           "length=%s,data=%s)\n",
+                           hex_string (ip), (char *)di.u.ti.name_ptr,
+                           hex_string (di.u.ti.segbase),
+                           hex_string (di.start_ip), hex_string (di.end_ip),
+                           hex_string (di.gp),
                            pulongest (di.u.ti.table_len), 
-                           paddr_nz ((CORE_ADDR)di.u.ti.table_data));
+                           hex_string ((CORE_ADDR)di.u.ti.table_data));
     }
   else
     {
@@ -2648,15 +2652,15 @@ ia64_find_proc_info_x (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
        return ret;
 
       if (gdbarch_debug >= 1)
-       fprintf_unfiltered (gdb_stdlog, "ia64_find_proc_info_x: 0x%s -> "
-                           "(name=`%s',segbase=0x%s,start=0x%s,end=0x%s,gp=0x%s,"
-                           "length=%s,data=0x%s)\n",
-                           paddr_nz (ip), (char *)di.u.rti.name_ptr,
-                           paddr_nz (di.u.rti.segbase), 
-                           paddr_nz (di.start_ip), paddr_nz (di.end_ip),
-                           paddr_nz (di.gp), 
+       fprintf_unfiltered (gdb_stdlog, "ia64_find_proc_info_x: %s -> "
+                           "(name=`%s',segbase=%s,start=%s,end=%s,gp=%s,"
+                           "length=%s,data=%s)\n",
+                           hex_string (ip), (char *)di.u.rti.name_ptr,
+                           hex_string (di.u.rti.segbase),
+                           hex_string (di.start_ip), hex_string (di.end_ip),
+                           hex_string (di.gp),
                            pulongest (di.u.rti.table_len), 
-                           paddr_nz (di.u.rti.table_data));
+                           hex_string (di.u.rti.table_data));
     }
 
   ret = libunwind_search_unwind_table (&as, ip, &di, pi, need_unwind_info,
@@ -2709,9 +2713,9 @@ ia64_get_dyn_info_list (unw_addr_space_t as,
              if (gdbarch_debug >= 1)
                fprintf_unfiltered (gdb_stdlog,
                                    "dynamic unwind table in objfile %s "
-                                   "at 0x%s (gp=0x%s)\n",
+                                   "at %s (gp=%s)\n",
                                    bfd_get_filename (objfile->obfd),
-                                   paddr_nz (addr), paddr_nz (di.gp));
+                                   hex_string (addr), hex_string (di.gp));
              *dilap = addr;
              return 0;
            }
@@ -2727,6 +2731,7 @@ static void
 ia64_libunwind_frame_this_id (struct frame_info *this_frame, void **this_cache,
                              struct frame_id *this_id)
 {
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
   struct frame_id id;
   char buf[8];
   CORE_ADDR bsp;
@@ -2748,9 +2753,10 @@ ia64_libunwind_frame_this_id (struct frame_info *this_frame, void **this_cache,
 
   if (gdbarch_debug >= 1)
     fprintf_unfiltered (gdb_stdlog,
-                       "libunwind frame id: code 0x%s, stack 0x%s, special 0x%s, this_frame %s\n",
-                       paddr_nz (id.code_addr), paddr_nz (id.stack_addr), 
-                       paddr_nz (bsp),
+                       "libunwind frame id: code %s, stack %s, special %s, this_frame %s\n",
+                       paddress (gdbarch, id.code_addr),
+                       paddress (gdbarch, id.stack_addr),
+                       paddress (gdbarch, bsp),
                        host_address_to_string (this_frame));
 }
 
@@ -2852,6 +2858,7 @@ ia64_libunwind_sigtramp_frame_this_id (struct frame_info *this_frame,
                                        void **this_cache,
                                       struct frame_id *this_id)
 {
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
   char buf[8];
   CORE_ADDR bsp;
   struct frame_id id;
@@ -2874,9 +2881,10 @@ ia64_libunwind_sigtramp_frame_this_id (struct frame_info *this_frame,
 
   if (gdbarch_debug >= 1)
     fprintf_unfiltered (gdb_stdlog,
-                       "libunwind sigtramp frame id: code 0x%s, stack 0x%s, special 0x%s, this_frame %s\n",
-                       paddr_nz (id.code_addr), paddr_nz (id.stack_addr), 
-                       paddr_nz (bsp),
+                       "libunwind sigtramp frame id: code %s, stack %s, special %s, this_frame %s\n",
+                       paddress (gdbarch, id.code_addr),
+                       paddress (gdbarch, id.stack_addr),
+                       paddress (gdbarch, bsp),
                        host_address_to_string (this_frame));
 }
 
@@ -3574,9 +3582,9 @@ ia64_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
 
   if (gdbarch_debug >= 1)
     fprintf_unfiltered (gdb_stdlog,
-                       "dummy frame id: code 0x%s, stack 0x%s, special 0x%s\n",
-                       paddr_nz (get_frame_pc (this_frame)),
-                       paddr_nz (sp), paddr_nz (bsp));
+                       "dummy frame id: code %s, stack %s, special %s\n",
+                       paddress (gdbarch, get_frame_pc (this_frame)),
+                       paddress (gdbarch, sp), paddress (gdbarch, bsp));
 
   return frame_id_build_special (sp, get_frame_pc (this_frame), bsp);
 }
index fb357e8f90b9e20d653b8fd17175e7d659d2991b..28b618f4f4a911fb9c13c4cdf857f0dbf42c8c20 100644 (file)
@@ -20,6 +20,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "arch-utils.h"
 #include <signal.h>
 #include "gdb_string.h"
 #include "symtab.h"
@@ -1029,6 +1030,7 @@ which has no line number information.\n"), name);
 static void
 jump_command (char *arg, int from_tty)
 {
+  struct gdbarch *gdbarch = get_current_arch ();
   CORE_ADDR addr;
   struct symtabs_and_lines sals;
   struct symtab_and_line sal;
@@ -1098,7 +1100,7 @@ jump_command (char *arg, int from_tty)
   if (from_tty)
     {
       printf_filtered (_("Continuing at "));
-      fputs_filtered (paddress (addr), gdb_stdout);
+      fputs_filtered (paddress (gdbarch, addr), gdb_stdout);
       printf_filtered (".\n");
     }
 
@@ -1655,7 +1657,8 @@ program_info (char *args, int from_tty)
   stat = bpstat_num (&bs, &num);
 
   target_files_info ();
-  printf_filtered (_("Program stopped at %s.\n"), paddress (stop_pc));
+  printf_filtered (_("Program stopped at %s.\n"),
+                  paddress (target_gdbarch, stop_pc));
   if (tp->stop_step)
     printf_filtered (_("It stopped after being stepped.\n"));
   else if (stat != 0)
index 0606821fdac53a3690ad043d01aa7fd70aeb3237..9f6cfc99aa2de67a9e4203d411112b09f945f298 100644 (file)
@@ -866,8 +866,8 @@ displaced_step_prepare (ptid_t ptid)
   read_memory (copy, displaced_step_saved_copy, len);
   if (debug_displaced)
     {
-      fprintf_unfiltered (gdb_stdlog, "displaced: saved 0x%s: ",
-                         paddr_nz (copy));
+      fprintf_unfiltered (gdb_stdlog, "displaced: saved %s: ",
+                         paddress (gdbarch, copy));
       displaced_step_dump_bytes (gdb_stdlog, displaced_step_saved_copy, len);
     };
 
@@ -895,8 +895,8 @@ displaced_step_prepare (ptid_t ptid)
   do_cleanups (old_cleanups);
 
   if (debug_displaced)
-    fprintf_unfiltered (gdb_stdlog, "displaced: displaced pc to 0x%s\n",
-                       paddr_nz (copy));
+    fprintf_unfiltered (gdb_stdlog, "displaced: displaced pc to %s\n",
+                       paddress (gdbarch, copy));
 
   return 1;
 }
@@ -928,8 +928,9 @@ displaced_step_fixup (ptid_t event_ptid, enum target_signal signal)
     write_memory_ptid (displaced_step_ptid, displaced_step_copy,
                       displaced_step_saved_copy, len);
     if (debug_displaced)
-      fprintf_unfiltered (gdb_stdlog, "displaced: restored 0x%s\n",
-                          paddr_nz (displaced_step_copy));
+      fprintf_unfiltered (gdb_stdlog, "displaced: restored %s\n",
+                          paddress (displaced_step_gdbarch,
+                                   displaced_step_copy));
   }
 
   /* Did the instruction complete successfully?  */
@@ -962,6 +963,7 @@ displaced_step_fixup (ptid_t event_ptid, enum target_signal signal)
     {
       struct displaced_step_request *head;
       ptid_t ptid;
+      struct regcache *regcache;
       CORE_ADDR actual_pc;
 
       head = displaced_step_request_queue;
@@ -971,7 +973,8 @@ displaced_step_fixup (ptid_t event_ptid, enum target_signal signal)
 
       context_switch (ptid);
 
-      actual_pc = regcache_read_pc (get_thread_regcache (ptid));
+      regcache = get_thread_regcache (ptid);
+      actual_pc = regcache_read_pc (regcache);
 
       if (breakpoint_here_p (actual_pc))
        {
@@ -984,10 +987,11 @@ displaced_step_fixup (ptid_t event_ptid, enum target_signal signal)
 
          if (debug_displaced)
            {
+             struct gdbarch *gdbarch = get_regcache_arch (regcache);
              gdb_byte buf[4];
 
-             fprintf_unfiltered (gdb_stdlog, "displaced: run 0x%s: ",
-                                 paddr_nz (actual_pc));
+             fprintf_unfiltered (gdb_stdlog, "displaced: run %s: ",
+                                 paddress (gdbarch, actual_pc));
              read_memory (actual_pc, buf, sizeof (buf));
              displaced_step_dump_bytes (gdb_stdlog, buf, sizeof (buf));
            }
@@ -1278,11 +1282,12 @@ a command like `return' or `jump' to continue execution."));
           && tp->trap_expected)
         {
          struct regcache *resume_regcache = get_thread_regcache (resume_ptid);
+         struct gdbarch *resume_gdbarch = get_regcache_arch (resume_regcache);
           CORE_ADDR actual_pc = regcache_read_pc (resume_regcache);
           gdb_byte buf[4];
 
-          fprintf_unfiltered (gdb_stdlog, "displaced: run 0x%s: ",
-                              paddr_nz (actual_pc));
+          fprintf_unfiltered (gdb_stdlog, "displaced: run %s: ",
+                              paddress (resume_gdbarch, actual_pc));
           read_memory (actual_pc, buf, sizeof (buf));
           displaced_step_dump_bytes (gdb_stdlog, buf, sizeof (buf));
         }
@@ -1507,8 +1512,8 @@ proceed (CORE_ADDR addr, enum target_signal siggnal, int step)
 
   if (debug_infrun)
     fprintf_unfiltered (gdb_stdlog,
-                       "infrun: proceed (addr=0x%s, signal=%d, step=%d)\n",
-                       paddr_nz (addr), siggnal, step);
+                       "infrun: proceed (addr=%s, signal=%d, step=%d)\n",
+                       paddress (gdbarch, addr), siggnal, step);
 
   if (non_stop)
     /* In non-stop, each thread is handled individually.  The context
@@ -2774,8 +2779,11 @@ targets should add new threads to the thread list themselves in non-stop mode.")
 
   if (debug_infrun)
     {
-      fprintf_unfiltered (gdb_stdlog, "infrun: stop_pc = 0x%s\n",
-                          paddr_nz (stop_pc));
+      struct regcache *regcache = get_thread_regcache (ecs->ptid);
+      struct gdbarch *gdbarch = get_regcache_arch (regcache);
+
+      fprintf_unfiltered (gdb_stdlog, "infrun: stop_pc = %s\n",
+                          paddress (gdbarch, stop_pc));
       if (target_stopped_by_watchpoint ())
        {
           CORE_ADDR addr;
@@ -2783,8 +2791,8 @@ targets should add new threads to the thread list themselves in non-stop mode.")
 
           if (target_stopped_data_address (&current_target, &addr))
             fprintf_unfiltered (gdb_stdlog,
-                                "infrun: stopped data address = 0x%s\n",
-                                paddr_nz (addr));
+                                "infrun: stopped data address = %s\n",
+                                paddress (gdbarch, addr));
           else
             fprintf_unfiltered (gdb_stdlog,
                                 "infrun: (no data address available)\n");
@@ -3680,9 +3688,10 @@ infrun: not switching back to stepped thread, it has vanished\n");
                          ecs->event_thread->step_frame_id)))
     {
       if (debug_infrun)
-       fprintf_unfiltered (gdb_stdlog, "infrun: stepping inside range [0x%s-0x%s]\n",
-                           paddr_nz (ecs->event_thread->step_range_start),
-                           paddr_nz (ecs->event_thread->step_range_end));
+       fprintf_unfiltered
+         (gdb_stdlog, "infrun: stepping inside range [%s-%s]\n",
+          paddress (gdbarch, ecs->event_thread->step_range_start),
+          paddress (gdbarch, ecs->event_thread->step_range_end));
 
       /* When stepping backward, stop at beginning of line range
         (unless it's the function entry point, in which case
@@ -4279,8 +4288,8 @@ insert_step_resume_breakpoint_at_sal (struct gdbarch *gdbarch,
 
   if (debug_infrun)
     fprintf_unfiltered (gdb_stdlog,
-                       "infrun: inserting step-resume breakpoint at 0x%s\n",
-                       paddr_nz (sr_sal.pc));
+                       "infrun: inserting step-resume breakpoint at %s\n",
+                       paddress (gdbarch, sr_sal.pc));
 
   inferior_thread ()->step_resume_breakpoint
     = set_momentary_breakpoint (gdbarch, sr_sal, sr_id, bp_step_resume);
@@ -4361,8 +4370,8 @@ insert_longjmp_resume_breakpoint (struct gdbarch *gdbarch, CORE_ADDR pc)
 
   if (debug_infrun)
     fprintf_unfiltered (gdb_stdlog,
-                       "infrun: inserting longjmp-resume breakpoint at 0x%s\n",
-                       paddr_nz (pc));
+                       "infrun: inserting longjmp-resume breakpoint at %s\n",
+                       paddress (gdbarch, pc));
 
   inferior_thread ()->step_resume_breakpoint =
     set_momentary_breakpoint_at_pc (gdbarch, pc, bp_longjmp_resume);
index b9329112833b5c52abfb9e96a3c712bc20401f88..72a617d4671c3f8eaca1c2affbafe6aca048886e 100644 (file)
@@ -134,7 +134,7 @@ java_value_print (struct value *val, struct ui_file *stream,
              if (element == 0)
                fprintf_filtered (stream, "null");
              else
-               fprintf_filtered (stream, "@%s", paddr_nz (element));
+               fprintf_filtered (stream, "@%s", paddress (gdbarch, element));
 
              things_printed++;
              i += reps;
@@ -461,6 +461,7 @@ java_val_print (struct type *type, const gdb_byte *valaddr,
                struct ui_file *stream, int recurse,
                const struct value_print_options *options)
 {
+  struct gdbarch *gdbarch = get_type_arch (type);
   unsigned int i = 0;  /* Number of characters printed */
   struct type *target_type;
   CORE_ADDR addr;
@@ -481,7 +482,8 @@ java_val_print (struct type *type, const gdb_byte *valaddr,
          /* Print vtable entry - we only get here if we ARE using
             -fvtable_thunks.  (Otherwise, look under TYPE_CODE_STRUCT.) */
          /* Extract an address, assume that it is unsigned.  */
-         print_address_demangle (extract_unsigned_integer (valaddr, TYPE_LENGTH (type)),
+         print_address_demangle (gdbarch,
+                                 extract_unsigned_integer (valaddr, TYPE_LENGTH (type)),
                                  stream, demangle);
          break;
        }
@@ -497,7 +499,7 @@ java_val_print (struct type *type, const gdb_byte *valaddr,
       if (TYPE_CODE (target_type) == TYPE_CODE_FUNC)
        {
          /* Try to print what function it points to.  */
-         print_address_demangle (addr, stream, demangle);
+         print_address_demangle (gdbarch, addr, stream, demangle);
          /* Return value is irrelevant except for string pointers.  */
          return (0);
        }
index a020743ab397b4d48f0273c5292b596f59a17779..b89e8b52981fc986eec8e42cbc01f6797eafb260 100644 (file)
@@ -18,6 +18,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "arch-utils.h"
 #include "inferior.h"
 #include "regcache.h"
 #include "gdbcmd.h"
@@ -480,6 +481,7 @@ detach_fork_command (char *args, int from_tty)
 static void
 info_forks_command (char *arg, int from_tty)
 {
+  struct gdbarch *gdbarch = get_current_arch ();
   struct frame_info *cur_frame;
   struct symtab_and_line sal;
   struct symtab *cur_symtab;
@@ -512,7 +514,7 @@ info_forks_command (char *arg, int from_tty)
       if (fp->num == 0)
        printf_filtered (_(" (main process)"));
       printf_filtered (_(" at "));
-      fputs_filtered (paddress (pc), gdb_stdout);
+      fputs_filtered (paddress (gdbarch, pc), gdb_stdout);
 
       sal = find_pc_line (pc, 0);
       if (sal.symtab)
index 29d959445dc5c35b83ba63be602b3e936db64f42..0253fe91d6d42d52a4d93e8814e56c523e4ce718 100644 (file)
@@ -3445,8 +3445,8 @@ linux_nat_find_memory_regions (int (*func) (CORE_ADDR,
       if (info_verbose)
        {
          fprintf_filtered (gdb_stdout,
-                           "Save segment, %lld bytes at 0x%s (%c%c%c)",
-                           size, paddr_nz (addr),
+                           "Save segment, %lld bytes at %s (%c%c%c)",
+                           size, paddress (target_gdbarch, addr),
                            read ? 'r' : ' ',
                            write ? 'w' : ' ', exec ? 'x' : ' ');
          if (filename[0])
index 04ae26aced3d7a5993398caad147458d7603e998..496f76d0acd02d2a69cfaa10b985f6a4ee411b27 100644 (file)
@@ -96,6 +96,7 @@ int
 record_linux_system_call (int num, struct regcache *regcache,
                          struct linux_record_tdep *tdep)
 {
+  struct gdbarch *gdbarch = get_regcache_arch (regcache);
   uint32_t tmpu32;
 
   switch (num)
@@ -547,8 +548,8 @@ record_linux_system_call (int num, struct regcache *regcache,
                if (record_debug)
                  fprintf_unfiltered (gdb_stdlog,
                                      "Process record: error reading memory "
-                                     "at addr = 0x%s len = %lu.\n",
-                                     paddr_nz (tmpu32),
+                                     "at addr = %s len = %lu.\n",
+                                     paddress (gdbarch, tmpu32),
                                      (unsigned long)sizeof (sel));
                return -1;
              }
@@ -624,10 +625,10 @@ record_linux_system_call (int num, struct regcache *regcache,
        target_terminal_ours ();
        q =
          yquery (_("The next instruction is syscall munmap.  "
-                   "It will free the memory addr = 0x%s len = %u.  "
+                   "It will free the memory addr = %s len = %u.  "
                    "It will make record target get error.  "
                    "Do you want to stop the program?"),
-                 paddr_nz (tmpu32), (int)len);
+                 paddress (gdbarch, tmpu32), (int)len);
        target_terminal_inferior ();
        if (q)
          return 1;
@@ -687,8 +688,8 @@ record_linux_system_call (int num, struct regcache *regcache,
                    if (record_debug)
                      fprintf_unfiltered (gdb_stdlog,
                                          "Process record: error reading "
-                                         "memory at addr = 0x%s len = %lu.\n",
-                                         paddr_nz (tmpu32),
+                                         "memory at addr = %s len = %lu.\n",
+                                         paddress (gdbarch, tmpu32),
                                          (unsigned long)sizeof (a));
                    return -1;
                  }
@@ -712,8 +713,8 @@ record_linux_system_call (int num, struct regcache *regcache,
                    if (record_debug)
                      fprintf_unfiltered (gdb_stdlog,
                                          "Process record: error reading "
-                                         "memory at addr = 0x%s len = %lu.\n",
-                                         paddr_nz (tmpu32),
+                                         "memory at addr = %s len = %lu.\n",
+                                         paddress (gdbarch, tmpu32),
                                          (unsigned long)sizeof (a));
                    return -1;
                  }
@@ -737,8 +738,8 @@ record_linux_system_call (int num, struct regcache *regcache,
                    if (record_debug)
                      fprintf_unfiltered (gdb_stdlog,
                                          "Process record: error reading "
-                                         "memory at addr = 0x%s len = %lu.\n",
-                                         paddr_nz (tmpu32),
+                                         "memory at addr = %s len = %lu.\n",
+                                         paddress (gdbarch, tmpu32),
                                          (unsigned long)sizeof (a));
                    return -1;
                  }
@@ -750,9 +751,9 @@ record_linux_system_call (int num, struct regcache *regcache,
                        if (record_debug)
                          fprintf_unfiltered (gdb_stdlog,
                                              "Process record: error reading "
-                                             "memory at addr = 0x%s "
+                                             "memory at addr = %s "
                                              "len = %lu.\n",
-                                             paddr_nz (a[2]),
+                                             paddress (gdbarch, a[2]),
                                              (unsigned long)sizeof (a[2]));
                        return -1;
                      }
@@ -774,8 +775,8 @@ record_linux_system_call (int num, struct regcache *regcache,
                    if (record_debug)
                      fprintf_unfiltered (gdb_stdlog,
                                          "Process record: error reading "
-                                         "memory at addr = 0x%s len = %lu.\n",
-                                         paddr_nz (tmpu32),
+                                         "memory at addr = %s len = %lu.\n",
+                                         paddress (gdbarch, tmpu32),
                                          (unsigned long)sizeof (a));
                    return -1;
                  }
@@ -787,9 +788,9 @@ record_linux_system_call (int num, struct regcache *regcache,
                        if (record_debug)
                          fprintf_unfiltered (gdb_stdlog,
                                              "Process record: error reading "
-                                             "memory at addr = 0x%s "
+                                             "memory at addr = %s "
                                              "len = %lu.\n",
-                                             paddr_nz (a[2]),
+                                             paddress (gdbarch, a[2]),
                                              (unsigned long)sizeof (a[2]));
                        return -1;
                      }
@@ -820,8 +821,8 @@ record_linux_system_call (int num, struct regcache *regcache,
                    if (record_debug)
                      fprintf_unfiltered (gdb_stdlog,
                                          "Process record: error reading "
-                                         "memory at addr = 0x%s len = %lu.\n",
-                                         paddr_nz (tmpu32),
+                                         "memory at addr = %s len = %lu.\n",
+                                         paddress (gdbarch, tmpu32),
                                          (unsigned long)sizeof (a));
                    return -1;
                  }
@@ -833,9 +834,9 @@ record_linux_system_call (int num, struct regcache *regcache,
                        if (record_debug)
                          fprintf_unfiltered (gdb_stdlog,
                                              "Process record: error reading "
-                                             "memory at addr = 0x%s "
+                                             "memory at addr = %s "
                                              "len = %lu.\n",
-                                             paddr_nz (a[4]),
+                                             paddress (gdbarch, a[4]),
                                              (unsigned long)sizeof (av));
                        return -1;
                      }
@@ -877,8 +878,8 @@ record_linux_system_call (int num, struct regcache *regcache,
                    if (record_debug)
                      fprintf_unfiltered (gdb_stdlog,
                                          "Process record: error reading "
-                                         "memory at addr = 0x%s len = %lu.\n",
-                                         paddr_nz (tmpu32),
+                                         "memory at addr = %s len = %lu.\n",
+                                         paddress (gdbarch, tmpu32),
                                          (unsigned long)sizeof (a));
                    return -1;
                  }
@@ -892,9 +893,9 @@ record_linux_system_call (int num, struct regcache *regcache,
                        if (record_debug)
                          fprintf_unfiltered (gdb_stdlog,
                                              "Process record: error reading "
-                                             "memory at addr = 0x%s "
+                                             "memory at addr = %s "
                                              "len = %lu.\n",
-                                             paddr_nz (a[1]),
+                                             paddress (gdbarch, a[1]),
                                              (unsigned long)sizeof (rec));
                        return -1;
                      }
@@ -916,10 +917,10 @@ record_linux_system_call (int num, struct regcache *regcache,
                                  fprintf_unfiltered (gdb_stdlog,
                                                      "Process record: error "
                                                      "reading memory at "
-                                                     "addr = 0x%s "
+                                                     "addr = %s "
                                                      "len = %lu.\n",
-                                                     paddr_nz (rec.
-                                                               msg_iov),
+                                                     paddress (gdbarch,
+                                                               rec.msg_iov),
                                                      (unsigned long)sizeof (iov));
                                return -1;
                              }
@@ -1234,8 +1235,8 @@ record_linux_system_call (int num, struct regcache *regcache,
                    if (record_debug)
                      fprintf_unfiltered (gdb_stdlog,
                                          "Process record: error reading "
-                                         "memory at addr = 0x%s len = %lu.\n",
-                                         paddr_nz (vec),
+                                         "memory at addr = %s len = %lu.\n",
+                                         paddress (gdbarch, vec),
                                          (unsigned long)sizeof (struct record_iovec));
                    return -1;
                  }
@@ -1783,8 +1784,8 @@ record_linux_system_call (int num, struct regcache *regcache,
              if (record_debug)
                fprintf_unfiltered (gdb_stdlog,
                                    "Process record: error reading memory "
-                                   "at addr = 0x%s len = %u.\n",
-                                   paddr_nz (tmpu32),
+                                   "at addr = %s len = %u.\n",
+                                   paddress (gdbarch, tmpu32),
                                    (int)(nr * tdep->size_int));
              return -1;
            }
index 08ee7b39c77ee1c4f30435d09adb3ba3d2644fe3..657eff702a514c9fb9fdd755fbea58ce9457422a 100644 (file)
@@ -57,10 +57,10 @@ print_function_pointer_address (struct gdbarch *gdbarch, CORE_ADDR address,
   if (addressprint && func_addr != address)
     {
       fputs_filtered ("@", stream);
-      fputs_filtered (paddress (address), stream);
+      fputs_filtered (paddress (gdbarch, address), stream);
       fputs_filtered (": ", stream);
     }
-  print_address_demangle (func_addr, stream, demangle);
+  print_address_demangle (gdbarch, func_addr, stream, demangle);
 }
 
 /* get_long_set_bounds - assigns the bounds of the long set to low and
@@ -225,7 +225,7 @@ print_unpacked_pointer (struct type *type,
     }
 
   if (options->addressprint && options->format != 's')
-    fputs_filtered (paddress (address), stream);
+    fputs_filtered (paddress (gdbarch, address), stream);
 
   /* For a pointer to char or unsigned char, also print the string
      pointed to, unless pointer is null.  */
@@ -247,11 +247,12 @@ print_variable_at_address (struct type *type,
                           int recurse,
                           const struct value_print_options *options)
 {
+  struct gdbarch *gdbarch = get_type_arch (type);
   CORE_ADDR addr = unpack_pointer (type, valaddr);
   struct type *elttype = check_typedef (TYPE_TARGET_TYPE (type));
 
   fprintf_filtered (stream, "[");
-  fputs_filtered (paddress (addr), stream);
+  fputs_filtered (paddress (gdbarch, addr), stream);
   fprintf_filtered (stream, "] : ");
   
   if (TYPE_CODE (elttype) != TYPE_CODE_UNDEF)
@@ -316,6 +317,7 @@ m2_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
              CORE_ADDR address, struct ui_file *stream, int recurse,
              const struct value_print_options *options)
 {
+  struct gdbarch *gdbarch = get_type_arch (type);
   unsigned int i = 0;  /* Number of characters printed */
   unsigned len;
   struct type *elttype;
@@ -396,7 +398,7 @@ m2_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
          CORE_ADDR addr
            = extract_typed_address (valaddr + embedded_offset, type);
          fprintf_filtered (stream, "@");
-         fputs_filtered (paddress (addr), stream);
+         fputs_filtered (paddress (gdbarch, addr), stream);
          if (options->deref_ref)
            fputs_filtered (": ", stream);
        }
@@ -476,7 +478,7 @@ m2_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
       type_print (type, "", stream, -1);
       fprintf_filtered (stream, "} ");
       /* Try to print what function it points to, and its address.  */
-      print_address_demangle (address, stream, demangle);
+      print_address_demangle (gdbarch, address, stream, demangle);
       break;
 
     case TYPE_CODE_BOOL:
index b67169f6fa40bf8a9e236fd23873300c4855e1bc..9eb7257855d24b272d4be3c2eee9decf04f0901e 100644 (file)
@@ -2421,7 +2421,7 @@ m32c_m16c_address_to_pointer (struct gdbarch *gdbarch,
       if (! func_msym)
         error ("Cannot convert code address %s to function pointer:\n"
                "couldn't find a symbol at that address, to find trampoline.",
-               paddr_nz (addr));
+               paddress (gdbarch, addr));
 
       func_name = SYMBOL_LINKAGE_NAME (func_msym);
       tramp_name = xmalloc (strlen (func_name) + 5);
@@ -2438,7 +2438,7 @@ m32c_m16c_address_to_pointer (struct gdbarch *gdbarch,
       if (! tramp_msym)
         error ("Cannot convert code address %s to function pointer:\n"
                "couldn't find trampoline named '%s.plt'.",
-               paddr_nz (addr), func_name);
+               paddress (gdbarch, addr), func_name);
 
       /* The trampoline's address is our pointer.  */
       addr = SYMBOL_VALUE_ADDRESS (tramp_msym);
index 1491f229c0e040e47c56e76488c38d9763d40f88..78ce499954cbf96cd5f6489dafb691d9301c0f03 100644 (file)
@@ -78,6 +78,7 @@ m32r_load_section (bfd *abfd, asection *s, void *obj)
   unsigned int *data_count = obj;
   if (s->flags & SEC_LOAD)
     {
+      int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
       bfd_size_type section_size = bfd_section_size (abfd, s);
       bfd_vma section_base = bfd_section_lma (abfd, s);
       unsigned int buffer, i;
@@ -87,10 +88,10 @@ m32r_load_section (bfd *abfd, asection *s, void *obj)
       printf_filtered ("Loading section %s, size 0x%lx lma ",
                       bfd_section_name (abfd, s),
                       (unsigned long) section_size);
-      fputs_filtered (paddress (section_base), gdb_stdout);
+      fputs_filtered (paddress (target_gdbarch, section_base), gdb_stdout);
       printf_filtered ("\n");
       gdb_flush (gdb_stdout);
-      monitor_printf ("%s mw\r", paddr_nz (section_base));
+      monitor_printf ("%s mw\r", phex_nz (section_base, addr_size));
       for (i = 0; i < section_size; i += 4)
        {
          QUIT;
@@ -146,7 +147,7 @@ m32r_load (char *filename, int from_tty)
 
        printf_filtered ("Loading section %s, size 0x%lx vma ",
                         bfd_section_name (abfd, s), section_size);
-       fputs_filtered (paddress (section_base), gdb_stdout);
+       fputs_filtered (paddress (target_gdbarch, section_base), gdb_stdout);
        printf_filtered ("\n");
        gdb_flush (gdb_stdout);
        monitor_printf ("%x mw\r", section_base);
@@ -528,7 +529,8 @@ m32r_upload_command (char *args, int from_tty)
            printf_filtered ("Loading section %s, size 0x%lx lma ",
                             bfd_section_name (abfd, s),
                             (unsigned long) section_size);
-           fputs_filtered (paddress (section_base), gdb_stdout);
+           fputs_filtered (paddress (target_gdbarch, section_base),
+                           gdb_stdout);
            printf_filtered ("\n");
            gdb_flush (gdb_stdout);
          }
index ae465ce638c1dc3b044744760f68d28ce6108d06..ecbae129a02bc3bff1f192422f30172063eba755 100644 (file)
@@ -306,11 +306,10 @@ print_bfd_flags (flagword flags)
 static void
 maint_print_section_info (const char *name, flagword flags, 
                          CORE_ADDR addr, CORE_ADDR endaddr, 
-                         unsigned long filepos)
+                         unsigned long filepos, int addr_size)
 {
-  /* FIXME-32x64: Need paddress with field width.  */
-  printf_filtered ("    0x%s", paddr (addr));
-  printf_filtered ("->0x%s", paddr (endaddr));
+  printf_filtered ("    %s", hex_string_custom (addr, addr_size));
+  printf_filtered ("->%s", hex_string_custom (endaddr, addr_size));
   printf_filtered (" at %s",
                   hex_string_custom ((unsigned long) filepos, 8));
   printf_filtered (": %s", name);
@@ -330,11 +329,14 @@ print_bfd_section_info (bfd *abfd,
       || match_substring ((char *) arg, name)
       || match_bfd_flags ((char *) arg, flags))
     {
+      struct gdbarch *gdbarch = gdbarch_from_bfd (abfd);
+      int addr_size = gdbarch_addr_bit (gdbarch) / 8;
       CORE_ADDR addr, endaddr;
 
       addr = bfd_section_vma (abfd, asect);
       endaddr = addr + bfd_section_size (abfd, asect);
-      maint_print_section_info (name, flags, addr, endaddr, asect->filepos);
+      maint_print_section_info (name, flags, addr, endaddr,
+                               asect->filepos, addr_size);
     }
 }
 
@@ -350,10 +352,13 @@ print_objfile_section_info (bfd *abfd,
       || match_substring (string, name)
       || match_bfd_flags (string, flags))
     {
+      struct gdbarch *gdbarch = gdbarch_from_bfd (abfd);
+      int addr_size = gdbarch_addr_bit (gdbarch) / 8;
       maint_print_section_info (name, flags,
                                obj_section_addr (asect),
                                obj_section_endaddr (asect),
-                               asect->the_bfd_section->filepos);
+                               asect->the_bfd_section->filepos,
+                               addr_size);
     }
 }
 
@@ -515,10 +520,10 @@ maintenance_translate_address (char *arg, int from_tty)
        printf_filtered (_("%s + %s\n"), symbol_name, symbol_offset);
     }
   else if (sect)
-    printf_filtered (_("no symbol at %s:0x%s\n"),
-                    sect->the_bfd_section->name, paddr (address));
+    printf_filtered (_("no symbol at %s:%s\n"),
+                    sect->the_bfd_section->name, hex_string (address));
   else
-    printf_filtered (_("no symbol at 0x%s\n"), paddr (address));
+    printf_filtered (_("no symbol at %s\n"), hex_string (address));
 
   return;
 }
index cad411717377cbe6756da6145945058b2738917a..64a36bf6aaf95dcb17bc6dadce5e5dcccb440b5c 100644 (file)
@@ -128,8 +128,8 @@ mi_cmd_var_create (char *command, char **argv, int argc)
 
   if (varobjdebug)
     fprintf_unfiltered (gdb_stdlog,
-                   "Name=\"%s\", Frame=\"%s\" (0x%s), Expression=\"%s\"\n",
-                       name, frame, paddr (frameaddr), expr);
+                   "Name=\"%s\", Frame=\"%s\" (%s), Expression=\"%s\"\n",
+                       name, frame, hex_string (frameaddr), expr);
 
   var = varobj_create (name, expr, frameaddr, var_type);
 
index aa176f715ac162656c51afcdaffcbc3d391a4562..3d4281f37bd374c3800fd7a0e9e262ddcda6e224 100644 (file)
@@ -935,13 +935,15 @@ mi_cmd_data_read_memory (char *command, char **argv, int argc)
     error ("Unable to read memory.");
 
   /* Output the header information.  */
-  ui_out_field_core_addr (uiout, "addr", addr);
+  ui_out_field_core_addr (uiout, "addr", gdbarch, addr);
   ui_out_field_int (uiout, "nr-bytes", nr_bytes);
   ui_out_field_int (uiout, "total-bytes", total_bytes);
-  ui_out_field_core_addr (uiout, "next-row", addr + word_size * nr_cols);
-  ui_out_field_core_addr (uiout, "prev-row", addr - word_size * nr_cols);
-  ui_out_field_core_addr (uiout, "next-page", addr + total_bytes);
-  ui_out_field_core_addr (uiout, "prev-page", addr - total_bytes);
+  ui_out_field_core_addr (uiout, "next-row",
+                         gdbarch, addr + word_size * nr_cols);
+  ui_out_field_core_addr (uiout, "prev-row",
+                         gdbarch, addr - word_size * nr_cols);
+  ui_out_field_core_addr (uiout, "next-page", gdbarch, addr + total_bytes);
+  ui_out_field_core_addr (uiout, "prev-page", gdbarch, addr - total_bytes);
 
   /* Build the result as a two dimentional table.  */
   {
@@ -961,7 +963,7 @@ mi_cmd_data_read_memory (char *command, char **argv, int argc)
        struct value_print_options opts;
 
        cleanup_tuple = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
-       ui_out_field_core_addr (uiout, "addr", addr + row_byte);
+       ui_out_field_core_addr (uiout, "addr", gdbarch, addr + row_byte);
        /* ui_out_field_core_addr_symbolic (uiout, "saddr", addr + row_byte); */
        cleanup_list_data = make_cleanup_ui_out_list_begin_end (uiout, "data");
        get_formatted_print_options (&opts, word_format);
index 6b28fe05bc01024bc7f1d2cd86bce8fddd2dec2c..fc03894a67042dbd880365a07f46aca4c2209eec 100644 (file)
@@ -19,6 +19,7 @@
 #include "defs.h"
 #include "mi-cmds.h"
 #include "symtab.h"
+#include "objfiles.h"
 #include "ui-out.h"
 
 /* SYMBOL-LIST-LINES:
@@ -30,6 +31,7 @@
 void
 mi_cmd_symbol_list_lines (char *command, char **argv, int argc)
 {
+  struct gdbarch *gdbarch;
   char *filename;
   struct symtab *s;
   int i;
@@ -48,13 +50,14 @@ mi_cmd_symbol_list_lines (char *command, char **argv, int argc)
      sorted by increasing values in the symbol table, so no need to
      perform any other sorting. */
 
+  gdbarch = get_objfile_arch (s->objfile);
   cleanup_stack = make_cleanup_ui_out_list_begin_end (uiout, "lines");
 
   if (LINETABLE (s) != NULL && LINETABLE (s)->nitems > 0)
     for (i = 0; i < LINETABLE (s)->nitems; i++)
     {
       cleanup_tuple = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
-      ui_out_field_core_addr (uiout, "pc", LINETABLE (s)->item[i].pc);
+      ui_out_field_core_addr (uiout, "pc", gdbarch, LINETABLE (s)->item[i].pc);
       ui_out_field_int (uiout, "line", LINETABLE (s)->item[i].line);
       do_cleanups (cleanup_tuple);
     }
index ca7c03d4ff61e32d180f1fef1c2dc268d0b3b4ff..3db71245197181d67f7d22264e7b9febffee6a5d 100644 (file)
@@ -595,7 +595,8 @@ mips_show_dr (const char *func, CORE_ADDR addr,
 
   puts_unfiltered (func);
   if (addr || len)
-    printf_unfiltered (" (addr=0x%s, len=%d, type=%s)", paddr (addr), len,
+    printf_unfiltered (" (addr=%s, len=%d, type=%s)",
+                      paddress (target_gdbarch, addr), len,
                       type == hw_write ? "data-write"
                       : (type == hw_read ? "data-read"
                          : (type == hw_access ? "data-read/write"
@@ -604,9 +605,11 @@ mips_show_dr (const char *func, CORE_ADDR addr,
   puts_unfiltered (":\n");
 
   for (i = 0; i < MAX_DEBUG_REGISTER; i++)
-    printf_unfiltered ("\tDR%d: lo=0x%s, hi=0x%s\n",
-                      i, paddr (get_watchlo (&watch_mirror, i)),
-                      paddr (get_watchhi (&watch_mirror, i)));
+    printf_unfiltered ("\tDR%d: lo=%s, hi=%s\n", i,
+                      paddress (target_gdbarch,
+                                get_watchlo (&watch_mirror, i)),
+                      paddress (target_gdbarch,
+                                get_watchhi (&watch_mirror, i)));
 }
 
 /* Return 1 if watch registers are usable.  Cached information is used
index c4d9ee9a82f4b3e028907835c2986c6011655265..ad0076d0b8ea8691f5aa7e54564ca15ce0ead0a5 100644 (file)
@@ -2548,8 +2548,8 @@ heuristic_proc_start (struct gdbarch *gdbarch, CORE_ADDR pc)
          {
            static int blurb_printed = 0;
 
-           warning (_("GDB can't find the start of the function at 0x%s."),
-                    paddr_nz (pc));
+           warning (_("GDB can't find the start of the function at %s."),
+                    paddress (gdbarch, pc));
 
            if (!blurb_printed)
              {
@@ -2560,16 +2560,17 @@ heuristic_proc_start (struct gdbarch *gdbarch, CORE_ADDR pc)
                   in that situation enough information to
                   determine that it's no big deal.  */
                printf_filtered ("\n\
-    GDB is unable to find the start of the function at 0x%s\n\
+    GDB is unable to find the start of the function at %s\n\
 and thus can't determine the size of that function's stack frame.\n\
 This means that GDB may be unable to access that stack frame, or\n\
 the frames below it.\n\
     This problem is most likely caused by an invalid program counter or\n\
 stack pointer.\n\
     However, if you think GDB should simply search farther back\n\
-from 0x%s for code which looks like the beginning of a\n\
+from %s for code which looks like the beginning of a\n\
 function, you can increase the range of the search using the `set\n\
-heuristic-fence-post' command.\n", paddr_nz (pc), paddr_nz (pc));
+heuristic-fence-post' command.\n",
+                       paddress (gdbarch, pc), paddress (gdbarch, pc));
                blurb_printed = 1;
              }
          }
@@ -2725,8 +2726,8 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
   if (mips_debug)
     fprintf_unfiltered (gdb_stdlog,
-                       "mips_eabi_push_dummy_call: sp=0x%s allocated %ld\n",
-                       paddr_nz (sp), (long) align_up (len, 16));
+                       "mips_eabi_push_dummy_call: sp=%s allocated %ld\n",
+                       paddress (gdbarch, sp), (long) align_up (len, 16));
 
   /* Initialize the integer and float register pointers.  */
   argreg = MIPS_A0_REGNUM;
@@ -2737,8 +2738,8 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
     {
       if (mips_debug)
        fprintf_unfiltered (gdb_stdlog,
-                           "mips_eabi_push_dummy_call: struct_return reg=%d 0x%s\n",
-                           argreg, paddr_nz (struct_addr));
+                           "mips_eabi_push_dummy_call: struct_return reg=%d %s\n",
+                           argreg, paddress (gdbarch, struct_addr));
       regcache_cooked_write_unsigned (regcache, argreg++, struct_addr);
     }
 
@@ -2887,10 +2888,10 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
                  if (mips_debug)
                    {
-                     fprintf_unfiltered (gdb_stdlog, " - stack_offset=0x%s",
-                                         paddr_nz (stack_offset));
-                     fprintf_unfiltered (gdb_stdlog, " longword_offset=0x%s",
-                                         paddr_nz (longword_offset));
+                     fprintf_unfiltered (gdb_stdlog, " - stack_offset=%s",
+                                         paddress (gdbarch, stack_offset));
+                     fprintf_unfiltered (gdb_stdlog, " longword_offset=%s",
+                                         paddress (gdbarch, longword_offset));
                    }
 
                  addr = sp + stack_offset + longword_offset;
@@ -2898,8 +2899,8 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                  if (mips_debug)
                    {
                      int i;
-                     fprintf_unfiltered (gdb_stdlog, " @0x%s ",
-                                         paddr_nz (addr));
+                     fprintf_unfiltered (gdb_stdlog, " @%s ",
+                                         paddress (gdbarch, addr));
                      for (i = 0; i < partial_len; i++)
                        {
                          fprintf_unfiltered (gdb_stdlog, "%02x",
@@ -3109,8 +3110,8 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
   if (mips_debug)
     fprintf_unfiltered (gdb_stdlog,
-                       "mips_n32n64_push_dummy_call: sp=0x%s allocated %ld\n",
-                       paddr_nz (sp), (long) align_up (len, 16));
+                       "mips_n32n64_push_dummy_call: sp=%s allocated %ld\n",
+                       paddress (gdbarch, sp), (long) align_up (len, 16));
 
   /* Initialize the integer and float register pointers.  */
   argreg = MIPS_A0_REGNUM;
@@ -3121,8 +3122,8 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
     {
       if (mips_debug)
        fprintf_unfiltered (gdb_stdlog,
-                           "mips_n32n64_push_dummy_call: struct_return reg=%d 0x%s\n",
-                           argreg, paddr_nz (struct_addr));
+                           "mips_n32n64_push_dummy_call: struct_return reg=%d %s\n",
+                           argreg, paddress (gdbarch, struct_addr));
       regcache_cooked_write_unsigned (regcache, argreg++, struct_addr);
     }
 
@@ -3234,10 +3235,10 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
                  if (mips_debug)
                    {
-                     fprintf_unfiltered (gdb_stdlog, " - stack_offset=0x%s",
-                                         paddr_nz (stack_offset));
-                     fprintf_unfiltered (gdb_stdlog, " longword_offset=0x%s",
-                                         paddr_nz (longword_offset));
+                     fprintf_unfiltered (gdb_stdlog, " - stack_offset=%s",
+                                         paddress (gdbarch, stack_offset));
+                     fprintf_unfiltered (gdb_stdlog, " longword_offset=%s",
+                                         paddress (gdbarch, longword_offset));
                    }
 
                  addr = sp + stack_offset + longword_offset;
@@ -3245,8 +3246,8 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                  if (mips_debug)
                    {
                      int i;
-                     fprintf_unfiltered (gdb_stdlog, " @0x%s ",
-                                         paddr_nz (addr));
+                     fprintf_unfiltered (gdb_stdlog, " @%s ",
+                                         paddress (gdbarch, addr));
                      for (i = 0; i < partial_len; i++)
                        {
                          fprintf_unfiltered (gdb_stdlog, "%02x",
@@ -3556,8 +3557,8 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
   if (mips_debug)
     fprintf_unfiltered (gdb_stdlog,
-                       "mips_o32_push_dummy_call: sp=0x%s allocated %ld\n",
-                       paddr_nz (sp), (long) align_up (len, 16));
+                       "mips_o32_push_dummy_call: sp=%s allocated %ld\n",
+                       paddress (gdbarch, sp), (long) align_up (len, 16));
 
   /* Initialize the integer and float register pointers.  */
   argreg = MIPS_A0_REGNUM;
@@ -3568,8 +3569,8 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
     {
       if (mips_debug)
        fprintf_unfiltered (gdb_stdlog,
-                           "mips_o32_push_dummy_call: struct_return reg=%d 0x%s\n",
-                           argreg, paddr_nz (struct_addr));
+                           "mips_o32_push_dummy_call: struct_return reg=%d %s\n",
+                           argreg, paddress (gdbarch, struct_addr));
       regcache_cooked_write_unsigned (regcache, argreg++, struct_addr);
       stack_offset += MIPS32_REGSIZE;
     }
@@ -3711,10 +3712,10 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
                  if (mips_debug)
                    {
-                     fprintf_unfiltered (gdb_stdlog, " - stack_offset=0x%s",
-                                         paddr_nz (stack_offset));
-                     fprintf_unfiltered (gdb_stdlog, " longword_offset=0x%s",
-                                         paddr_nz (longword_offset));
+                     fprintf_unfiltered (gdb_stdlog, " - stack_offset=%s",
+                                         paddress (gdbarch, stack_offset));
+                     fprintf_unfiltered (gdb_stdlog, " longword_offset=%s",
+                                         paddress (gdbarch, longword_offset));
                    }
 
                  addr = sp + stack_offset + longword_offset;
@@ -3722,8 +3723,8 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                  if (mips_debug)
                    {
                      int i;
-                     fprintf_unfiltered (gdb_stdlog, " @0x%s ",
-                                         paddr_nz (addr));
+                     fprintf_unfiltered (gdb_stdlog, " @%s ",
+                                         paddress (gdbarch, addr));
                      for (i = 0; i < partial_len; i++)
                        {
                          fprintf_unfiltered (gdb_stdlog, "%02x",
@@ -4013,8 +4014,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
   if (mips_debug)
     fprintf_unfiltered (gdb_stdlog,
-                       "mips_o64_push_dummy_call: sp=0x%s allocated %ld\n",
-                       paddr_nz (sp), (long) align_up (len, 16));
+                       "mips_o64_push_dummy_call: sp=%s allocated %ld\n",
+                       paddress (gdbarch, sp), (long) align_up (len, 16));
 
   /* Initialize the integer and float register pointers.  */
   argreg = MIPS_A0_REGNUM;
@@ -4025,8 +4026,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
     {
       if (mips_debug)
        fprintf_unfiltered (gdb_stdlog,
-                           "mips_o64_push_dummy_call: struct_return reg=%d 0x%s\n",
-                           argreg, paddr_nz (struct_addr));
+                           "mips_o64_push_dummy_call: struct_return reg=%d %s\n",
+                           argreg, paddress (gdbarch, struct_addr));
       regcache_cooked_write_unsigned (regcache, argreg++, struct_addr);
       stack_offset += MIPS64_REGSIZE;
     }
@@ -4116,10 +4117,10 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
                  if (mips_debug)
                    {
-                     fprintf_unfiltered (gdb_stdlog, " - stack_offset=0x%s",
-                                         paddr_nz (stack_offset));
-                     fprintf_unfiltered (gdb_stdlog, " longword_offset=0x%s",
-                                         paddr_nz (longword_offset));
+                     fprintf_unfiltered (gdb_stdlog, " - stack_offset=%s",
+                                         paddress (gdbarch, stack_offset));
+                     fprintf_unfiltered (gdb_stdlog, " longword_offset=%s",
+                                         paddress (gdbarch, longword_offset));
                    }
 
                  addr = sp + stack_offset + longword_offset;
@@ -4127,8 +4128,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                  if (mips_debug)
                    {
                      int i;
-                     fprintf_unfiltered (gdb_stdlog, " @0x%s ",
-                                         paddr_nz (addr));
+                     fprintf_unfiltered (gdb_stdlog, " @%s ",
+                                         paddress (gdbarch, addr));
                      for (i = 0; i < partial_len; i++)
                        {
                          fprintf_unfiltered (gdb_stdlog, "%02x",
index b51848e48847ecbdb1bac0f9c28a4686251f773d..a148eafce027d448d9847d5ae55a15cb48e3ad2a 100644 (file)
@@ -214,9 +214,13 @@ monitor_error (char *function, char *message,
   monitor_printable_string (safe_string, string, real_len);
 
   if (final_char)
-    error (_("%s (0x%s): %s: %s%c"), function, paddr_nz (memaddr), message, safe_string, final_char);
+    error (_("%s (%s): %s: %s%c"),
+          function, paddress (target_gdbarch, memaddr),
+          message, safe_string, final_char);
   else
-    error (_("%s (0x%s): %s: %s"), function, paddr_nz (memaddr), message, safe_string);
+    error (_("%s (%s): %s: %s"),
+          function, paddress (target_gdbarch, memaddr),
+          message, safe_string);
 }
 
 /* Convert hex digit A to a number.  */
@@ -251,6 +255,7 @@ fromhex (int a)
 static void
 monitor_vsprintf (char *sndbuf, char *pattern, va_list args)
 {
+  int addr_bit = gdbarch_addr_bit (target_gdbarch);
   char format[10];
   char fmt;
   char *p;
@@ -279,7 +284,7 @@ monitor_vsprintf (char *sndbuf, char *pattern, va_list args)
              break;
            case 'A':
              arg_addr = va_arg (args, CORE_ADDR);
-             strcpy (sndbuf, paddr_nz (arg_addr));
+             strcpy (sndbuf, phex_nz (arg_addr, addr_bit / 8));
              break;
            case 's':
              arg_string = va_arg (args, char *);
@@ -1314,6 +1319,7 @@ monitor_fetch_registers (struct target_ops *ops,
 static void
 monitor_store_register (struct regcache *regcache, int regno)
 {
+  int reg_size = register_size (get_regcache_arch (regcache), regno);
   const char *name;
   ULONGEST val;
   
@@ -1329,9 +1335,7 @@ monitor_store_register (struct regcache *regcache, int regno)
     }
 
   regcache_cooked_read_unsigned (regcache, regno, &val);
-  monitor_debug ("MON storeg %d %s\n", regno,
-                phex (val,
-                      register_size (get_regcache_arch (regcache), regno)));
+  monitor_debug ("MON storeg %d %s\n", regno, phex (val, reg_size));
 
   /* send the register deposit command */
 
@@ -1347,14 +1351,14 @@ monitor_store_register (struct regcache *regcache, int regno)
       monitor_debug ("EXP setreg.resp_delim\n");
       monitor_expect_regexp (&setreg_resp_delim_pattern, NULL, 0);
       if (current_monitor->flags & MO_SETREG_INTERACTIVE)
-       monitor_printf ("%s\r", paddr_nz (val));
+       monitor_printf ("%s\r", phex_nz (val, reg_size));
     }
   if (current_monitor->setreg.term)
     {
       monitor_debug ("EXP setreg.term\n");
       monitor_expect (current_monitor->setreg.term, NULL, 0);
       if (current_monitor->flags & MO_SETREG_INTERACTIVE)
-       monitor_printf ("%s\r", paddr_nz (val));
+       monitor_printf ("%s\r", phex_nz (val, reg_size));
       monitor_expect_prompt (NULL, 0);
     }
   else
@@ -1409,7 +1413,7 @@ monitor_write_memory (CORE_ADDR memaddr, char *myaddr, int len)
   char *cmd;
   int i;
 
-  monitor_debug ("MON write %d %s\n", len, paddr (memaddr));
+  monitor_debug ("MON write %d %s\n", len, paddress (target_gdbarch, memaddr));
 
   if (current_monitor->flags & MO_ADDR_BITS_REMOVE)
     memaddr = gdbarch_addr_bits_remove (target_gdbarch, memaddr);
@@ -1808,7 +1812,7 @@ monitor_read_memory (CORE_ADDR memaddr, char *myaddr, int len)
     }
 
   monitor_debug ("MON read block ta(%s) ha(%lx) %d\n",
-                paddr_nz (memaddr), (long) myaddr, len);
+                paddress (target_gdbarch, memaddr), (long) myaddr, len);
 
   if (current_monitor->flags & MO_ADDR_BITS_REMOVE)
     memaddr = gdbarch_addr_bits_remove (target_gdbarch, memaddr);
@@ -2034,7 +2038,7 @@ monitor_insert_breakpoint (struct gdbarch *gdbarch,
   int i;
   int bplen;
 
-  monitor_debug ("MON inst bkpt %s\n", paddr (addr));
+  monitor_debug ("MON inst bkpt %s\n", paddress (gdbarch, addr));
   if (current_monitor->set_break == NULL)
     error (_("No set_break defined for this monitor"));
 
@@ -2069,7 +2073,7 @@ monitor_remove_breakpoint (struct gdbarch *gdbarch,
   CORE_ADDR addr = bp_tgt->placed_address;
   int i;
 
-  monitor_debug ("MON rmbkpt %s\n", paddr (addr));
+  monitor_debug ("MON rmbkpt %s\n", paddress (gdbarch, addr));
   if (current_monitor->clr_break == NULL)
     error (_("No clr_break defined for this monitor"));
 
@@ -2090,8 +2094,8 @@ monitor_remove_breakpoint (struct gdbarch *gdbarch,
        }
     }
   fprintf_unfiltered (gdb_stderr,
-                     "Can't find breakpoint associated with 0x%s\n",
-                     paddr_nz (addr));
+                     "Can't find breakpoint associated with %s\n",
+                     paddress (gdbarch, addr));
   return 1;
 }
 
index 30d0650f1db330d443d7c1eb7cb91737cb3979e8..ec90016b55db1a4e4043facfe04a480278ac22ec 100644 (file)
@@ -56,6 +56,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
                  struct ui_file *stream, int recurse,
                  const struct value_print_options *options)
 {
+  struct gdbarch *gdbarch = get_type_arch (type);
   unsigned int i = 0;  /* Number of characters printed */
   unsigned len;
   struct type *elttype;
@@ -142,7 +143,8 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
          /* Print vtable entry - we only get here if we ARE using
             -fvtable_thunks.  (Otherwise, look under TYPE_CODE_STRUCT.) */
          /* Extract the address, assume that it is unsigned.  */
-         print_address_demangle (extract_unsigned_integer (valaddr + embedded_offset, TYPE_LENGTH (type)),
+         print_address_demangle (gdbarch,
+                                 extract_unsigned_integer (valaddr + embedded_offset, TYPE_LENGTH (type)),
                                  stream, demangle);
          break;
        }
@@ -155,14 +157,14 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
          if (TYPE_CODE (elttype) == TYPE_CODE_FUNC)
            {
              /* Try to print what function it points to.  */
-             print_address_demangle (addr, stream, demangle);
+             print_address_demangle (gdbarch, addr, stream, demangle);
              /* Return value is irrelevant except for string pointers.  */
              return (0);
            }
 
          if (options->addressprint && options->format != 's')
            {
-             fputs_filtered (paddress (addr), stream);
+             fputs_filtered (paddress (gdbarch, addr), stream);
            }
 
          /* For a pointer to char or unsigned char, also print the string
@@ -254,7 +256,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
          CORE_ADDR addr
            = extract_typed_address (valaddr + embedded_offset, type);
          fprintf_filtered (stream, "@");
-         fputs_filtered (paddress (addr), stream);
+          fputs_filtered (paddress (gdbarch, addr), stream);
          if (options->deref_ref)
            fputs_filtered (": ", stream);
        }
@@ -290,7 +292,8 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
             -fvtable_thunks.  (Otherwise, look under TYPE_CODE_PTR.) */
          /* Extract the address, assume that it is unsigned.  */
          print_address_demangle
-           (extract_unsigned_integer (valaddr + embedded_offset + TYPE_FIELD_BITPOS (type, VTBL_FNADDR_OFFSET) / 8,
+           (gdbarch,
+            extract_unsigned_integer (valaddr + embedded_offset + TYPE_FIELD_BITPOS (type, VTBL_FNADDR_OFFSET) / 8,
                                       TYPE_LENGTH (TYPE_FIELD_TYPE (type, VTBL_FNADDR_OFFSET))),
             stream, demangle);
        }
@@ -356,7 +359,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
       type_print (type, "", stream, -1);
       fprintf_filtered (stream, "} ");
       /* Try to print what function it points to, and its address.  */
-      print_address_demangle (address, stream, demangle);
+      print_address_demangle (gdbarch, address, stream, demangle);
       break;
 
     case TYPE_CODE_BOOL:
index 7601d7c416f7c4b4e8d91513b29d42a6c4ffd7ef..8a8a51b7f4eff387f0ca23d718b126adb6fbefb6 100644 (file)
@@ -449,7 +449,7 @@ print_scalar_formatted (const void *valaddr, struct type *type,
     case 'a':
       {
        CORE_ADDR addr = unpack_pointer (type, valaddr);
-       print_address (addr, stream);
+       print_address (gdbarch, addr, stream);
       }
       break;
 
@@ -709,9 +709,10 @@ build_address_symbolic (CORE_ADDR addr,  /* IN */
    <SYMBOL + OFFSET> after the number.  */
 
 void
-print_address (CORE_ADDR addr, struct ui_file *stream)
+print_address (struct gdbarch *gdbarch,
+              CORE_ADDR addr, struct ui_file *stream)
 {
-  fputs_filtered (paddress (addr), stream);
+  fputs_filtered (paddress (gdbarch, addr), stream);
   print_address_symbolic (addr, stream, asm_demangle, " ");
 }
 
@@ -721,8 +722,8 @@ print_address (CORE_ADDR addr, struct ui_file *stream)
    or not.  */
 
 void
-print_address_demangle (CORE_ADDR addr, struct ui_file *stream,
-                       int do_demangle)
+print_address_demangle (struct gdbarch *gdbarch, CORE_ADDR addr,
+                       struct ui_file *stream, int do_demangle)
 {
   struct value_print_options opts;
   get_user_print_options (&opts);
@@ -732,7 +733,7 @@ print_address_demangle (CORE_ADDR addr, struct ui_file *stream,
     }
   else if (opts.addressprint)
     {
-      fputs_filtered (paddress (addr), stream);
+      fputs_filtered (paddress (gdbarch, addr), stream);
       print_address_symbolic (addr, stream, do_demangle, " ");
     }
   else
@@ -807,7 +808,7 @@ do_examine (struct format_data fmt, struct gdbarch *gdbarch, CORE_ADDR addr)
   while (count > 0)
     {
       QUIT;
-      print_address (next_address, gdb_stdout);
+      print_address (next_gdbarch, next_address, gdb_stdout);
       printf_filtered (":");
       for (i = maxelts;
           i > 0 && count > 0;
@@ -1140,20 +1141,21 @@ address_info (char *exp, int from_tty)
 
       if (msymbol != NULL)
        {
+         gdbarch = get_objfile_arch (msymbol_objfile (msymbol));
          load_addr = SYMBOL_VALUE_ADDRESS (msymbol);
 
          printf_filtered ("Symbol \"");
          fprintf_symbol_filtered (gdb_stdout, exp,
                                   current_language->la_language, DMGL_ANSI);
          printf_filtered ("\" is at ");
-         fputs_filtered (paddress (load_addr), gdb_stdout);
+         fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
          printf_filtered (" in a file compiled without debugging");
          section = SYMBOL_OBJ_SECTION (msymbol);
          if (section_is_overlay (section))
            {
              load_addr = overlay_unmapped_address (load_addr, section);
              printf_filtered (",\n -- loaded at ");
-             fputs_filtered (paddress (load_addr), gdb_stdout);
+             fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
              printf_filtered (" in overlay section %s",
                               section->the_bfd_section->name);
            }
@@ -1181,13 +1183,13 @@ address_info (char *exp, int from_tty)
 
     case LOC_LABEL:
       printf_filtered ("a label at address ");
-      fputs_filtered (paddress (load_addr = SYMBOL_VALUE_ADDRESS (sym)),
-                     gdb_stdout);
+      load_addr = SYMBOL_VALUE_ADDRESS (sym);
+      fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
       if (section_is_overlay (section))
        {
          load_addr = overlay_unmapped_address (load_addr, section);
          printf_filtered (",\n -- loaded at ");
-         fputs_filtered (paddress (load_addr), gdb_stdout);
+         fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
          printf_filtered (" in overlay section %s",
                           section->the_bfd_section->name);
        }
@@ -1221,13 +1223,13 @@ address_info (char *exp, int from_tty)
 
     case LOC_STATIC:
       printf_filtered (_("static storage at address "));
-     fputs_filtered (paddress (load_addr = SYMBOL_VALUE_ADDRESS (sym)),
-                    gdb_stdout);
+      load_addr = SYMBOL_VALUE_ADDRESS (sym);
+      fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
       if (section_is_overlay (section))
        {
          load_addr = overlay_unmapped_address (load_addr, section);
          printf_filtered (_(",\n -- loaded at "));
-         fputs_filtered (paddress (load_addr), gdb_stdout);
+         fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
          printf_filtered (_(" in overlay section %s"),
                           section->the_bfd_section->name);
        }
@@ -1259,12 +1261,12 @@ address_info (char *exp, int from_tty)
     case LOC_BLOCK:
       printf_filtered (_("a function at address "));
       load_addr = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
-      fputs_filtered (paddress (load_addr), gdb_stdout);
+      fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
       if (section_is_overlay (section))
        {
          load_addr = overlay_unmapped_address (load_addr, section);
          printf_filtered (_(",\n -- loaded at "));
-         fputs_filtered (paddress (load_addr), gdb_stdout);
+         fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
          printf_filtered (_(" in overlay section %s"),
                           section->the_bfd_section->name);
        }
@@ -1286,16 +1288,17 @@ address_info (char *exp, int from_tty)
                && (section->the_bfd_section->flags & SEC_THREAD_LOCAL) != 0)
              printf_filtered (_("a thread-local variable at offset %s "
                                 "in the thread-local storage for `%s'"),
-                              paddr_nz (load_addr), section->objfile->name);
+                              paddress (gdbarch, load_addr),
+                              section->objfile->name);
            else
              {
                printf_filtered (_("static storage at address "));
-               fputs_filtered (paddress (load_addr), gdb_stdout);
+               fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
                if (section_is_overlay (section))
                  {
                    load_addr = overlay_unmapped_address (load_addr, section);
                    printf_filtered (_(",\n -- loaded at "));
-                   fputs_filtered (paddress (load_addr), gdb_stdout);
+                   fputs_filtered (paddress (gdbarch, load_addr), gdb_stdout);
                    printf_filtered (_(" in overlay section %s"),
                                     section->the_bfd_section->name);
                  }
index 65955707879ff54be8c9e8f3d3566ba2ac0ed528..1aa412f0faadb3f64c70b6750ced2e1826608dad 100644 (file)
@@ -261,9 +261,9 @@ record_arch_list_add_mem (CORE_ADDR addr, int len)
 
   if (record_debug > 1)
     fprintf_unfiltered (gdb_stdlog,
-                       "Process record: add mem addr = 0x%s len = %d to "
+                       "Process record: add mem addr = %s len = %d to "
                        "record list.\n",
-                       paddr_nz (addr), len);
+                       paddress (target_gdbarch, addr), len);
 
   if (!addr)
     return 0;
@@ -281,8 +281,8 @@ record_arch_list_add_mem (CORE_ADDR addr, int len)
       if (record_debug)
        fprintf_unfiltered (gdb_stdlog,
                            "Process record: error reading memory at "
-                           "addr = 0x%s len = %d.\n",
-                           paddr_nz (addr), len);
+                           "addr = %s len = %d.\n",
+                           paddress (target_gdbarch, addr), len);
       xfree (rec->u.mem.val);
       xfree (rec);
       return -1;
@@ -649,6 +649,7 @@ record_wait (struct target_ops *ops,
   else
     {
       struct regcache *regcache = get_current_regcache ();
+      struct gdbarch *gdbarch = get_regcache_arch (regcache);
       int continue_flag = 1;
       int first_record_end = 1;
       struct cleanup *old_cleanups = make_cleanup (record_wait_cleanups, 0);
@@ -664,14 +665,13 @@ record_wait (struct target_ops *ops,
            {
              if (record_debug)
                fprintf_unfiltered (gdb_stdlog,
-                                   "Process record: break at 0x%s.\n",
-                                   paddr_nz (tmp_pc));
-             if (gdbarch_decr_pc_after_break (get_regcache_arch (regcache))
+                                   "Process record: break at %s.\n",
+                                   paddress (gdbarch, tmp_pc));
+             if (gdbarch_decr_pc_after_break (gdbarch)
                  && !record_resume_step)
                regcache_write_pc (regcache,
                                   tmp_pc +
-                                  gdbarch_decr_pc_after_break
-                                  (get_regcache_arch (regcache)));
+                                  gdbarch_decr_pc_after_break (gdbarch));
              goto replay_out;
            }
        }
@@ -731,16 +731,16 @@ record_wait (struct target_ops *ops,
              if (record_debug > 1)
                fprintf_unfiltered (gdb_stdlog,
                                    "Process record: record_mem %s to "
-                                   "inferior addr = 0x%s len = %d.\n",
+                                   "inferior addr = %s len = %d.\n",
                                    host_address_to_string (record_list),
-                                   paddr_nz (record_list->u.mem.addr),
+                                   paddress (gdbarch, record_list->u.mem.addr),
                                    record_list->u.mem.len);
 
              if (target_read_memory
                  (record_list->u.mem.addr, mem, record_list->u.mem.len))
                error (_("Process record: error reading memory at "
-                        "addr = 0x%s len = %d."),
-                      paddr_nz (record_list->u.mem.addr),
+                        "addr = %s len = %d."),
+                      paddress (gdbarch, record_list->u.mem.addr),
                       record_list->u.mem.len);
 
              if (target_write_memory
@@ -748,8 +748,8 @@ record_wait (struct target_ops *ops,
                   record_list->u.mem.len))
                error (_
                       ("Process record: error writing memory at "
-                       "addr = 0x%s len = %d."),
-                      paddr_nz (record_list->u.mem.addr),
+                       "addr = %s len = %d."),
+                      paddress (gdbarch, record_list->u.mem.addr),
                       record_list->u.mem.len);
 
              memcpy (record_list->u.mem.val, mem, record_list->u.mem.len);
@@ -790,15 +790,14 @@ record_wait (struct target_ops *ops,
                      if (record_debug)
                        fprintf_unfiltered (gdb_stdlog,
                                            "Process record: break "
-                                           "at 0x%s.\n",
-                                           paddr_nz (tmp_pc));
-                     if (gdbarch_decr_pc_after_break (get_regcache_arch (regcache))
+                                           "at %s.\n",
+                                           paddress (gdbarch, tmp_pc));
+                     if (gdbarch_decr_pc_after_break (gdbarch)
                          && execution_direction == EXEC_FORWARD
                          && !record_resume_step)
                        regcache_write_pc (regcache,
                                           tmp_pc +
-                                          gdbarch_decr_pc_after_break
-                                          (get_regcache_arch (regcache)));
+                                          gdbarch_decr_pc_after_break (gdbarch));
                      continue_flag = 0;
                    }
                }
@@ -996,8 +995,8 @@ record_xfer_partial (struct target_ops *ops, enum target_object object,
          /* Let user choose if he wants to write memory or not.  */
          if (!nquery (_("Because GDB is in replay mode, writing to memory "
                         "will make the execution log unusable from this "
-                        "point onward.  Write memory at address 0x%s?"),
-                      paddr_nz (offset)))
+                        "point onward.  Write memory at address %s?"),
+                      paddress (target_gdbarch, offset)))
            return -1;
 
          /* Destroy the record from here forward.  */
index 7d9982be43b16909b25ee3d85a9d90795b0232e2..34e2da0df136f2a4385563340046f99ebf4817f0 100644 (file)
@@ -1050,10 +1050,10 @@ m32r_xfer_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len,
     {
       if (write)
        fprintf_unfiltered (gdb_stdlog, "m32r_xfer_memory(%s,%d,write)\n",
-                           paddr (memaddr), len);
+                           paddress (target_gdbarch, memaddr), len);
       else
        fprintf_unfiltered (gdb_stdlog, "m32r_xfer_memory(%s,%d,read)\n",
-                           paddr (memaddr), len);
+                           paddress (target_gdbarch, memaddr), len);
     }
 
   if (write)
@@ -1150,7 +1150,7 @@ m32r_insert_breakpoint (struct gdbarch *gdbarch,
 
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog, "m32r_insert_breakpoint(%s,...)\n",
-                       paddr (addr));
+                       paddress (gdbarch, addr));
 
   if (use_ib_breakpoints)
     ib_breakpoints = max_ib_breakpoints;
@@ -1192,7 +1192,7 @@ m32r_remove_breakpoint (struct gdbarch *gdbarch,
 
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog, "m32r_remove_breakpoint(%s)\n",
-                       paddr (addr));
+                       paddress (gdbarch, addr));
 
   for (i = 0; i < MAX_BREAKPOINTS; i++)
     {
@@ -1419,7 +1419,7 @@ m32r_insert_watchpoint (CORE_ADDR addr, int len, int type)
 
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog, "m32r_insert_watchpoint(%s,%d,%d)\n",
-                       paddr (addr), len, type);
+                       paddress (target_gdbarch, addr), len, type);
 
   for (i = 0; i < MAX_ACCESS_BREAKS; i++)
     {
@@ -1443,7 +1443,7 @@ m32r_remove_watchpoint (CORE_ADDR addr, int len, int type)
 
   if (remote_debug)
     fprintf_unfiltered (gdb_stdlog, "m32r_remove_watchpoint(%s,%d,%d)\n",
-                       paddr (addr), len, type);
+                       paddress (target_gdbarch, addr), len, type);
 
   for (i = 0; i < MAX_ACCESS_BREAKS; i++)
     {
index b9fa02811dd9e813899c7a80e2ce392a440585be..ea6e8192ef500bde2120747af6c251cbdeaed2cc 100644 (file)
@@ -1187,6 +1187,7 @@ mips_request (int cmd,
              int timeout,
              char *buff)
 {
+  int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
   char myBuff[DATA_MAXLEN + 1];
   int len;
   int rpid;
@@ -1202,7 +1203,8 @@ mips_request (int cmd,
       if (mips_need_reply)
        internal_error (__FILE__, __LINE__,
                        _("mips_request: Trying to send command before reply"));
-      sprintf (buff, "0x0 %c 0x%s 0x%s", cmd, paddr_nz (addr), paddr_nz (data));
+      sprintf (buff, "0x0 %c 0x%s 0x%s", cmd,
+              phex_nz (addr, addr_size), phex_nz (data, addr_size));
       mips_send_packet (buff, 1);
       mips_need_reply = 1;
     }
@@ -1993,8 +1995,8 @@ mips_fetch_word (CORE_ADDR addr)
       val = mips_request ('i', addr, 0, &err,
                          mips_receive_wait, NULL);
       if (err)
-       mips_error ("Can't read address 0x%s: %s",
-                   paddr_nz (addr), safe_strerror (errno));
+       mips_error ("Can't read address %s: %s",
+                   paddress (target_gdbarch, addr), safe_strerror (errno));
     }
   return val;
 }
@@ -2341,7 +2343,7 @@ static int
 mips_check_lsi_error (CORE_ADDR addr, int rerrflg)
 {
   struct lsi_error *err;
-  char *saddr = paddr_nz (addr);       /* printable address string */
+  char *saddr = paddress (target_gdbarch, addr);
 
   if (rerrflg == 0)            /* no error */
     return 0;
@@ -2358,14 +2360,14 @@ mips_check_lsi_error (CORE_ADDR addr, int rerrflg)
                {
                  found = 1;
                  fprintf_unfiltered (gdb_stderr, "\
-mips_common_breakpoint (0x%s): Warning: %s\n",
+mips_common_breakpoint (%s): Warning: %s\n",
                                      saddr,
                                      err->string);
                }
            }
          if (!found)
            fprintf_unfiltered (gdb_stderr, "\
-mips_common_breakpoint (0x%s): Unknown warning: 0x%x\n",
+mips_common_breakpoint (%s): Unknown warning: 0x%x\n",
                                saddr,
                                rerrflg);
        }
@@ -2378,14 +2380,14 @@ mips_common_breakpoint (0x%s): Unknown warning: 0x%x\n",
       if ((err->code & rerrflg) == err->code)
        {
          fprintf_unfiltered (gdb_stderr, "\
-mips_common_breakpoint (0x%s): Error: %s\n",
+mips_common_breakpoint (%s): Error: %s\n",
                              saddr,
                              err->string);
          return 1;
        }
     }
   fprintf_unfiltered (gdb_stderr, "\
-mips_common_breakpoint (0x%s): Unknown error: 0x%x\n",
+mips_common_breakpoint (%s): Unknown error: 0x%x\n",
                      saddr,
                      rerrflg);
   return 1;
@@ -2408,6 +2410,7 @@ mips_common_breakpoint (0x%s): Unknown error: 0x%x\n",
 static int
 mips_common_breakpoint (int set, CORE_ADDR addr, int len, enum break_type type)
 {
+  int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
   char buf[DATA_MAXLEN + 1];
   char cmd, rcmd;
   int rpid, rerrflg, rresponse, rlen;
@@ -2441,7 +2444,7 @@ mips_common_breakpoint (int set, CORE_ADDR addr, int len, enum break_type type)
            {
              warning ("\
 mips_common_breakpoint: Attempt to clear bogus breakpoint at %s\n",
-                      paddr_nz (addr));
+                      paddress (target_gdbarch, addr));
              return 1;
            }
 
@@ -2490,15 +2493,16 @@ mips_common_breakpoint: Bad response from remote board: %s",
          if (type == BREAK_FETCH)      /* instruction breakpoint */
            {
              cmd = 'B';
-             sprintf (buf, "0x0 B 0x%s 0x0", paddr_nz (addr));
+             sprintf (buf, "0x0 B 0x%s 0x0", phex_nz (addr, addr_size));
            }
          else
            /* watchpoint */
            {
              cmd = 'A';
-             sprintf (buf, "0x0 A 0x%s 0x%x 0x%s", paddr_nz (addr),
-                    type == BREAK_READ ? 1 : (type == BREAK_WRITE ? 2 : 3),
-                      paddr_nz (addr + len - 1));
+             sprintf (buf, "0x0 A 0x%s 0x%x 0x%s",
+                      phex_nz (addr, addr_size),
+                      type == BREAK_READ ? 1 : (type == BREAK_WRITE ? 2 : 3),
+                      phex_nz (addr + len - 1, addr_size));
            }
          mips_send_packet (buf, 1);
 
@@ -2559,13 +2563,13 @@ mips_common_breakpoint: Bad response from remote board: %s",
            }
 
          cmd = 'B';
-         sprintf (buf, "0x0 B 0x%s 0x%s %s", paddr_nz (addr),
-                  paddr_nz (mask), flags);
+         sprintf (buf, "0x0 B 0x%s 0x%s %s", phex_nz (addr, addr_size),
+                  phex_nz (mask, addr_size), flags);
        }
       else
        {
          cmd = 'b';
-         sprintf (buf, "0x0 b 0x%s", paddr_nz (addr));
+         sprintf (buf, "0x0 b 0x%s", phex_nz (addr, addr_size));
        }
 
       mips_send_packet (buf, 1);
@@ -2589,8 +2593,8 @@ mips_common_breakpoint: Bad response from remote board: %s",
            rresponse = rerrflg;
          if (rresponse != 22)  /* invalid argument */
            fprintf_unfiltered (gdb_stderr, "\
-mips_common_breakpoint (0x%s):  Got error: 0x%x\n",
-                               paddr_nz (addr), rresponse);
+mips_common_breakpoint (%s):  Got error: 0x%x\n",
+                               paddress (target_gdbarch, addr), rresponse);
          return 1;
        }
     }
@@ -2616,7 +2620,8 @@ send_srec (char *srec, int len, CORE_ADDR addr)
        case 0x6:               /* ACK */
          return;
        case 0x15:              /* NACK */
-         fprintf_unfiltered (gdb_stderr, "Download got a NACK at byte 0x%s!  Retrying.\n", paddr_nz (addr));
+         fprintf_unfiltered (gdb_stderr, "Download got a NACK at byte %s!  Retrying.\n",
+                             paddress (target_gdbarch, addr));
          continue;
        default:
          error ("Download got unexpected ack char: 0x%x, retrying.\n", ch);
index 3f3075a1413100d3f0d6b9bb4f66356a353407af..7ca16c7d6784d63740c9ce01c9b9bd8d6c654e59 100644 (file)
@@ -771,8 +771,8 @@ gdbsim_xfer_inferior_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len,
       /* FIXME: Send to something other than STDOUT? */
       printf_filtered ("gdbsim_xfer_inferior_memory: myaddr 0x");
       gdb_print_host_address (myaddr, gdb_stdout);
-      printf_filtered (", memaddr 0x%s, len %d, write %d\n",
-                      paddr_nz (memaddr), len, write);
+      printf_filtered (", memaddr %s, len %d, write %d\n",
+                      paddress (target_gdbarch, memaddr), len, write);
       if (remote_debug && write)
        dump_mem (myaddr, len);
     }
index 297e784029c3b884f05cb8621ce457b7fc894de6..756186f1defe862f93ce2570fea3a0202228e3f8 100644 (file)
@@ -2877,6 +2877,7 @@ remote_check_symbols (struct objfile *objfile)
        xsnprintf (msg, get_remote_packet_size (), "qSymbol::%s", &reply[8]);
       else
        {
+         int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
          CORE_ADDR sym_addr = SYMBOL_VALUE_ADDRESS (sym);
 
          /* If this is a function address, return the start of code
@@ -2886,7 +2887,7 @@ remote_check_symbols (struct objfile *objfile)
                                                         &current_target);
 
          xsnprintf (msg, get_remote_packet_size (), "qSymbol:%s:%s",
-                    paddr_nz (sym_addr), &reply[8]);
+                    phex_nz (sym_addr, addr_size), &reply[8]);
        }
   
       putpkt (msg);
@@ -5818,6 +5819,7 @@ static void
 remote_flash_erase (struct target_ops *ops,
                     ULONGEST address, LONGEST length)
 {
+  int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
   int saved_remote_timeout = remote_timeout;
   enum packet_result ret;
 
@@ -5826,7 +5828,7 @@ remote_flash_erase (struct target_ops *ops,
   remote_timeout = remote_flash_timeout;
 
   ret = remote_send_printf ("vFlashErase:%s,%s",
-                           paddr (address),
+                           phex (address, addr_size),
                            phex (length, 4));
   switch (ret)
     {
@@ -7169,16 +7171,18 @@ compare_sections_command (char *args, int from_tty)
 
       getpkt (&rs->buf, &rs->buf_size, 0);
       if (rs->buf[0] == 'E')
-       error (_("target memory fault, section %s, range 0x%s -- 0x%s"),
-              sectname, paddr (lma), paddr (lma + size));
+       error (_("target memory fault, section %s, range %s -- %s"), sectname,
+              paddress (target_gdbarch, lma),
+              paddress (target_gdbarch, lma + size));
       if (rs->buf[0] != 'C')
        error (_("remote target does not support this operation"));
 
       for (target_crc = 0, tmp = &rs->buf[1]; *tmp; tmp++)
        target_crc = target_crc * 16 + fromhex (*tmp);
 
-      printf_filtered ("Section %s, range 0x%s -- 0x%s: ",
-                      sectname, paddr (lma), paddr (lma + size));
+      printf_filtered ("Section %s, range %s -- %s: ", sectname,
+                      paddress (target_gdbarch, lma),
+                      paddress (target_gdbarch, lma + size));
       if (host_crc == target_crc)
        printf_filtered ("matched.\n");
       else
@@ -7498,6 +7502,7 @@ remote_search_memory (struct target_ops* ops,
                      const gdb_byte *pattern, ULONGEST pattern_len,
                      CORE_ADDR *found_addrp)
 {
+  int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
   struct remote_state *rs = get_remote_state ();
   int max_size = get_memory_write_packet_size ();
   struct packet_config *packet =
@@ -7536,7 +7541,7 @@ remote_search_memory (struct target_ops* ops,
   /* Insert header.  */
   i = snprintf (rs->buf, max_size, 
                "qSearch:memory:%s;%s;",
-               paddr_nz (start_addr),
+               phex_nz (start_addr, addr_size),
                phex_nz (search_space_len, sizeof (search_space_len)));
   max_size -= (i + 1);
 
index 6779581f895773a875c0010523385c33c3040756..e23d455c4f5816af24e60b06843362a10479c316 100644 (file)
@@ -983,8 +983,8 @@ ppc_displaced_step_fixup (struct gdbarch *gdbarch,
 
   if (debug_displaced)
     fprintf_unfiltered (gdb_stdlog,
-                       "displaced: (ppc) fixup (0x%s, 0x%s)\n",
-                       paddr_nz (from), paddr_nz (to));
+                       "displaced: (ppc) fixup (%s, %s)\n",
+                       paddress (gdbarch, from), paddress (gdbarch, to));
 
 
   /* Handle PC-relative branch instructions.  */
@@ -1009,10 +1009,10 @@ ppc_displaced_step_fixup (struct gdbarch *gdbarch,
              if (debug_displaced)
                fprintf_unfiltered
                  (gdb_stdlog,
-                  "displaced: (ppc) branch instruction: 0x%s\n"
-                  "displaced: (ppc) adjusted PC from 0x%s to 0x%s\n",
-                  paddr_nz (insn), paddr_nz (current_pc),
-                  paddr_nz (from + offset));
+                  "displaced: (ppc) branch instruction: %s\n"
+                  "displaced: (ppc) adjusted PC from %s to %s\n",
+                  paddress (gdbarch, insn), paddress (gdbarch, current_pc),
+                  paddress (gdbarch, from + offset));
 
              regcache_cooked_write_unsigned (regs, gdbarch_pc_regnum (gdbarch),
                                              from + offset);
@@ -1040,8 +1040,8 @@ ppc_displaced_step_fixup (struct gdbarch *gdbarch,
                                          from + PPC_INSN_SIZE);
          if (debug_displaced)
                fprintf_unfiltered (gdb_stdlog,
-                                   "displaced: (ppc) adjusted LR to 0x%s\n",
-                                   paddr_nz (from + PPC_INSN_SIZE));
+                                   "displaced: (ppc) adjusted LR to %s\n",
+                                   paddress (gdbarch, from + PPC_INSN_SIZE));
 
        }
     }
index 5200b790715a6486074891f7d5b9653d6d76543e..d074a51067a3525700795a460674b527110baf58 100644 (file)
@@ -170,7 +170,7 @@ scm_ipruk (char *hdr, struct type *type, LONGEST ptr,
   if (SCM_CELLP (ptr))
     fprintf_filtered (stream, " (0x%lx . 0x%lx) @",
                      (long) SCM_CAR (ptr), (long) SCM_CDR (ptr));
-  fprintf_filtered (stream, " 0x%s>", paddr_nz (ptr));
+  fprintf_filtered (stream, " 0x%s>", phex_nz (ptr, SCM_SIZE));
 #undef SCM_SIZE
 }
 
@@ -245,7 +245,7 @@ taloop:
                             (sizet) LENGTH (name),
                           port);
 #endif
-             fprintf_filtered (stream, " #X%s>", paddr_nz (svalue));
+             fprintf_filtered (stream, " #X%s>", phex_nz (svalue, SCM_SIZE));
              break;
            }
        case scm_tcs_cons_imcar:
index 47e0bec1016c94425b4a6dcdf71b3c98397af951..df2408c1ac223822c94c0bba3f15b5144cbbb46a 100644 (file)
@@ -1418,9 +1418,9 @@ sh_generic_show_regs (struct frame_info *frame)
 {
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum
-                                          (get_frame_arch (frame)))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum
+                                          (get_frame_arch (frame))), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -1458,9 +1458,9 @@ sh3_show_regs (struct frame_info *frame)
 {
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum
-                                          (get_frame_arch (frame)))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum
+                                         (get_frame_arch (frame))), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -1503,8 +1503,8 @@ sh2e_show_regs (struct frame_info *frame)
   struct gdbarch *gdbarch = get_frame_arch (frame);
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum (gdbarch))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum (gdbarch)), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -1588,8 +1588,8 @@ sh2a_show_regs (struct frame_info *frame)
 
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum (gdbarch))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum (gdbarch)), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -1703,9 +1703,9 @@ sh2a_nofpu_show_regs (struct frame_info *frame)
 
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum
-                                          (get_frame_arch (frame)))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum
+                                         (get_frame_arch (frame))), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -1780,8 +1780,8 @@ sh3e_show_regs (struct frame_info *frame)
   struct gdbarch *gdbarch = get_frame_arch (frame);
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum (gdbarch))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum (gdbarch)), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -1862,9 +1862,9 @@ sh3_dsp_show_regs (struct frame_info *frame)
 {
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum
-                                          (get_frame_arch (frame)))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum
+                                         (get_frame_arch (frame))), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -1929,8 +1929,8 @@ sh4_show_regs (struct frame_info *frame)
 
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum (gdbarch))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum (gdbarch)), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -2013,9 +2013,9 @@ sh4_nofpu_show_regs (struct frame_info *frame)
 {
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum
-                                          (get_frame_arch (frame)))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum
+                                         (get_frame_arch (frame))), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
@@ -2059,9 +2059,9 @@ sh_dsp_show_regs (struct frame_info *frame)
 {
   printf_filtered
     ("      PC %s       SR %08lx       PR %08lx     MACH %08lx\n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum
-                                          (get_frame_arch (frame)))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum
+                                         (get_frame_arch (frame))), 4),
      (long) get_frame_register_unsigned (frame, SR_REGNUM),
      (long) get_frame_register_unsigned (frame, PR_REGNUM),
      (long) get_frame_register_unsigned (frame, MACH_REGNUM));
index 0214007fa5f2c332f53fbea5974ff57045f770a1..c6e5042664ab613c5e88df0f58a16599ae993245 100644 (file)
@@ -1316,8 +1316,8 @@ sh64_show_media_regs (struct frame_info *frame)
 
   printf_filtered
     ("PC=%s SR=%016llx \n",
-     paddr (get_frame_register_unsigned (frame,
-                                        gdbarch_pc_regnum (gdbarch))),
+     phex (get_frame_register_unsigned (frame,
+                                       gdbarch_pc_regnum (gdbarch)), 8),
      (long long) get_frame_register_unsigned (frame, SR_REGNUM));
 
   printf_filtered
@@ -1369,7 +1369,7 @@ sh64_show_compact_regs (struct frame_info *frame)
 
   printf_filtered
     ("PC=%s \n",
-     paddr (get_frame_register_unsigned (frame, PC_C_REGNUM)));
+     phex (get_frame_register_unsigned (frame, PC_C_REGNUM), 8));
 
   printf_filtered
     ("GBR=%08lx MACH=%08lx MACL=%08lx PR=%08lx T=%08lx\n",
index 1b0489c8f62e4b90ab6b00d1c49257e78c951dfd..3aa944098822ec278d5644608649cfb0d6984c9f 100644 (file)
@@ -1250,7 +1250,8 @@ info_cb (const td_thrhandle_t *th, void *s)
            printf_filtered ("   startfunc: %s\n",
                             SYMBOL_PRINT_NAME (msym));
          else
-           printf_filtered ("   startfunc: 0x%s\n", paddr (ti.ti_startfunc));
+           printf_filtered ("   startfunc: %s\n",
+                            paddress (target_gdbarch, ti.ti_startfunc));
        }
 
       /* If thread is asleep, print function that went to sleep.  */
@@ -1262,7 +1263,8 @@ info_cb (const td_thrhandle_t *th, void *s)
            printf_filtered (" - Sleep func: %s\n",
                             SYMBOL_PRINT_NAME (msym));
          else
-           printf_filtered (" - Sleep func: 0x%s\n", paddr (ti.ti_startfunc));
+           printf_filtered (" - Sleep func: %s\n",
+                            paddress (target_gdbarch, ti.ti_startfunc));
        }
 
       /* Wrap up line, if necessary.  */
index f16bba359754a4a75324b5b3843088745e93c0ec..45080178c1b3bdfbd3f490e0e8d5315602f20c1d 100644 (file)
@@ -639,28 +639,28 @@ som_current_sos (void)
            lmi->tsd_start_addr = extract_unsigned_integer (tsdbuf, 4);
 
 #ifdef SOLIB_SOM_DBG
-           printf ("\n+ library \"%s\" is described at 0x%s\n", new->so_name, 
-                   paddr_nz (lm));
+           printf ("\n+ library \"%s\" is described at %s\n", new->so_name,
+                   paddress (target_gdbarch, lm));
            printf ("  'version' is %d\n", new->lm_info->struct_version);
            printf ("  'bind_mode' is %d\n", new->lm_info->bind_mode);
            printf ("  'library_version' is %d\n", 
                    new->lm_info->library_version);
-           printf ("  'text_addr' is 0x%s\n", 
-                   paddr_nz (new->lm_info->text_addr));
-           printf ("  'text_link_addr' is 0x%s\n", 
-                   paddr_nz (new->lm_info->text_link_addr));
-           printf ("  'text_end' is 0x%s\n", 
-                   paddr_nz (new->lm_info->text_end));
-           printf ("  'data_start' is 0x%s\n", 
-                   paddr_nz (new->lm_info->data_start));
-           printf ("  'bss_start' is 0x%s\n", 
-                   paddr_nz (new->lm_info->bss_start));
-           printf ("  'data_end' is 0x%s\n", 
-                   paddr_nz (new->lm_info->data_end));
-           printf ("  'got_value' is %s\n", 
-                   paddr_nz (new->lm_info->got_value));
-           printf ("  'tsd_start_addr' is 0x%s\n", 
-                   paddr_nz (new->lm_info->tsd_start_addr));
+           printf ("  'text_addr' is %s\n",
+                   paddress (target_gdbarch, new->lm_info->text_addr));
+           printf ("  'text_link_addr' is %s\n",
+                   paddress (target_gdbarch, new->lm_info->text_link_addr));
+           printf ("  'text_end' is %s\n",
+                   paddress (target_gdbarch, new->lm_info->text_end));
+           printf ("  'data_start' is %s\n",
+                   paddress (target_gdbarch, new->lm_info->data_start));
+           printf ("  'bss_start' is %s\n",
+                   paddress (target_gdbarch, new->lm_info->bss_start));
+           printf ("  'data_end' is %s\n",
+                   paddress (target_gdbarch, new->lm_info->data_end));
+           printf ("  'got_value' is %s\n",
+                   paddress (target_gdbarch, new->lm_info->got_value));
+           printf ("  'tsd_start_addr' is %s\n",
+                   paddress (target_gdbarch, new->lm_info->tsd_start_addr));
 #endif
 
            new->addr_low = lmi->text_addr;
index 29194aa23496b6b4ebb7a7805566da6ad4d165c2..d534ab38b23b7d03d2e886182fc2fdf394a19552 100644 (file)
@@ -19,6 +19,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "arch-utils.h"
 #include "symtab.h"
 #include "expression.h"
 #include "language.h"
@@ -1295,7 +1296,7 @@ identify_source_line (struct symtab *s, int line, int mid_statement,
     /* Don't index off the end of the line_charpos array.  */
     return 0;
   annotate_source (s->fullname, line, s->line_charpos[line - 1],
-                  mid_statement, pc);
+                  mid_statement, get_objfile_arch (s->objfile), pc);
 
   current_source_line = line;
   first_line_listed = line;
@@ -1474,6 +1475,8 @@ line_info (char *arg, int from_tty)
 
       if (sal.symtab == 0)
        {
+         struct gdbarch *gdbarch = get_current_arch ();
+
          printf_filtered (_("No line number information available"));
          if (sal.pc != 0)
            {
@@ -1482,7 +1485,7 @@ line_info (char *arg, int from_tty)
                 address.  */
              printf_filtered (" for address ");
              wrap_here ("  ");
-             print_address (sal.pc, gdb_stdout);
+             print_address (gdbarch, sal.pc, gdb_stdout);
            }
          else
            printf_filtered (".");
@@ -1491,13 +1494,15 @@ line_info (char *arg, int from_tty)
       else if (sal.line > 0
               && find_line_pc_range (sal, &start_pc, &end_pc))
        {
+         struct gdbarch *gdbarch = get_objfile_arch (sal.symtab->objfile);
+
          if (start_pc == end_pc)
            {
              printf_filtered ("Line %d of \"%s\"",
                               sal.line, sal.symtab->filename);
              wrap_here ("  ");
              printf_filtered (" is at address ");
-             print_address (start_pc, gdb_stdout);
+             print_address (gdbarch, start_pc, gdb_stdout);
              wrap_here ("  ");
              printf_filtered (" but contains no code.\n");
            }
@@ -1507,15 +1512,15 @@ line_info (char *arg, int from_tty)
                               sal.line, sal.symtab->filename);
              wrap_here ("  ");
              printf_filtered (" starts at address ");
-             print_address (start_pc, gdb_stdout);
+             print_address (gdbarch, start_pc, gdb_stdout);
              wrap_here ("  ");
              printf_filtered (" and ends at ");
-             print_address (end_pc, gdb_stdout);
+             print_address (gdbarch, end_pc, gdb_stdout);
              printf_filtered (".\n");
            }
 
          /* x/i should display this line's code.  */
-         set_next_address (get_objfile_arch (sal.symtab->objfile), start_pc);
+         set_next_address (gdbarch, start_pc);
 
          /* Repeating "info line" should do the following line.  */
          last_line_listed = sal.line + 1;
index a77fe5e9694a9bb21004edc9e2794e2911e2aa13..757e1097326d2277c8abf4356e16b495650e3625 100644 (file)
@@ -520,6 +520,7 @@ void
 print_frame_info (struct frame_info *frame, int print_level,
                  enum print_what print_what, int print_args)
 {
+  struct gdbarch *gdbarch = get_frame_arch (frame);
   struct symtab_and_line sal;
   int source_print;
   int location_print;
@@ -532,7 +533,7 @@ print_frame_info (struct frame_info *frame, int print_level,
        = make_cleanup_ui_out_tuple_begin_end (uiout, "frame");
 
       annotate_frame_begin (print_level ? frame_relative_level (frame) : 0,
-                           get_frame_pc (frame));
+                           gdbarch, get_frame_pc (frame));
 
       /* Do this regardless of SOURCE because we don't have any source
          to list for this frame.  */
@@ -545,7 +546,8 @@ print_frame_info (struct frame_info *frame, int print_level,
       if (ui_out_is_mi_like_p (uiout))
         {
           annotate_frame_address ();
-          ui_out_field_core_addr (uiout, "addr", get_frame_pc (frame));
+          ui_out_field_core_addr (uiout, "addr",
+                                 gdbarch, get_frame_pc (frame));
           annotate_frame_address_end ();
         }
 
@@ -624,7 +626,8 @@ print_frame_info (struct frame_info *frame, int print_level,
                 ability to decide for themselves if it is desired.  */
              if (opts.addressprint && mid_statement)
                {
-                 ui_out_field_core_addr (uiout, "addr", get_frame_pc (frame));
+                 ui_out_field_core_addr (uiout, "addr",
+                                         gdbarch, get_frame_pc (frame));
                  ui_out_text (uiout, "\t");
                }
 
@@ -735,6 +738,7 @@ print_frame (struct frame_info *frame, int print_level,
             enum print_what print_what, int print_args,
             struct symtab_and_line sal)
 {
+  struct gdbarch *gdbarch = get_frame_arch (frame);
   char *funname = NULL;
   enum language funlang = language_unknown;
   struct ui_stream *stb;
@@ -747,7 +751,7 @@ print_frame (struct frame_info *frame, int print_level,
   find_frame_funname (frame, &funname, &funlang);
 
   annotate_frame_begin (print_level ? frame_relative_level (frame) : 0,
-                       get_frame_pc (frame));
+                       gdbarch, get_frame_pc (frame));
 
   list_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "frame");
 
@@ -763,7 +767,7 @@ print_frame (struct frame_info *frame, int print_level,
        || print_what == LOC_AND_ADDRESS)
       {
        annotate_frame_address ();
-       ui_out_field_core_addr (uiout, "addr", get_frame_pc (frame));
+       ui_out_field_core_addr (uiout, "addr", gdbarch, get_frame_pc (frame));
        annotate_frame_address_end ();
        ui_out_text (uiout, " in ");
       }
@@ -1052,10 +1056,10 @@ frame_info (char *addr_exp, int from_tty)
     {
       printf_filtered (_("Stack frame at "));
     }
-  fputs_filtered (paddress (get_frame_base (fi)), gdb_stdout);
+  fputs_filtered (paddress (gdbarch, get_frame_base (fi)), gdb_stdout);
   printf_filtered (":\n");
   printf_filtered (" %s = ", pc_regname);
-  fputs_filtered (paddress (get_frame_pc (fi)), gdb_stdout);
+  fputs_filtered (paddress (gdbarch, get_frame_pc (fi)), gdb_stdout);
 
   wrap_here ("   ");
   if (funname)
@@ -1070,7 +1074,7 @@ frame_info (char *addr_exp, int from_tty)
   puts_filtered ("; ");
   wrap_here ("    ");
   printf_filtered ("saved %s ", pc_regname);
-  fputs_filtered (paddress (frame_unwind_caller_pc (fi)), gdb_stdout);
+  fputs_filtered (paddress (gdbarch, frame_unwind_caller_pc (fi)), gdb_stdout);
   printf_filtered ("\n");
 
   if (calling_frame_info == NULL)
@@ -1088,7 +1092,7 @@ frame_info (char *addr_exp, int from_tty)
   else
     {
       printf_filtered (" called by frame at ");
-      fputs_filtered (paddress (get_frame_base (calling_frame_info)),
+      fputs_filtered (paddress (gdbarch, get_frame_base (calling_frame_info)),
                      gdb_stdout);
     }
   if (get_next_frame (fi) && calling_frame_info)
@@ -1097,7 +1101,7 @@ frame_info (char *addr_exp, int from_tty)
   if (get_next_frame (fi))
     {
       printf_filtered (" caller of frame at ");
-      fputs_filtered (paddress (get_frame_base (get_next_frame (fi))),
+      fputs_filtered (paddress (gdbarch, get_frame_base (get_next_frame (fi))),
                      gdb_stdout);
     }
   if (get_next_frame (fi) || calling_frame_info)
@@ -1118,7 +1122,7 @@ frame_info (char *addr_exp, int from_tty)
     else
       {
        printf_filtered (" Arglist at ");
-       fputs_filtered (paddress (arg_list), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, arg_list), gdb_stdout);
        printf_filtered (",");
 
        if (!gdbarch_frame_num_args_p (gdbarch))
@@ -1150,7 +1154,7 @@ frame_info (char *addr_exp, int from_tty)
     else
       {
        printf_filtered (" Locals at ");
-       fputs_filtered (paddress (arg_list), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, arg_list), gdb_stdout);
        printf_filtered (",");
       }
   }
@@ -1192,14 +1196,14 @@ frame_info (char *addr_exp, int from_tty)
                                           register_size (gdbarch,
                                           gdbarch_sp_regnum (gdbarch)));
            printf_filtered (" Previous frame's sp is ");
-           fputs_filtered (paddress (sp), gdb_stdout);
+           fputs_filtered (paddress (gdbarch, sp), gdb_stdout);
            printf_filtered ("\n");
            need_nl = 0;
          }
        else if (!optimized && lval == lval_memory)
          {
            printf_filtered (" Previous frame's sp at ");
-           fputs_filtered (paddress (addr), gdb_stdout);
+           fputs_filtered (paddress (gdbarch, addr), gdb_stdout);
            printf_filtered ("\n");
            need_nl = 0;
          }
@@ -1234,7 +1238,7 @@ frame_info (char *addr_exp, int from_tty)
              wrap_here (" ");
              printf_filtered (" %s at ",
                               gdbarch_register_name (gdbarch, i));
-             fputs_filtered (paddress (addr), gdb_stdout);
+             fputs_filtered (paddress (gdbarch, addr), gdb_stdout);
              count++;
            }
        }
@@ -1485,8 +1489,8 @@ print_block_frame_locals (struct block *b, struct frame_info *frame,
 /* Same, but print labels.  */
 
 static int
-print_block_frame_labels (struct block *b, int *have_default,
-                         struct ui_file *stream)
+print_block_frame_labels (struct gdbarch *gdbarch, struct block *b,
+                         int *have_default, struct ui_file *stream)
 {
   struct dict_iterator iter;
   struct symbol *sym;
@@ -1511,7 +1515,8 @@ print_block_frame_labels (struct block *b, int *have_default,
          if (opts.addressprint)
            {
              fprintf_filtered (stream, " ");
-             fputs_filtered (paddress (SYMBOL_VALUE_ADDRESS (sym)), stream);
+             fputs_filtered (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (sym)),
+                             stream);
            }
          fprintf_filtered (stream, " in file %s, line %d\n",
                            sal.symtab->filename, sal.line);
@@ -1568,6 +1573,7 @@ print_frame_label_vars (struct frame_info *frame, int this_level_only,
 #else
   struct blockvector *bl;
   struct block *block = get_frame_block (frame, 0);
+  struct gdbarch *gdbarch = get_frame_arch (frame);
   int values_printed = 0;
   int index, have_default = 0;
   char *blocks_printed;
@@ -1605,7 +1611,8 @@ print_frame_label_vars (struct frame_info *frame, int this_level_only,
        {
          if (blocks_printed[index] == 0)
            {
-             if (print_block_frame_labels (BLOCKVECTOR_BLOCK (bl, index),
+             if (print_block_frame_labels (gdbarch,
+                                           BLOCKVECTOR_BLOCK (bl, index),
                                            &have_default, stream))
                values_printed = 1;
              blocks_printed[index] = 1;
index 0c0640f0ff4286a13af24d473556689338aa1682..c7d6d37ec538c51be4c7ff3bc65ad382770cd395 100644 (file)
@@ -196,8 +196,8 @@ try using the \"file\" command first."));
        }
       args.bfd = bfd;
       args.sysinfo_ehdr = sysinfo_ehdr;
-      args.name = xstrprintf ("system-supplied DSO at 0x%s",
-                paddr_nz (sysinfo_ehdr));
+      args.name = xstrprintf ("system-supplied DSO at %s",
+                             paddress (target_gdbarch, sysinfo_ehdr));
       /* Pass zero for FROM_TTY, because the action of loading the
         vsyscall DSO was not triggered by the user, even if the user
         typed "run" at the TTY.  */
index cecbda46d701621a57b935e41a36d396daa6c67c..20ae85f2390ff469a350c8a26b38815d18bc9ab6 100644 (file)
@@ -1800,9 +1800,9 @@ load_progress (ULONGEST bytes, void *untyped_arg)
     {
       /* The write is just starting.  Let the user know we've started
         this section.  */
-      ui_out_message (uiout, 0, "Loading section %s, size 0x%s lma 0x%s\n",
-                     args->section_name, paddr_nz (args->section_size),
-                     paddr_nz (args->lma));
+      ui_out_message (uiout, 0, "Loading section %s, size %s lma %s\n",
+                     args->section_name, hex_string (args->section_size),
+                     paddress (target_gdbarch, args->lma));
       return;
     }
 
@@ -1819,11 +1819,11 @@ load_progress (ULONGEST bytes, void *untyped_arg)
       struct cleanup *verify_cleanups = make_cleanup (xfree, check);
 
       if (target_read_memory (args->lma, check, bytes) != 0)
-       error (_("Download verify read failed at 0x%s"),
-              paddr (args->lma));
+       error (_("Download verify read failed at %s"),
+              paddress (target_gdbarch, args->lma));
       if (memcmp (args->buffer, check, bytes) != 0)
-       error (_("Download verify compare failed at 0x%s"),
-              paddr (args->lma));
+       error (_("Download verify compare failed at %s"),
+              paddress (target_gdbarch, args->lma));
       do_cleanups (verify_cleanups);
     }
   totals->data_count += bytes;
@@ -1979,7 +1979,7 @@ generic_load (char *args, int from_tty)
 
   entry = bfd_get_start_address (loadfile_bfd);
   ui_out_text (uiout, "Start address ");
-  ui_out_field_fmt (uiout, "address", "0x%s", paddr_nz (entry));
+  ui_out_field_fmt (uiout, "address", "%s", paddress (target_gdbarch, entry));
   ui_out_text (uiout, ", load size ");
   ui_out_field_fmt (uiout, "load-size", "%lu", total_progress.data_count);
   ui_out_text (uiout, "\n");
@@ -2081,6 +2081,7 @@ print_transfer_performance (struct ui_file *stream,
 static void
 add_symbol_file_command (char *args, int from_tty)
 {
+  struct gdbarch *gdbarch = get_current_arch ();
   char *filename = NULL;
   int flags = OBJF_USERLOADED;
   char *arg;
@@ -2211,7 +2212,8 @@ add_symbol_file_command (char *args, int from_tty)
          entered on the command line. */
       section_addrs->other[sec_num].name = sec;
       section_addrs->other[sec_num].addr = addr;
-      printf_unfiltered ("\t%s_addr = %s\n", sec, paddress (addr));
+      printf_unfiltered ("\t%s_addr = %s\n", sec,
+                        paddress (gdbarch, addr));
       sec_num++;
 
       /* The object's sections are initialized when a
@@ -3503,6 +3505,7 @@ list_overlays_command (char *args, int from_tty)
     ALL_OBJSECTIONS (objfile, osect)
       if (section_is_mapped (osect))
       {
+       struct gdbarch *gdbarch = get_objfile_arch (objfile);
        const char *name;
        bfd_vma lma, vma;
        int size;
@@ -3513,13 +3516,13 @@ list_overlays_command (char *args, int from_tty)
        name = bfd_section_name (objfile->obfd, osect->the_bfd_section);
 
        printf_filtered ("Section %s, loaded at ", name);
-       fputs_filtered (paddress (lma), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, lma), gdb_stdout);
        puts_filtered (" - ");
-       fputs_filtered (paddress (lma + size), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, lma + size), gdb_stdout);
        printf_filtered (", mapped at ");
-       fputs_filtered (paddress (vma), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, vma), gdb_stdout);
        puts_filtered (" - ");
-       fputs_filtered (paddress (vma + size), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, vma + size), gdb_stdout);
        puts_filtered ("\n");
 
        nmapped++;
index 96fabc3c04c7001f404deaa021d5f2494e578ee7..eb35369f9ef8f18fb322bb410fa0b1e50d3de592 100644 (file)
@@ -67,13 +67,15 @@ static void dump_objfile (struct objfile *);
 
 static int block_depth (struct block *);
 
-static void print_partial_symbols (struct partial_symbol **, int,
+static void print_partial_symbols (struct gdbarch *,
+                                  struct partial_symbol **, int,
                                   char *, struct ui_file *);
 
 void _initialize_symmisc (void);
 
 struct print_symbol_args
   {
+    struct gdbarch *gdbarch;
     struct symbol *symbol;
     int depth;
     struct ui_file *outfile;
@@ -261,6 +263,7 @@ dump_objfile (struct objfile *objfile)
 static void
 dump_msymbols (struct objfile *objfile, struct ui_file *outfile)
 {
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   struct minimal_symbol *msymbol;
   int index;
   char ms_type;
@@ -310,7 +313,8 @@ dump_msymbols (struct objfile *objfile, struct ui_file *outfile)
          break;
        }
       fprintf_filtered (outfile, "[%2d] %c ", index, ms_type);
-      fputs_filtered (paddress (SYMBOL_VALUE_ADDRESS (msymbol)), outfile);
+      fputs_filtered (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (msymbol)),
+                     outfile);
       fprintf_filtered (outfile, " %s", SYMBOL_LINKAGE_NAME (msymbol));
       if (section)
        fprintf_filtered (outfile, " section %s",
@@ -337,6 +341,7 @@ static void
 dump_psymtab (struct objfile *objfile, struct partial_symtab *psymtab,
              struct ui_file *outfile)
 {
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   int i;
 
   fprintf_filtered (outfile, "\nPartial symtab for source file %s ",
@@ -365,15 +370,16 @@ dump_psymtab (struct objfile *objfile, struct partial_symtab *psymtab,
       if (i != 0)
        fprintf_filtered (outfile, ", ");
       wrap_here ("    ");
-      fputs_filtered (paddress (ANOFFSET (psymtab->section_offsets, i)),
+      fputs_filtered (paddress (gdbarch,
+                               ANOFFSET (psymtab->section_offsets, i)),
                      outfile);
     }
   fprintf_filtered (outfile, "\n");
 
   fprintf_filtered (outfile, "  Symbols cover text addresses ");
-  fputs_filtered (paddress (psymtab->textlow), outfile);
+  fputs_filtered (paddress (gdbarch, psymtab->textlow), outfile);
   fprintf_filtered (outfile, "-");
-  fputs_filtered (paddress (psymtab->texthigh), outfile);
+  fputs_filtered (paddress (gdbarch, psymtab->texthigh), outfile);
   fprintf_filtered (outfile, "\n");
   fprintf_filtered (outfile, "  Depends on %d other partial symtabs.\n",
                    psymtab->number_of_dependencies);
@@ -386,13 +392,15 @@ dump_psymtab (struct objfile *objfile, struct partial_symtab *psymtab,
     }
   if (psymtab->n_global_syms > 0)
     {
-      print_partial_symbols (objfile->global_psymbols.list
+      print_partial_symbols (gdbarch,
+                            objfile->global_psymbols.list
                             + psymtab->globals_offset,
                             psymtab->n_global_syms, "Global", outfile);
     }
   if (psymtab->n_static_syms > 0)
     {
-      print_partial_symbols (objfile->static_psymbols.list
+      print_partial_symbols (gdbarch,
+                            objfile->static_psymbols.list
                             + psymtab->statics_offset,
                             psymtab->n_static_syms, "Static", outfile);
     }
@@ -403,6 +411,7 @@ static void
 dump_symtab_1 (struct objfile *objfile, struct symtab *symtab,
               struct ui_file *outfile)
 {
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   int i;
   struct dict_iterator iter;
   int len, blen;
@@ -430,7 +439,7 @@ dump_symtab_1 (struct objfile *objfile, struct symtab *symtab,
       for (i = 0; i < len; i++)
        {
          fprintf_filtered (outfile, " line %d at ", l->item[i].line);
-         fputs_filtered (paddress (l->item[i].pc), outfile);
+         fputs_filtered (paddress (gdbarch, l->item[i].pc), outfile);
          fprintf_filtered (outfile, "\n");
        }
     }
@@ -458,9 +467,9 @@ dump_symtab_1 (struct objfile *objfile, struct symtab *symtab,
             wants it.  */
          fprintf_filtered (outfile, ", %d syms/buckets in ",
                            dict_size (BLOCK_DICT (b)));
-         fputs_filtered (paddress (BLOCK_START (b)), outfile);
+         fputs_filtered (paddress (gdbarch, BLOCK_START (b)), outfile);
          fprintf_filtered (outfile, "..");
-         fputs_filtered (paddress (BLOCK_END (b)), outfile);
+         fputs_filtered (paddress (gdbarch, BLOCK_END (b)), outfile);
          if (BLOCK_FUNCTION (b))
            {
              fprintf_filtered (outfile, ", function %s",
@@ -477,6 +486,7 @@ dump_symtab_1 (struct objfile *objfile, struct symtab *symtab,
          ALL_BLOCK_SYMBOLS (b, iter, sym)
            {
              struct print_symbol_args s;
+             s.gdbarch = gdbarch;
              s.symbol = sym;
              s.depth = depth + 1;
              s.outfile = outfile;
@@ -570,6 +580,7 @@ Arguments missing: an output file name and an optional symbol file name"));
 static int
 print_symbol (void *args)
 {
+  struct gdbarch *gdbarch = ((struct print_symbol_args *) args)->gdbarch;
   struct symbol *symbol = ((struct print_symbol_args *) args)->symbol;
   int depth = ((struct print_symbol_args *) args)->depth;
   struct ui_file *outfile = ((struct print_symbol_args *) args)->outfile;
@@ -579,7 +590,8 @@ print_symbol (void *args)
   if (SYMBOL_DOMAIN (symbol) == LABEL_DOMAIN)
     {
       fprintf_filtered (outfile, "label %s at ", SYMBOL_PRINT_NAME (symbol));
-      fputs_filtered (paddress (SYMBOL_VALUE_ADDRESS (symbol)), outfile);
+      fputs_filtered (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (symbol)),
+                     outfile);
       if (section)
        fprintf_filtered (outfile, " section %s\n",
                          bfd_section_name (section->the_bfd_section->owner,
@@ -644,7 +656,8 @@ print_symbol (void *args)
 
        case LOC_STATIC:
          fprintf_filtered (outfile, "static at ");
-         fputs_filtered (paddress (SYMBOL_VALUE_ADDRESS (symbol)), outfile);
+         fputs_filtered (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (symbol)),
+                         outfile);
          if (section)
            fprintf_filtered (outfile, " section %s",
                              bfd_section_name (section->the_bfd_section->owner,
@@ -682,7 +695,8 @@ print_symbol (void *args)
 
        case LOC_LABEL:
          fprintf_filtered (outfile, "label at ");
-         fputs_filtered (paddress (SYMBOL_VALUE_ADDRESS (symbol)), outfile);
+         fputs_filtered (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (symbol)),
+                         outfile);
          if (section)
            fprintf_filtered (outfile, " section %s",
                              bfd_section_name (section->the_bfd_section->owner,
@@ -693,10 +707,12 @@ print_symbol (void *args)
          fprintf_filtered (outfile, "block object ");
          gdb_print_host_address (SYMBOL_BLOCK_VALUE (symbol), outfile);
          fprintf_filtered (outfile, ", ");
-         fputs_filtered (paddress (BLOCK_START (SYMBOL_BLOCK_VALUE (symbol))),
+         fputs_filtered (paddress (gdbarch,
+                                   BLOCK_START (SYMBOL_BLOCK_VALUE (symbol))),
                          outfile);
          fprintf_filtered (outfile, "..");
-         fputs_filtered (paddress (BLOCK_END (SYMBOL_BLOCK_VALUE (symbol))),
+         fputs_filtered (paddress (gdbarch,
+                                   BLOCK_END (SYMBOL_BLOCK_VALUE (symbol))),
                          outfile);
          if (section)
            fprintf_filtered (outfile, " section %s",
@@ -773,7 +789,8 @@ maintenance_print_psymbols (char *args, int from_tty)
 }
 
 static void
-print_partial_symbols (struct partial_symbol **p, int count, char *what,
+print_partial_symbols (struct gdbarch *gdbarch,
+                      struct partial_symbol **p, int count, char *what,
                       struct ui_file *outfile)
 {
   fprintf_filtered (outfile, "  %s partial symbols:\n", what);
@@ -855,7 +872,7 @@ print_partial_symbols (struct partial_symbol **p, int count, char *what,
          break;
        }
       fputs_filtered (", ", outfile);
-      fputs_filtered (paddress (SYMBOL_VALUE_ADDRESS (*p)), outfile);
+      fputs_filtered (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (*p)), outfile);
       fprintf_filtered (outfile, "\n");
       p++;
     }
@@ -995,6 +1012,7 @@ maintenance_info_psymtabs (char *regexp, int from_tty)
 
   ALL_OBJFILES (objfile)
     {
+      struct gdbarch *gdbarch = get_objfile_arch (objfile);
       struct partial_symtab *psymtab;
 
       /* We don't want to print anything for this objfile until we
@@ -1027,9 +1045,11 @@ maintenance_info_psymtabs (char *regexp, int from_tty)
              printf_filtered ("    fullname %s\n",
                               psymtab->fullname ? psymtab->fullname : "(null)");
              printf_filtered ("    text addresses ");
-             fputs_filtered (paddress (psymtab->textlow), gdb_stdout);
+             fputs_filtered (paddress (gdbarch, psymtab->textlow),
+                             gdb_stdout);
              printf_filtered (" -- ");
-             fputs_filtered (paddress (psymtab->texthigh), gdb_stdout);
+             fputs_filtered (paddress (gdbarch, psymtab->texthigh),
+                             gdb_stdout);
              printf_filtered ("\n");
              printf_filtered ("    globals ");
              if (psymtab->n_global_syms)
@@ -1097,6 +1117,7 @@ maintenance_check_symtabs (char *ignore, int from_tty)
 
   ALL_PSYMTABS (objfile, ps)
   {
+    struct gdbarch *gdbarch = get_objfile_arch (objfile);
     s = PSYMTAB_TO_SYMTAB (ps);
     if (s == NULL)
       continue;
@@ -1140,9 +1161,9 @@ maintenance_check_symtabs (char *ignore, int from_tty)
        printf_filtered ("Psymtab ");
        puts_filtered (ps->filename);
        printf_filtered (" covers bad range ");
-       fputs_filtered (paddress (ps->textlow), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, ps->textlow), gdb_stdout);
        printf_filtered (" - ");
-       fputs_filtered (paddress (ps->texthigh), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, ps->texthigh), gdb_stdout);
        printf_filtered ("\n");
        continue;
       }
@@ -1153,13 +1174,13 @@ maintenance_check_symtabs (char *ignore, int from_tty)
        printf_filtered ("Psymtab ");
        puts_filtered (ps->filename);
        printf_filtered (" covers ");
-       fputs_filtered (paddress (ps->textlow), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, ps->textlow), gdb_stdout);
        printf_filtered (" - ");
-       fputs_filtered (paddress (ps->texthigh), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, ps->texthigh), gdb_stdout);
        printf_filtered (" but symtab covers only ");
-       fputs_filtered (paddress (BLOCK_START (b)), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, BLOCK_START (b)), gdb_stdout);
        printf_filtered (" - ");
-       fputs_filtered (paddress (BLOCK_END (b)), gdb_stdout);
+       fputs_filtered (paddress (gdbarch, BLOCK_END (b)), gdb_stdout);
        printf_filtered ("\n");
       }
   }
index e6211a096ce95ef74bc6babe71529a9515188ec4..009c52d3251cf91e47c806b072ad31ef7ee950d6 100644 (file)
@@ -2079,8 +2079,8 @@ find_pc_sect_symtab (CORE_ADDR pc, struct obj_section *section)
           will cause a core dump), but maybe we can successfully
           continue, so let's not.  */
        warning (_("\
-(Internal error: pc 0x%s in read in psymtab, but not in symtab.)\n"),
-                paddr_nz (pc));
+(Internal error: pc %s in read in psymtab, but not in symtab.)\n"),
+                paddress (get_objfile_arch (ps->objfile), pc));
       s = PSYMTAB_TO_SYMTAB (ps);
     }
   return (s);
index e1ebc04f388b5449f3966e52722589748b90105b..e821d4b87d65397453902650814495bbd86768c0 100644 (file)
@@ -1464,7 +1464,7 @@ target_flash_erase (ULONGEST address, LONGEST length)
        {
          if (targetdebug)
            fprintf_unfiltered (gdb_stdlog, "target_flash_erase (%s, %s)\n",
-                                paddr (address), phex (length, 0));
+                                hex_string (address), phex (length, 0));
          t->to_flash_erase (t, address, length);
          return;
        }
@@ -2871,8 +2871,8 @@ deprecated_debug_xfer_memory (CORE_ADDR memaddr, bfd_byte *myaddr, int len,
 
   fprintf_unfiltered (gdb_stdlog,
                      "target_xfer_memory (%s, xxx, %d, %s, xxx) = %d",
-                     paddress (memaddr), len, write ? "write" : "read",
-                      retval);
+                     paddress (target_gdbarch, memaddr), len,
+                     write ? "write" : "read", retval);
 
   if (retval > 0)
     {
index f3f8c29034e1e21d3ede887dc3a1c2d529b4676d..ca40ca37fdd85574166056eca28d9a5250b3a9e4 100644 (file)
@@ -1,3 +1,8 @@
+2009-07-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * gdb.threads/tls-shared.exp: Update to locexpr_describe_location
+       change to prefix TLS offset in hex with 0x.
+
 2009-07-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
 
        * gdb.base/default.exp: Update test case for "x" changes.
index c1a79683ee5ca7b2d5c1ab9cbcc592b48f832244..243d8ae430651b3277b9c63db4172a5e2979771d 100644 (file)
@@ -93,7 +93,7 @@ gdb_test "print i_tls" "2" "print thread local storage variable"
 gdb_test "ptype i_tls" "int" "ptype of thread local storage variable"
 
 gdb_test "info address i_tls" \
-       "Symbol \\\"i_tls\\\" is a thread-local variable at offset 0 in the thread-local storage for .*tls-main.." \
+       "Symbol \\\"i_tls\\\" is a thread-local variable at offset 0x0 in the thread-local storage for .*tls-main.." \
        "print storage info for thread local storage variable"
 
 set line_number [gdb_get_line_number "break here to check result"]
index 5d194ffe0ab27963c8e577935c7f6bba37c5ff78..232c9e90be91cb41b73be72072362a921eddd255 100644 (file)
@@ -19,6 +19,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "arch-utils.h"
 #include "symtab.h"
 #include "frame.h"
 #include "gdbtypes.h"
@@ -1668,6 +1669,8 @@ trace_find_line_command (char *args, int from_tty)
       old_chain = make_cleanup (xfree, sals.sals);
       if (sal.symtab == 0)
        {
+         struct gdbarch *gdbarch = get_current_arch ();
+
          printf_filtered ("TFIND: No line number information available");
          if (sal.pc != 0)
            {
@@ -1676,7 +1679,7 @@ trace_find_line_command (char *args, int from_tty)
                 have the symbolic address.  */
              printf_filtered (" for address ");
              wrap_here ("  ");
-             print_address (sal.pc, gdb_stdout);
+             print_address (gdbarch, sal.pc, gdb_stdout);
              printf_filtered (";\n -- will attempt to find by PC. \n");
            }
          else
@@ -1688,13 +1691,15 @@ trace_find_line_command (char *args, int from_tty)
       else if (sal.line > 0
               && find_line_pc_range (sal, &start_pc, &end_pc))
        {
+         struct gdbarch *gdbarch = get_objfile_arch (sal.symtab->objfile);
+
          if (start_pc == end_pc)
            {
              printf_filtered ("Line %d of \"%s\"",
                               sal.line, sal.symtab->filename);
              wrap_here ("  ");
              printf_filtered (" is at address ");
-             print_address (start_pc, gdb_stdout);
+             print_address (gdbarch, start_pc, gdb_stdout);
              wrap_here ("  ");
              printf_filtered (" but contains no code.\n");
              sal = find_pc_line (start_pc, 0);
@@ -1873,7 +1878,8 @@ scope_info (char *args, int from_tty)
              break;
            case LOC_STATIC:
              printf_filtered ("in static storage at address ");
-             printf_filtered ("%s", paddress (SYMBOL_VALUE_ADDRESS (sym)));
+             printf_filtered ("%s", paddress (gdbarch,
+                                              SYMBOL_VALUE_ADDRESS (sym)));
              break;
            case LOC_REGISTER:
              /* GDBARCH is the architecture associated with the objfile
@@ -1915,11 +1921,13 @@ scope_info (char *args, int from_tty)
              continue;
            case LOC_LABEL:
              printf_filtered ("a label at address ");
-             printf_filtered ("%s", paddress (SYMBOL_VALUE_ADDRESS (sym)));
+             printf_filtered ("%s", paddress (gdbarch,
+                                              SYMBOL_VALUE_ADDRESS (sym)));
              break;
            case LOC_BLOCK:
              printf_filtered ("a function at address ");
-             printf_filtered ("%s", paddress (BLOCK_START (SYMBOL_BLOCK_VALUE (sym))));
+             printf_filtered ("%s",
+               paddress (gdbarch, BLOCK_START (SYMBOL_BLOCK_VALUE (sym))));
              break;
            case LOC_UNRESOLVED:
              msym = lookup_minimal_symbol (SYMBOL_LINKAGE_NAME (sym),
@@ -1929,7 +1937,8 @@ scope_info (char *args, int from_tty)
              else
                {
                  printf_filtered ("static storage at address ");
-                 printf_filtered ("%s", paddress (SYMBOL_VALUE_ADDRESS (msym)));
+                 printf_filtered ("%s",
+                   paddress (gdbarch, SYMBOL_VALUE_ADDRESS (msym)));
                }
              break;
            case LOC_OPTIMIZED_OUT:
index 7571a9b3f6c2d5068a1cfa0b8fbc234c3c04c6a1..85c0e8b680185ec2ce48f4c6ba410a8d20488c06 100644 (file)
@@ -66,7 +66,7 @@ tui_disassemble (struct gdbarch *gdbarch, struct tui_asm_line *asm_lines,
       if (asm_lines->insn)
         xfree (asm_lines->insn);
       
-      print_address (pc, gdb_dis_out);
+      print_address (gdbarch, pc, gdb_dis_out);
       asm_lines->addr = pc;
       asm_lines->addr_string = xstrdup (tui_file_get_strbuf (gdb_dis_out));
 
index 00e091d64cdb990ec7bb2f8cbb178b59efe66d63..62743cd652e5c9e96d29239a8c08d85ccf15deb5 100644 (file)
@@ -103,7 +103,7 @@ tui_make_status_line (struct tui_locator_element *loc)
 
   /* Translate PC address.  */
   pc_out = tui_sfileopen (128);
-  fputs_filtered (paddress (loc->addr), pc_out);
+  fputs_filtered (paddress (loc->gdbarch, loc->addr), pc_out);
   pc_buf = tui_file_get_strbuf (pc_out);
   pc_width = strlen (pc_buf);
   
index 78b554cb5f36030c168c1583a2f8b0558f738210..19a464448c4051b3a18fd42d40203cf34f877351 100644 (file)
@@ -488,10 +488,11 @@ ui_out_field_fmt_int (struct ui_out *uiout,
 void
 ui_out_field_core_addr (struct ui_out *uiout,
                        const char *fldname,
+                       struct gdbarch *gdbarch,
                        CORE_ADDR address)
 {
   char addstr[20];
-  int addr_bit = gdbarch_addr_bit (current_gdbarch);
+  int addr_bit = gdbarch_addr_bit (gdbarch);
 
   if (addr_bit < (sizeof (CORE_ADDR) * HOST_CHAR_BIT))
     address &= ((CORE_ADDR) 1 << addr_bit) - 1;
index 58a4e80eebb2a8ea106c280f90482a6b38769f71..4f3b7a453022e16d45d91e811d979b41adb62224 100644 (file)
@@ -115,7 +115,7 @@ extern void ui_out_field_fmt_int (struct ui_out *uiout, int width,
                                  int value);
 
 extern void ui_out_field_core_addr (struct ui_out *uiout, const char *fldname,
-                                   CORE_ADDR address);
+                                   struct gdbarch *gdbarch, CORE_ADDR address);
 
 extern void ui_out_field_string (struct ui_out * uiout, const char *fldname,
                                 const char *string);
index 05081597c99ad87e04957227443b318e9142dfa1..3f9d1e721a5208e0ffed1394c811f750be691ac4 100644 (file)
@@ -2847,26 +2847,8 @@ get_cell (void)
   return buf[cell];
 }
 
-int
-strlen_paddr (void)
-{
-  return (gdbarch_addr_bit (current_gdbarch) / 8 * 2);
-}
-
-char *
-paddr (CORE_ADDR addr)
-{
-  return phex (addr, gdbarch_addr_bit (current_gdbarch) / 8);
-}
-
-char *
-paddr_nz (CORE_ADDR addr)
-{
-  return phex_nz (addr, gdbarch_addr_bit (current_gdbarch) / 8);
-}
-
 const char *
-paddress (CORE_ADDR addr)
+paddress (struct gdbarch *gdbarch, CORE_ADDR addr)
 {
   /* Truncate address to the size of a target address, avoiding shifts
      larger or equal than the width of a CORE_ADDR.  The local
@@ -2877,7 +2859,7 @@ paddress (CORE_ADDR addr)
      either zero or sign extended.  Should gdbarch_address_to_pointer or
      some ADDRESS_TO_PRINTABLE() be used to do the conversion?  */
 
-  int addr_bit = gdbarch_addr_bit (current_gdbarch);
+  int addr_bit = gdbarch_addr_bit (gdbarch);
 
   if (addr_bit < (sizeof (CORE_ADDR) * HOST_CHAR_BIT))
     addr &= ((CORE_ADDR) 1 << addr_bit) - 1;
index 38722a4404e29d625361ae6b8130a9c1864c03cf..a9260cedb53d749054623022b8be4aaf582a0e17 100644 (file)
@@ -702,8 +702,9 @@ value_fetch_lazy (struct value *val)
                fprintf_unfiltered (gdb_stdlog, " register=%d",
                                    VALUE_REGNUM (new_val));
              else if (VALUE_LVAL (new_val) == lval_memory)
-               fprintf_unfiltered (gdb_stdlog, " address=0x%s",
-                                   paddr_nz (value_address (new_val)));
+               fprintf_unfiltered (gdb_stdlog, " address=%s",
+                                   paddress (gdbarch,
+                                             value_address (new_val)));
              else
                fprintf_unfiltered (gdb_stdlog, " computed");
 
index 4011e5e9695d0aa547f6d7bc9dd406bc416382f5..c7efef0bc683abb351b9f28dda8d05b163f29aac 100644 (file)
@@ -1393,6 +1393,7 @@ val_print_string (struct type *elttype, CORE_ADDR addr, int len,
   int bytes_read;
   gdb_byte *buffer = NULL;     /* Dynamically growable fetch buffer.  */
   struct cleanup *old_chain = NULL;    /* Top of the old cleanup chain.  */
+  struct gdbarch *gdbarch = get_type_arch (elttype);
   int width = TYPE_LENGTH (elttype);
 
   /* First we need to figure out the limit on the number of characters we are
@@ -1455,13 +1456,13 @@ val_print_string (struct type *elttype, CORE_ADDR addr, int len,
       if (errcode == EIO)
        {
          fprintf_filtered (stream, " <Address ");
-         fputs_filtered (paddress (addr), stream);
+         fputs_filtered (paddress (gdbarch, addr), stream);
          fprintf_filtered (stream, " out of bounds>");
        }
       else
        {
          fprintf_filtered (stream, " <Error reading address ");
-         fputs_filtered (paddress (addr), stream);
+         fputs_filtered (paddress (gdbarch, addr), stream);
          fprintf_filtered (stream, ": %s>", safe_strerror (errcode));
        }
     }
index 8fe2f407d45368dd0ef732659c46a099a2fc98f3..d81615658113de5288b80fb2f6f028fcd4b7681f 100644 (file)
@@ -318,7 +318,8 @@ extern struct value *coerce_array (struct value *value);
 struct frame_info;
 struct fn_field;
 
-extern void print_address_demangle (CORE_ADDR, struct ui_file *, int);
+extern void print_address_demangle (struct gdbarch *, CORE_ADDR,
+                                   struct ui_file *, int);
 
 extern LONGEST value_as_long (struct value *val);
 extern DOUBLEST value_as_double (struct value *val);
index 2fa79af65804156a7a7d8c7f79569187ebb86b5a..c041c429e91769127952bf521362bfb655cb4dad 100644 (file)
@@ -2082,7 +2082,7 @@ windows_xfer_shared_libraries (struct target_ops *ops,
   obstack_grow_str (&obstack, "<library-list>\n");
   for (so = solib_start.next; so; so = so->next)
     windows_xfer_shared_library (so->so_name, (CORE_ADDR) (uintptr_t) so->lm_info->load_addr,
-                                &obstack);
+                                target_gdbarch, &obstack);
   obstack_grow_str0 (&obstack, "</library-list>\n");
 
   buf = obstack_finish (&obstack);
index 7c7fe1a79d197b641ddd7b6880015b0c2975b8f0..9f9d6361fc916e8adbd6ae59607e4533e7baa111 100644 (file)
 
 void
 windows_xfer_shared_library (const char* so_name, CORE_ADDR load_addr,
-                            struct obstack *obstack)
+                            struct gdbarch *gdbarch, struct obstack *obstack)
 {
   char *p;
   obstack_grow_str (obstack, "<library name=\"");
   p = xml_escape_text (so_name);
   obstack_grow_str (obstack, p);
   xfree (p);
-  obstack_grow_str (obstack, "\"><segment address=\"0x");
+  obstack_grow_str (obstack, "\"><segment address=\"");
   /* The symbols in a dll are offset by 0x1000, which is the the
      offset from 0 of the first byte in an image - because of the file
      header and the section alignment. */
-  p = paddr_nz (load_addr + 0x1000);
-  obstack_grow_str (obstack, p);
+  obstack_grow_str (obstack, paddress (gdbarch, load_addr + 0x1000));
   obstack_grow_str (obstack, "\"/></library>");
 }
index e9e0fbb15b35d3e67f943c85a005551c1046fabc..d198b098500923be8b593551f2358d0dfaf735db 100644 (file)
 #define WINDOWS_TDEP_H
 
 struct obstack;
+struct gdbarch;
 
 extern void windows_xfer_shared_library (const char* so_name,
                                         CORE_ADDR load_addr,
+                                        struct gdbarch *gdbarch,
                                         struct obstack *obstack);
 #endif
index a26b6bec5cbb6e744e9fecc9115c3925bfa059e5..5884f8b6c364dc4e7e9bee6d97460b06c7ff03a7 100644 (file)
@@ -62,6 +62,7 @@ static void sharedlibrary_command (char *pattern, int from_tty);
 static void
 solib_info (char *args, int from_tty)
 {
+  int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
   struct vmap *vp = vmap;
 
   /* Check for new shared libraries loaded with load ().  */
@@ -83,8 +84,10 @@ Text Range           Data Range              Syms    Shared Object Library\n");
   for (; vp != NULL; vp = vp->nxt)
     {
       printf_unfiltered ("0x%s-0x%s    0x%s-0x%s       %s      %s%s%s%s\n",
-                        paddr (vp->tstart),paddr (vp->tend),
-                        paddr (vp->dstart), paddr (vp->dend),
+                        phex (vp->tstart, addr_size),
+                        phex (vp->tend, addr_size),
+                        phex (vp->dstart, addr_size),
+                        phex (vp->dend, addr_size),
                         vp->loaded ? "Yes" : "No ",
                         vp->name,
                         *vp->member ? "(" : "",