From a0d76829ace10343d05a64cd4212b894167ed68a Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 19 Jan 1996 08:00:39 +0000 Subject: [PATCH] * rs6000-nat.c (exec_one_dummy_insn): Rework to avoid ptrace bug in aix4.1.3 on the rs6000. Fixes inferior function call problem on rs6000-ibm-aix4. --- gdb/ChangeLog | 5 +++++ gdb/rs6000-nat.c | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dd724980f7d..9c92af76177 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Fri Jan 19 00:59:53 1996 Jeffrey A Law (law@cygnus.com) + + * rs6000-nat.c (exec_one_dummy_insn): Rework to avoid + ptrace bug in aix4.1.3 on the rs6000. + Wed Jan 17 13:22:27 1996 Stan Shebs * remote-hms.c (hms_ops): Add value for to_thread_alive. diff --git a/gdb/rs6000-nat.c b/gdb/rs6000-nat.c index 47bfe2d4150..8293b56871a 100644 --- a/gdb/rs6000-nat.c +++ b/gdb/rs6000-nat.c @@ -238,7 +238,15 @@ exec_one_dummy_insn () target_insert_breakpoint (DUMMY_INSN_ADDR, shadow_contents); errno = 0; - ptrace (PT_CONTINUE, inferior_pid, (PTRACE_ARG3_TYPE) DUMMY_INSN_ADDR, 0, 0); + + /* You might think this could be done with a single ptrace call, and + you'd be correct for just about every platform I've ever worked + 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). */ + write_pc (DUMMY_INSN_ADDR); + ptrace (PT_CONTINUE, inferior_pid, (PTRACE_ARG3_TYPE)1, 0, 0); + if (errno) perror ("pt_continue"); -- 2.30.2