From 997cc2c0a3ca76b3da1489ce530df5d0c3a46a2c Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Fri, 18 Sep 1992 07:40:15 +0000 Subject: [PATCH] Preliminary cleanup for splitting host/native/target. * infptrace.c (child_resume): Don't deal with NO_SINGLE_STEP 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. --- gdb/ChangeLog | 9 +++++++++ gdb/infptrace.c | 11 ++++++----- gdb/rs6000-tdep.c | 11 ++++------- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 63e7cc3..e3e5212 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -26,6 +26,15 @@ Wed Sep 16 17:00:07 1992 John Gilmore (gnu@cygnus.com) alldeps.mak files. (assorted): Update to catch straggler files when building gdb.tar.Z. +Tue Sep 15 01:18:50 1992 John Gilmore (gnu@cygnus.com) + + Preliminary cleanup for splitting host/native/target. + + * infptrace.c (child_resume): Don't deal with NO_SINGLE_STEP + 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. + Mon Sep 14 19:20:43 1992 Stu Grossman (grossman at cygnus.com) * energize.c (pty_to_kernel): Must check for EAGAIN as diff --git a/gdb/infptrace.c b/gdb/infptrace.c index 3856b36..87178cd 100644 --- a/gdb/infptrace.c +++ b/gdb/infptrace.c @@ -120,14 +120,15 @@ child_resume (step, signal) /* An address of (PTRACE_ARG3_TYPE)1 tells ptrace to continue from where it was. (If GDB wanted it to start some other way, we have already - written a new PC value to the child.) */ + written a new PC value to the child.) + + If this system does not support PT_STEP, a higher level function will + have called single_step() to transmute the step request into a + continue request (by setting breakpoints on all possible successor + instructions), so we don't have to worry about that here. */ if (step) -#ifdef NO_SINGLE_STEP - single_step (signal); -#else ptrace (PT_STEP, inferior_pid, (PTRACE_ARG3_TYPE) 1, signal); -#endif else #ifdef AIX_BUGGY_PTRACE_CONTINUE AIX_BUGGY_PTRACE_CONTINUE; diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 45d6af4..edae708 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -121,9 +121,9 @@ branch_dest (opcode, instr, pc, safety) /* AIX does not support PT_STEP. Simulate it. */ -int +void single_step (signal) -int signal; + int signal; { #define INSNLEN(OPCODE) 4 @@ -161,9 +161,7 @@ int signal; } one_stepped = 1; - ptrace (PT_CONTINUE, inferior_pid, (PTRACE_ARG3_TYPE) 1, signal, 0); - } - else { + } else { /* remove step breakpoints. */ for (ii=0; ii < 2; ++ii) @@ -173,8 +171,7 @@ int signal; one_stepped = 0; } - errno = 0; - return 1; + errno = 0; /* FIXME, don't ignore errors! */ } -- 2.7.4