diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2008-05-04 14:12:34 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2008-05-04 14:12:34 +0000 |
commit | 515630c5e5a3b481867b81031930664f8d1d9b77 (patch) | |
tree | 97c8d75819dfa7fc34fe4d37b33a9986051c1bf4 /gdb/aix-thread.c | |
parent | ebd3bcc1327e6a7de6daf6536134cb20be9c2cfd (diff) | |
download | gdb-515630c5e5a3b481867b81031930664f8d1d9b77.zip gdb-515630c5e5a3b481867b81031930664f8d1d9b77.tar.gz gdb-515630c5e5a3b481867b81031930664f8d1d9b77.tar.bz2 |
* inferior.h (read_pc_pid, write_pc_pid): Remove.
* regcache.h (regcache_read_pc, regcache_write_pc): Add prototypes.
* regcache.c (read_pc_pid): Remove, replace by ...
(regcache_read_pc): ... this function.
(write_pc_pid): Remove, replace by ...
(regcache_write_pc): ... this function.
(read_pc, write_pc): Update.
* infrun.c (displaced_step_prepare): Replace read_pc_pid and
write_pc_pid by regcache_read_pc and regcache_write_pc.
(displaced_step_fixup): Likewise.
(resume): Likewise. Use regcache arch instead of current_gdbarch.
(prepare_to_proceed): Likewise.
(proceed): Likewise.
(adjust_pc_after_break): Likewise.
(handle_inferior_event): Likewise.
* linux-nat.c (cancel_breakpoint): Likewise.
* linux-thread-db.c (check_event): Likewise.
* aix-thread.c (aix_thread_wait): Likewise.
* tracepoint.c (trace_dump_command): Likewise.
Diffstat (limited to 'gdb/aix-thread.c')
-rw-r--r-- | gdb/aix-thread.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/aix-thread.c b/gdb/aix-thread.c index 93da34c..3377d50 100644 --- a/gdb/aix-thread.c +++ b/gdb/aix-thread.c @@ -1010,11 +1010,16 @@ aix_thread_wait (ptid_t ptid, struct target_waitstatus *status) return pid_to_ptid (-1); /* Check whether libpthdebug might be ready to be initialized. */ - if (!pd_active && status->kind == TARGET_WAITKIND_STOPPED && - status->value.sig == TARGET_SIGNAL_TRAP - && read_pc_pid (ptid) - - gdbarch_decr_pc_after_break (current_gdbarch) == pd_brk_addr) - return pd_activate (0); + if (!pd_active && status->kind == TARGET_WAITKIND_STOPPED + && status->value.sig == TARGET_SIGNAL_TRAP) + { + struct regcache *regcache = get_thread_regcache (ptid); + struct gdbarch *gdbarch = get_regcache_arch (regcache); + + if (regcache_read_pc (regcache) + - gdbarch_decr_pc_after_break (gdbarch) == pd_brk_addr) + return pd_activate (0); + } return pd_update (0); } |