/* Machine independent support for QNX Neutrino /proc (process file system)
for GDB. Written by Colin Burgess at QNX Software Systems Limited.
- Copyright (C) 2003-2018 Free Software Foundation, Inc.
+ Copyright (C) 2003-2019 Free Software Foundation, Inc.
Contributed by QNX Software Systems Ltd.
void mourn_inferior () override;
- void pass_signals (int, unsigned char *) override;
+ void pass_signals (gdb::array_view<const unsigned char>) override;
bool thread_alive (ptid_t ptid) override;
void interrupt () override;
- bool have_continuable_watchpoint ()
- { return true; }
-
const char *extra_thread_info (struct thread_info *) override;
char *pid_to_exec_file (int pid) override;
static const target_info nto_procfs_target_info = {
"procfs",
N_("QNX Neutrino local or remote process"),
- N_("QNX Neutrino process. target procfs <node>")
+ N_("QNX Neutrino process. target procfs NODE")
};
struct nto_procfs_target_procfs final : public nto_procfs_target
nto_procfs_node = ND_LOCAL_NODE;
nodestr = (arg != NULL) ? xstrdup (arg) : NULL;
- init_thread_list ();
-
if (nodestr)
{
nto_procfs_node = netmgr_strtond (nodestr, &endstr);
ourstatus->kind = TARGET_WAITKIND_SPURIOUS;
- if (ptid_equal (inferior_ptid, null_ptid))
+ if (inferior_ptid == null_ptid)
{
ourstatus->kind = TARGET_WAITKIND_STOPPED;
ourstatus->value.sig = GDB_SIGNAL_0;
procfs_status status;
sigset_t *run_fault = (sigset_t *) (void *) &run.fault;
- if (ptid_equal (inferior_ptid, null_ptid))
+ if (inferior_ptid == null_ptid)
return;
- procfs_set_thread (ptid_equal (ptid, minus_one_ptid) ? inferior_ptid :
+ procfs_set_thread (ptid == minus_one_ptid ? inferior_ptid :
ptid);
run.flags = _DEBUG_RUN_FAULT | _DEBUG_RUN_TRACE;
void
nto_procfs_target::mourn_inferior ()
{
- if (!ptid_equal (inferior_ptid, null_ptid))
+ if (inferior_ptid != null_ptid)
{
SignalKill (nto_node (), inferior_ptid.pid (), 0, SIGKILL, 0, 0);
close (ctl_fd);
char *data;
ptid_t ptid = regcache->ptid ();
- if (ptid_equal (ptid, null_ptid))
+ if (ptid == null_ptid)
return;
procfs_set_thread (ptid);
/* Set list of signals to be handled in the target. */
void
-nto_procfs_target::pass_signals (int numsigs, unsigned char *pass_signals)
+nto_procfs_target::pass_signals
+ (gdb::array_view<const unsigned char> pass_signals)
{
int signo;
for (signo = 1; signo < NSIG; signo++)
{
int target_signo = gdb_signal_from_host (signo);
- if (target_signo < numsigs && pass_signals[target_signo])
+ if (target_signo < pass_signals.size () && pass_signals[target_signo])
sigdelset (&run.trace, signo);
}
}