diff options
author | Jeff Law <law@redhat.com> | 1996-03-19 17:40:12 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1996-03-19 17:40:12 +0000 |
commit | a466b86aac9e055dbaf4b1e5087deb52265ff8d5 (patch) | |
tree | 75b4bdb76c329d111e528f841a55f10caaa8220c /gdb/rs6000-nat.c | |
parent | a912e811fc547a45cb1ea71e1cfb6ce9ee1843ff (diff) | |
download | gdb-a466b86aac9e055dbaf4b1e5087deb52265ff8d5.zip gdb-a466b86aac9e055dbaf4b1e5087deb52265ff8d5.tar.gz gdb-a466b86aac9e055dbaf4b1e5087deb52265ff8d5.tar.bz2 |
* rs6000-nat.c (exec_one_dummy_insn): Don't clobber the
PC in the registers array. From Peter Schauer.
Diffstat (limited to 'gdb/rs6000-nat.c')
-rw-r--r-- | gdb/rs6000-nat.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/rs6000-nat.c b/gdb/rs6000-nat.c index 8293b56..b9ad387 100644 --- a/gdb/rs6000-nat.c +++ b/gdb/rs6000-nat.c @@ -231,6 +231,7 @@ exec_one_dummy_insn () char shadow_contents[BREAKPOINT_MAX]; /* Stash old bkpt addr contents */ unsigned int status, pid; + CORE_ADDR prev_pc; /* We plant one dummy breakpoint into DUMMY_INSN_ADDR address. We assume that this address will never be executed again by the real code. */ @@ -244,6 +245,7 @@ exec_one_dummy_insn () on. However, rs6000-ibm-aix4.1.3 seems to have screwed this up -- the inferior never hits the breakpoint (it's also worth noting powerpc-ibm-aix4.1.3 works correctly). */ + prev_pc = read_pc (); write_pc (DUMMY_INSN_ADDR); ptrace (PT_CONTINUE, inferior_pid, (PTRACE_ARG3_TYPE)1, 0, 0); @@ -254,6 +256,7 @@ exec_one_dummy_insn () pid = wait (&status); } while (pid != inferior_pid); + write_pc (prev_pc); target_remove_breakpoint (DUMMY_INSN_ADDR, shadow_contents); } |