aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/target.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2009-04-01 22:31:45 +0000
committerPedro Alves <palves@redhat.com>2009-04-01 22:31:45 +0000
commit5b1c542ea1c4ff247db390bd24a9e0665d0c2e48 (patch)
tree0596b3d42d4fdcbe13c72e148774b85d1795ff13 /gdb/gdbserver/target.c
parent2bd7c093f663139ad9e57ddc748ade12f6bfbe01 (diff)
downloadgdb-5b1c542ea1c4ff247db390bd24a9e0665d0c2e48.zip
gdb-5b1c542ea1c4ff247db390bd24a9e0665d0c2e48.tar.gz
gdb-5b1c542ea1c4ff247db390bd24a9e0665d0c2e48.tar.bz2
Decouple target code from remote protocol.
* target.h (enum target_waitkind): New. (struct target_waitstatus): New. (struct target_ops) <wait>: Return an unsigned long. Take a target_waitstatus pointer instead of a char pointer. (mywait): Likewise. * target.c (mywait): Change prototype to return an unsigned long. Take a target_waitstatus pointer instead of a char pointer. Adjust. * server.h (thread_from_wait, old_thread_from_wait): Delete declarations. (prepare_resume_reply): Change prototype to take a target_waitstatus. * server.c (thread_from_wait, old_thread_from_wait): Delete. (last_status, last_ptid): New. (start_inferior): Remove "statusptr" argument. Adjust. Return a pid instead of a signal. (attach_inferior): Remove "status" and "signal" parameters. Adjust. (handle_query): For qGetTLSAddr, parse the thread id with strtol, not as an address. (handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill) (handle_v_requests, myresume): Remove "status" and "signal" parameters. Adjust. (handle_status): New. (main): Delete local `status'. Adjust. * remote-utils.c: Include target.h. (prepare_resume_reply): Change prototype to take a target_waitstatus. Adjust. * linux-low.c (linux_wait): Adjust to new target_ops->wait interface. * spu-low.c (spu_wait): Adjust. * win32-low.c (enum target_waitkind, struct target_waitstatus): Delete. (win32_wait): Adjust.
Diffstat (limited to 'gdb/gdbserver/target.c')
-rw-r--r--gdb/gdbserver/target.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gdb/gdbserver/target.c b/gdb/gdbserver/target.c
index b49bdb5..3bdc469 100644
--- a/gdb/gdbserver/target.c
+++ b/gdb/gdbserver/target.c
@@ -88,15 +88,15 @@ write_inferior_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
return res;
}
-unsigned char
-mywait (char *statusp, int connected_wait)
+unsigned long
+mywait (struct target_waitstatus *ourstatus, int connected_wait)
{
- unsigned char ret;
+ unsigned long ret;
if (connected_wait)
server_waiting = 1;
- ret = (*the_target->wait) (statusp);
+ ret = (*the_target->wait) (ourstatus);
if (connected_wait)
server_waiting = 0;