aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote-eb.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/remote-eb.c')
-rw-r--r--gdb/remote-eb.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/gdb/remote-eb.c b/gdb/remote-eb.c
index eb6caf8..d261549 100644
--- a/gdb/remote-eb.c
+++ b/gdb/remote-eb.c
@@ -476,7 +476,8 @@ eb_detach (from_tty)
void
eb_resume (pid, step, sig)
- int pid, step, sig;
+ int pid, step;
+ enum target_signal sig;
{
if (step)
{
@@ -517,7 +518,7 @@ eb_resume (pid, step, sig)
int
eb_wait (status)
- WAITTYPE *status;
+ struct target_waitstatus *status;
{
/* Strings to look for. '?' means match any single character.
Note that with the algorithm we use, the initial character
@@ -542,11 +543,13 @@ eb_wait (status)
int old_timeout = timeout;
- WSETEXIT ((*status), 0);
+ status->kind = TARGET_WAITKIND_EXITED;
+ status->value.integer = 0;
if (need_artificial_trap != 0)
{
- WSETSTOP ((*status), SIGTRAP);
+ status->kind = TARGET_WAITKIND_STOPPED;
+ status->value.sig = TARGET_SIGNAL_TRAP;
need_artificial_trap--;
return 0;
}
@@ -595,9 +598,15 @@ eb_wait (status)
}
expect_prompt ();
if (*bp== '\0')
- WSETSTOP ((*status), SIGTRAP);
+ {
+ status->kind = TARGET_WAITKIND_STOPPED;
+ status->value.sig = TARGET_SIGNAL_TRAP;
+ }
else
- WSETEXIT ((*status), 0);
+ {
+ status->kind = TARGET_WAITKIND_EXITED;
+ status->value.integer = 0;
+ }
timeout = old_timeout;
return 0;