/* Fork a Unix child process, and set up to debug it, for GDB.
- Copyright (C) 1990-2017 Free Software Foundation, Inc.
+ Copyright (C) 1990-2020 Free Software Foundation, Inc.
Contributed by Cygnus Support.
#include "terminal.h"
#include "gdbthread.h"
#include "top.h"
-#include "job-control.h"
-#include "filestuff.h"
+#include "gdbsupport/job-control.h"
+#include "gdbsupport/filestuff.h"
#include "nat/fork-inferior.h"
-#include "common/common-inferior.h"
+#include "gdbsupport/common-inferior.h"
/* The exec-wrapper, if any, that will be used when starting the
inferior. */
static char *exec_wrapper = NULL;
-/* See common/common-inferior.h. */
+/* See gdbsupport/common-inferior.h. */
const char *
get_exec_wrapper ()
void
postfork_hook (pid_t pid)
{
- struct inferior *inf;
-
- if (!have_inferiors ())
- init_thread_list ();
-
- inf = current_inferior ();
+ inferior *inf = current_inferior ();
inferior_appeared (inf, pid);
/* Needed for wait_for_inferior stuff. */
- inferior_ptid = pid_to_ptid (pid);
+ inferior_ptid = ptid_t (pid);
gdb_assert (saved_ui != NULL);
current_ui = saved_ui;
ptid_t
gdb_startup_inferior (pid_t pid, int num_traps)
{
- ptid_t ptid = startup_inferior (pid, num_traps, NULL, NULL);
+ inferior *inf = current_inferior ();
+ process_stratum_target *proc_target = inf->process_target ();
+
+ ptid_t ptid = startup_inferior (proc_target, pid, num_traps, NULL, NULL);
/* Mark all threads non-executing. */
- set_executing (ptid, 0);
+ set_executing (proc_target, ptid, false);
return ptid;
}
/* Implement the "unset exec-wrapper" command. */
static void
-unset_exec_wrapper_command (char *args, int from_tty)
+unset_exec_wrapper_command (const char *args, int from_tty)
{
xfree (exec_wrapper);
exec_wrapper = NULL;
value);
}
+void _initialize_fork_child ();
void
-_initialize_fork_child (void)
+_initialize_fork_child ()
{
add_setshow_filename_cmd ("exec-wrapper", class_run, &exec_wrapper, _("\
Set a wrapper for running programs.\n\