diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-16 17:16:26 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-16 17:16:26 +0000 |
commit | 954e927b912047942c40cfb32168ac48267fb464 (patch) | |
tree | 1ffa7bf490aead5fcb0e1cd72dcb122cf0ac663f /gdb/infrun.c | |
parent | f3cf9eafd94420b23bb26aee35d022a597fb745f (diff) | |
download | gdb-954e927b912047942c40cfb32168ac48267fb464.tar.gz |
* 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.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index 2c1b32f844c..1557dc70f41 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -528,7 +528,8 @@ resume (int step, enum target_signal sig) if (breakpoint_here_p (read_pc ()) == permanent_breakpoint_here) { if (gdbarch_skip_permanent_breakpoint_p (current_gdbarch)) - gdbarch_skip_permanent_breakpoint (current_gdbarch, current_regcache); + gdbarch_skip_permanent_breakpoint (current_gdbarch, + get_current_regcache ()); else error (_("\ The program is stopped at a permanent breakpoint, but GDB does not know\n\ @@ -3218,7 +3219,7 @@ Further execution is probably impossible.\n")); if (proceed_to_finish) /* NB: The copy goes through to the target picking up the value of all the registers. */ - regcache_cpy (stop_registers, current_regcache); + regcache_cpy (stop_registers, get_current_regcache ()); if (stop_stack_dummy) { @@ -3675,7 +3676,7 @@ save_inferior_status (int restore_stack_info) inf_status->stop_registers = regcache_dup_no_passthrough (stop_registers); - inf_status->registers = regcache_dup (current_regcache); + inf_status->registers = regcache_dup (get_current_regcache ()); inf_status->selected_frame_id = get_frame_id (get_selected_frame (NULL)); return inf_status; @@ -3730,7 +3731,7 @@ restore_inferior_status (struct inferior_status *inf_status) (and perhaps other times). */ if (target_has_execution) /* NB: The register write goes through to the target. */ - regcache_cpy (current_regcache, inf_status->registers); + regcache_cpy (get_current_regcache (), inf_status->registers); regcache_xfree (inf_status->registers); /* FIXME: If we are being called after stopping in a function which |