diff options
author | Pedro Alves <pedro@codesourcery.com> | 2008-08-08 02:34:08 +0000 |
---|---|---|
committer | Pedro Alves <pedro@codesourcery.com> | 2008-08-08 02:34:08 +0000 |
commit | 5483f634593d67daf35e700bce6d85b1abb3b98c (patch) | |
tree | 6e1aef58d87cd54f941b47aac5fffcefe4c090bc /gdb/remote-m32r-sdi.c | |
parent | db95d3168ee03a63a29ab4c95b52bd6eaa7646f1 (diff) | |
download | gdb-5483f634593d67daf35e700bce6d85b1abb3b98c.tar.gz |
* remote-m32r-sdi.c: Include "gdbthread.h".
(remote_m32r_ptid): New.
(m32r_close): Delete the main thread.
(m32r_resume): Set inferior_ptid toA remote_m32r_ptid. Add the
main thread.
(m32r_kill, m32r_load, sdireset_command): Delete the main thread.
(_initialize_remote_m32r): Initialize remote_m32r_ptid.
Diffstat (limited to 'gdb/remote-m32r-sdi.c')
-rw-r--r-- | gdb/remote-m32r-sdi.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gdb/remote-m32r-sdi.c b/gdb/remote-m32r-sdi.c index c048c5bc8f5..a8f095c642a 100644 --- a/gdb/remote-m32r-sdi.c +++ b/gdb/remote-m32r-sdi.c @@ -28,6 +28,7 @@ #include "target.h" #include "regcache.h" #include "gdb_string.h" +#include "gdbthread.h" #include <ctype.h> #include <signal.h> #ifdef __MINGW32__ @@ -84,6 +85,11 @@ static int interrupted = 0; /* Forward data declarations */ extern struct target_ops m32r_ops; +/* This is the ptid we use while we're connected to the remote. Its + value is arbitrary, as the target doesn't have a notion of + processes or threads, but we need something non-null to place in + inferior_ptid. */ +static ptid_t remote_m32r_ptid; /* Commands */ #define SDI_OPEN 1 @@ -432,6 +438,7 @@ m32r_close (int quitting) } inferior_ptid = null_ptid; + delete_thread_silent (remote_m32r_ptid); return; } @@ -667,7 +674,8 @@ m32r_resume (ptid_t ptid, int step, enum target_signal sig) target is active. These functions should be split out into seperate variables, especially since GDB will someday have a notion of debugging several processes. */ - inferior_ptid = pid_to_ptid (32); + inferior_ptid = remote_m32r_ptid; + add_thread_silent (remote_m32r_ptid); return; } @@ -1127,6 +1135,7 @@ m32r_kill (void) fprintf_unfiltered (gdb_stdlog, "m32r_kill()\n"); inferior_ptid = null_ptid; + delete_thread_silent (remote_m32r_ptid); return; } @@ -1366,6 +1375,7 @@ m32r_load (char *args, int from_tty) write_pc (bfd_get_start_address (exec_bfd)); inferior_ptid = null_ptid; /* No process now */ + delete_thread_silent (remote_m32r_ptid); /* This is necessary because many things were based on the PC at the time that we attached to the monitor, which is no longer valid now that we @@ -1490,6 +1500,7 @@ sdireset_command (char *args, int from_tty) send_cmd (SDI_OPEN); inferior_ptid = null_ptid; + delete_thread_silent (remote_m32r_ptid); } @@ -1648,4 +1659,8 @@ _initialize_remote_m32r (void) _("Set breakpoints by IB break.")); add_com ("use_dbt_break", class_obscure, use_dbt_breakpoints_command, _("Set breakpoints by dbt.")); + + /* Yes, 42000 is arbitrary. The only sense out of it, is that it + isn't 0. */ + remote_m32r_ptid = ptid_build (42000, 0, 42000); } |