diff options
author | Kevin Buettner <kevinb@redhat.com> | 2001-05-04 04:15:33 +0000 |
---|---|---|
committer | Kevin Buettner <kevinb@redhat.com> | 2001-05-04 04:15:33 +0000 |
commit | 39f770628a4eaf018fec8d55684bf2ec16ada9cc (patch) | |
tree | 69027cfb7df2ecc521ab2cc1d25a7dd6cbe56632 /gdb/remote-vx.c | |
parent | b1af961c8433821f61dd1849cff9eb9a8bb974e8 (diff) | |
download | gdb-39f770628a4eaf018fec8d55684bf2ec16ada9cc.zip gdb-39f770628a4eaf018fec8d55684bf2ec16ada9cc.tar.gz gdb-39f770628a4eaf018fec8d55684bf2ec16ada9cc.tar.bz2 |
Phase 1 of the ptid_t changes.
Diffstat (limited to 'gdb/remote-vx.c')
-rw-r--r-- | gdb/remote-vx.c | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/gdb/remote-vx.c b/gdb/remote-vx.c index 1162b07..a441a93 100644 --- a/gdb/remote-vx.c +++ b/gdb/remote-vx.c @@ -163,7 +163,7 @@ net_break (int addr, u_long procnum) break_status = 0; ptrace_in.addr = addr; - ptrace_in.pid = inferior_pid; + ptrace_in.pid = PIDGET (inferior_ptid); status = net_clnt_call (procnum, xdr_rptrace, &ptrace_in, xdr_int, &break_status); @@ -192,7 +192,7 @@ vx_remove_breakpoint (int addr) return net_break (addr, VX_BREAK_DELETE); } -/* Start an inferior process and sets inferior_pid to its pid. +/* Start an inferior process and sets inferior_ptid to its pid. EXEC_FILE is the file to run. ALLARGS is a string containing the arguments to the program. ENV is the environment vector to pass. @@ -227,7 +227,7 @@ vx_create_inferior (char *exec_file, char *args, char **env) strlen (passArgs.arg_array_val[0])); push_target (&vx_run_ops); - inferior_pid = taskStart.pid; + inferior_ptid = pid_to_ptid (taskStart.pid); /* We will get a trace trap after one instruction. Insert breakpoints and continue. */ @@ -338,7 +338,7 @@ net_wait (RDB_EVENT *pEvent) memset ((char *) pEvent, '\0', sizeof (RDB_EVENT)); - pid = inferior_pid; + pid = PIDGET inferior_ptid); status = net_clnt_call (PROCESS_WAIT, xdr_int, &pid, xdr_RDB_EVENT, pEvent); @@ -365,7 +365,7 @@ net_quit (void) /* don't let rdbTask suspend itself by passing a pid of 0 */ - if ((pid = inferior_pid) == 0) + if ((pid = PIDGET (inferior_ptid)) == 0) return -1; status = net_clnt_call (VX_TASK_SUSPEND, xdr_int, &pid, xdr_int, @@ -390,7 +390,7 @@ net_read_registers (char *reg_buf, int len, u_long procnum) /* Initialize RPC input argument structure. */ - ptrace_in.pid = inferior_pid; + ptrace_in.pid = PIDGET (inferior_ptid); ptrace_in.info.ttype = NOINFO; /* Initialize RPC return value structure. */ @@ -438,7 +438,7 @@ net_write_registers (char *reg_buf, int len, u_long procnum) in_data.bytes = reg_buf; in_data.len = len; - ptrace_in.pid = inferior_pid; + ptrace_in.pid = PIDGET (inferior_ptid); ptrace_in.info.ttype = DATA; ptrace_in.info.more_data = (caddr_t) & in_data; @@ -490,7 +490,7 @@ vx_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write, memset ((char *) &ptrace_in, '\0', sizeof (ptrace_in)); memset ((char *) &ptrace_out, '\0', sizeof (ptrace_out)); - ptrace_in.pid = inferior_pid; /* XXX pid unnecessary for READDATA */ + ptrace_in.pid = PIDGET (inferior_ptid); /* XXX pid unnecessary for READDATA */ ptrace_in.addr = (int) memaddr; /* Where from */ ptrace_in.data = len; /* How many bytes */ @@ -565,22 +565,22 @@ vx_run_files_info (void) { printf_unfiltered ("\tRunning %s VxWorks process %s", vx_running ? "child" : "attached", - local_hex_string (inferior_pid)); + local_hex_string (PIDGET (inferior_ptid))); if (vx_running) printf_unfiltered (", function `%s'", vx_running); printf_unfiltered (".\n"); } static void -vx_resume (int pid, int step, enum target_signal siggnal) +vx_resume (ptid_t ptid, int step, enum target_signal siggnal) { int status; Rptrace ptrace_in; Ptrace_return ptrace_out; CORE_ADDR cont_addr; - if (pid == -1) - pid = inferior_pid; + if (ptid_equal (ptid, minus_one_ptid)) + ptid = inferior_ptid; if (siggnal != 0 && siggnal != stop_signal) error ("Cannot send signals to VxWorks processes"); @@ -600,7 +600,7 @@ vx_resume (int pid, int step, enum target_signal siggnal) memset ((char *) &ptrace_in, '\0', sizeof (ptrace_in)); memset ((char *) &ptrace_out, '\0', sizeof (ptrace_out)); - ptrace_in.pid = pid; + ptrace_in.pid = PIDGET (ptid); ptrace_in.addr = cont_addr; /* Target side insists on this, or it panics. */ if (step) @@ -709,7 +709,7 @@ vx_load_command (char *arg_string, int from_tty) /* Refuse to load the module if a debugged task is running. Doing so can have a number of unpleasant consequences to the running task. */ - if (inferior_pid != 0 && target_has_execution) + if (PIDGET (inferior_ptid) != 0 && target_has_execution) { if (query ("You may not load a module while the target task is running.\n\ Kill the target task? ")) @@ -742,7 +742,7 @@ net_step (void) int step_status; SOURCE_STEP source_step; - source_step.taskId = inferior_pid; + source_step.taskId = PIDGET (inferior_ptid); if (step_range_end) { @@ -930,8 +930,8 @@ sleep_ms (long ms) perror_with_name ("select"); } -static int -vx_wait (int pid_to_wait_for, struct target_waitstatus *status) +static ptid_t +vx_wait (ptid_t ptid_to_wait_for, struct target_waitstatus *status) { register int pid; RDB_EVENT rdbEvent; @@ -977,7 +977,7 @@ vx_wait (int pid_to_wait_for, struct target_waitstatus *status) { sleep_ms (200); /* FIXME Don't kill the network too badly */ } - else if (pid != inferior_pid) + else if (pid != PIDGET (inferior_ptid)) internal_error (__FILE__, __LINE__, "Bad pid for debugged task: %s\n", local_hex_string ((unsigned long) pid)); @@ -1035,7 +1035,7 @@ vx_wait (int pid_to_wait_for, struct target_waitstatus *status) #endif break; } /* switch */ - return pid; + return pid_to_ptid (pid); } static int @@ -1208,7 +1208,7 @@ vx_attach (char *args, int from_tty) /* It worked... */ - inferior_pid = pid; + inferior_ptid = pid_to_ptid (pid); push_target (&vx_run_ops); if (vx_running) @@ -1238,14 +1238,15 @@ vx_detach (char *args, int from_tty) if (from_tty) printf_unfiltered ("Detaching pid %s.\n", - local_hex_string ((unsigned long) inferior_pid)); + local_hex_string ( + (unsigned long) PIDGET (inferior_ptid))); if (args) /* FIXME, should be possible to leave suspended */ signal = atoi (args); memset ((char *) &ptrace_in, '\0', sizeof (ptrace_in)); memset ((char *) &ptrace_out, '\0', sizeof (ptrace_out)); - ptrace_in.pid = inferior_pid; + ptrace_in.pid = PIDGET (inferior_ptid); status = net_ptrace_clnt_call (PTRACE_DETACH, &ptrace_in, &ptrace_out); if (status == -1) @@ -1256,7 +1257,7 @@ vx_detach (char *args, int from_tty) perror_with_name ("Detaching VxWorks process"); } - inferior_pid = 0; + inferior_ptid = null_ptid; pop_target (); /* go back to non-executing VxWorks connection */ } @@ -1269,11 +1270,11 @@ vx_kill (void) Ptrace_return ptrace_out; int status; - printf_unfiltered ("Killing pid %s.\n", local_hex_string ((unsigned long) inferior_pid)); + printf_unfiltered ("Killing pid %s.\n", local_hex_string ((unsigned long) PIDGET (inferior_ptid))); memset ((char *) &ptrace_in, '\0', sizeof (ptrace_in)); memset ((char *) &ptrace_out, '\0', sizeof (ptrace_out)); - ptrace_in.pid = inferior_pid; + ptrace_in.pid = PIDGET (inferior_ptid); status = net_ptrace_clnt_call (PTRACE_KILL, &ptrace_in, &ptrace_out); if (status == -1) @@ -1286,7 +1287,7 @@ vx_kill (void) /* If it gives good status, the process is *gone*, no events remain. If the kill failed, assume the process is gone anyhow. */ - inferior_pid = 0; + inferior_ptid = null_ptid; pop_target (); /* go back to non-executing VxWorks connection */ } @@ -1295,7 +1296,7 @@ vx_kill (void) static void vx_proc_close (int quitting) { - inferior_pid = 0; /* No longer have a process. */ + inferior_ptid = null_ptid; /* No longer have a process. */ if (vx_running) xfree (vx_running); vx_running = 0; |