here; it is dealt with at a gdb-target-independent level.
* rs6000-tdep.c (single_step): Don't call ptrace, we are a
high toned routine. Fix return type to void.
+ * tm-rs6000.h (AIX_BUGGY_PTRACE_CALL): Zap, we think we fixed it.
+ Rich and I believe the "real problem" was that both single_step
+ and target_resume were issuing PT_CONTINUE calls. This would
+ cause the second PT_CONTINUE to sometimes fail because the process
+ was already running.
+ * infptrace.c (child_resume): Remove AIX_BUGGY_PTRACE_CALL kludge.
Mon Sep 14 19:20:43 1992 Stu Grossman (grossman at cygnus.com)
instructions), so we don't have to worry about that here. */
if (step)
- ptrace (PT_STEP, inferior_pid, (PTRACE_ARG3_TYPE) 1, signal);
+ ptrace (PT_STEP, inferior_pid, (PTRACE_ARG3_TYPE) 1, signal);
else
-#ifdef AIX_BUGGY_PTRACE_CONTINUE
- AIX_BUGGY_PTRACE_CONTINUE;
-#else
ptrace (PT_CONTINUE, inferior_pid, (PTRACE_ARG3_TYPE) 1, signal);
-#endif
if (errno)
perror_with_name ("ptrace");
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* A successful ptrace(continue) might return errno != 0 in this particular port
- of rs6000. I am not sure why. We will use this kludge and ignore it until
- we figure out the real problem. */
-
-#define AIX_BUGGY_PTRACE_CONTINUE \
-{ \
- int ret = ptrace (PT_CONTINUE, inferior_pid, \
- (PTRACE_ARG3_TYPE) 1, signal, 0); \
- if (errno) { \
-/* printf ("ret: %d, errno: %d, signal: %d\n", ret, errno, signal); */ \
- errno = 0; } \
-}
-
extern int symtab_relocated;
/* Minimum possible text address in AIX */