diff options
author | John Gilmore <gnu@cygnus> | 1992-09-18 07:40:15 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1992-09-18 07:40:15 +0000 |
commit | 997cc2c0a3ca76b3da1489ce530df5d0c3a46a2c (patch) | |
tree | 8c268a054c7bdba489d21b96764ef356032c8459 | |
parent | 2ec3d07cc720e9d81ee3d174829d6231cecbebf1 (diff) | |
download | gdb-997cc2c0a3ca76b3da1489ce530df5d0c3a46a2c.zip gdb-997cc2c0a3ca76b3da1489ce530df5d0c3a46a2c.tar.gz gdb-997cc2c0a3ca76b3da1489ce530df5d0c3a46a2c.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/infptrace.c | 11 | ||||
-rw-r--r-- | 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! */ } |