+2007-06-16 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * regcache.c (struct regcache): Add ptid_t member.
+ (regcache_xmalloc): Initialize it.
+ (regcache_cpy_no_passthrough): Do not refer to current_regcache.
+ (regcache_dup): Likewise.
+ (regcache_dup_no_passthrough): Likewise.
+ (current_regcache): Make static.
+ (registers_ptid): Remove variable.
+ (get_thread_regcache): New function.
+ (get_current_regcache): New function.
+ (registers_changed): Implement by freeing current regcache.
+ (regcache_raw_read): Do not refer to current_regcache. Set
+ inferior_ptid to regcache->ptid while calling target routines.
+ (regcache_raw_write): Likewise.
+ (regcache_raw_supply): Do not refer to current_regcache.
+ (read_pc_pid): Use thread regcache. Do not modify inferior_ptid.
+ (write_pc_pid): Likewise.
+ (build_regcache): Remove.
+ (_initialize_regcache): Do not call DEPRECATED_REGISTER_GDBARCH_SWAP
+ or deprecated_register_gdbarch_swap. Do not initialize
+ registers_ptid.
+ * regcache.h (get_current_regcache): Add prototype.
+ (get_thread_regcache): Likewise.
+ (current_regcache): Remove declaration.
+
+ * corelow.c (core_open): Replace current_regcache by
+ get_current_regcache ().
+ * frame.c (frame_pop): Likewise.
+ (put_frame_register): Likewise.
+ (get_current_frame, create_new_frame): Likewise.
+ * mi/mi-main.c (mi_cmd_data_write_register_values): Likewise.
+ * stack.c (return_command): Likewise.
+ * infcall.c (call_function_by_hand): Likewise.
+ * infrun.c (resume): Likewise.
+ (save_inferior_status, restore_inferior_status): Likewise.
+ * linux-fork.c (fork_load_infrun_state): Likewise.
+ (fork_save_infrun_state): Likewise.
+ * win32-nat.c (win32_resume): Likewise.
+ * i386fbsd-nat.c (i386fbsd_resume): Likewise.
+ * monitor.c (monitor_wait): Likewise.
+ * remote.c (remote_wait): Likewise.
+ * remote-mips.c (mips_wait): Likewise.
+
+ * bsd-kvm.c (bsd_kvm_open): Likewise
+ (bsd_kvm_proc_cmd, bsd_kvm_pcb_cmd): Likewise.
+ * fbsd-nat.c (fbsd_make_corefile_notes): Likewise.
+ * i386-linux-nat.c (i386_linux_resume): Likewise.
+ * ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise.
+ (ia64_linux_stopped_data_address): Likewise.
+
+ * frv-tdep.c (frv_fdpic_loadmap_addresses): Likewise.
+ * m32c-tdep.c (m32c_virtual_frame_pointer): Likewise.
+ * mep-tdep.c (current_me_module, current_options): Likewise.
+ * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Likewise.
+
+ * linux-nat.c (linux_nat_do_thread_registers): Use thread
+ regcache instead of current_regcache. Call target_fetch_registers.
+ (linux_nat_corefile_thread_callback): Update call site.
+ (linux_nat_do_registers): Likewise.
+ * procfs.c (procfs_do_thread_registers): Use thread regcache instead
+ of current_regcache.
+ (procfs_make_note_section): Likewise.
+ * proc-service.c (ps_lgetregs, ps_lsetregs): Likewise.
+ (ps_lgetfpregs, ps_lsetfpregs): Likewise.
+ * sol-thread.c (ps_lgetregs, ps_lsetregs): Likewise.
+ (ps_lgetfpregs, ps_lsetfpregs): Likewise.
+
+2007-06-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * regcache.c (read_register, read_register_pid): Remove.
+ (write_register, write_register_pid): Likewise.
+ * regcache.h (read_register, read_register_pid): Remove prototype.
+ (write_register, write_register_pid): Likewise.
+
+2007-06-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbarch.sh (read_pc): Add REGCACHE argument. Remove PTID argument.
+ (write_pc): Likewise. Remove default implementation, add predicate.
+ * gdbarch.c, gdbarch.h: Regenerate.
+ * regcache.c (read_pc_pid): Use current regcache instead of calling
+ read_register_pid.
+ (write_pc_pid): Check gdbarch_write_pc predicate, implement default
+ case inline.
+ (generic_target_write_pc): Remove.
+ * inferior.h (generic_target_write_pc): Remove.
+ * frv-tdep.c (frv_gdbarch_init): Do not install it.
+ * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+ * sh64-tdep.c (sh64_gdbarch_init): Likewise.
+ * sh-tdep.c (sh_gdbarch_init): Likewise.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
+
+ * avr-tdep.c (avr_read_pc): Add REGCACHE argument. Remove PTID
+ argument. Use REGCACHE instead of calling read_register_pid.
+ * hppa-hpux-tdep.c (hppa_hpux_read_pc): Likewise.
+ * hppa-tdep.c (hppa_read_pc): Likewise.
+ * hppa-tdep.h (hppa_read_pc): Likewise.
+ * ia64-tdep.c (ia64_read_pc): Likewise.
+ * m32r-tdep.c (m32r_read_pc): Likewise.
+ * mep-tdep.c (mep_read_pc): Likewise.
+ * mn10300-tdep.c (mn10300_read_pc): Likewise.
+ * spu-tdep.c (spu_read_pc): Likewise.
+
+ * arm-tdep.c (arm_write_pc): Add REGCACHE argument. Remove PTID
+ argument. Use REGCACHE instead of calling write_register_pid.
+ * avr-tdep.c (avr_write_pc): Likewise.
+ * hppa-hpux-tdep.c (hppa_hpux_write_pc): Likewise.
+ * hppa-tdep.c (hppa_write_pc): Likewise.
+ * hppa-tdep.h (hppa_write_pc): Likewise.
+ * i386-linux-tdep.c (i386_linux_write_pc): Likewise.
+ * amd64-linux-tdep.c (amd64_linux_write_pc): Likewise.
+ * ia64-linux-tdep.c (ia64_linux_write_pc): Likewise.
+ * ia64-tdep.c (ia64_write_pc): Likewise.
+ * ia64-tdep.h (ia64_write_pc): Likewise.
+ * m32r-tdep.c (m32r_write_pc): Likewise.
+ * m88k-tdep.c (m88k_write_pc): Likewise.
+ * mep-tdep.c (mep_write_pc): Likewise.
+ * mips-tdep.c (mips_write_pc): Likewise.
+ * mips-linux-tdep.c (mips_linux_write_pc): Likewise.
+ * mn10300-tdep.c (mn10300_write_pc): Likewise.
+ * sparc-tdep.c (sparc_write_pc): Likewise.
+ * spu-tdep.c (spu_write_pc): Likewise.
+
+ * mips-tdep.c (read_signed_register): Remove.
+ (read_signed_register_pid): Likewise.
+ (mips_read_pc): Add REGCACHE argument. Remove PTID argument.
+ Use REGCACHE instead of calling read_signed_register_pid.
+
+2007-06-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbarch.sh (push_dummy_code): Add REGCACHE argument.
+ * gdbarch.c, gdbarch.h: Regenerate.
+ * infcall.c (generic_push_dummy_code): Add REGCACHE argument.
+ (push_dummy_code): Likewise. Pass it to callee.
+ (call_function_by_hand): Pass current regcache to push_dummy_code.
+
+ * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Add REGCACHE
+ argument. Use it instead of current_regcache.
+
+ * cris-tdep.c (cris_push_dummy_code): Add REGCACHE argument.
+ * sparc-tdep.c (sparc32_push_dummy_code): Likewise.
+
+2007-06-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbarch.sh (get_longjmp_target): Add FRAME argument.
+ * gdbarch.c, gdbarch.h: Regenerate.
+ * infrun.c (handle_inferior_event): Pass current frame to
+ gdbarch_get_longjmp_target.
+
+ * alpha-tdep.c (alpha_get_longjmp_target): Add FRAME argument.
+ Read registers from FRAME instead of using read_register.
+ Use get_frame_arch instead of current_gdbarch.
+ * arm-tdep.c (arm_get_longjmp_target): Likewise.
+ * i386-tdep.c (i386_get_longjmp_target): Likewise.
+ * m68k-tdep.c (m68k_get_longjmp_target): Likewise.
+ * mips-linux-tdep.c (mips_linux_get_longjmp_target): Likewise.
+ (mips64_linux_get_longjmp_target): Likewise.
+ * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Likewise.
+
2007-06-15 Ulrich Weigand <uweigand@de.ibm.com>
* gdbarch.sh (skip_trampoline_code): Add FRAME argument.