gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / linux-nat.h
index ad8fa4d46d5a8a6505a5c15788b806eecb3f31ba..1af9e830c831c056f0492909e9fb51ce98de1285 100644 (file)
@@ -1,6 +1,6 @@
 /* Native debugging support for GNU/Linux (LWP layer).
 
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
+   Copyright (C) 2000-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,6 +17,9 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifndef LINUX_NAT_H
+#define LINUX_NAT_H
+
 #include "nat/linux-nat.h"
 #include "inf-ptrace.h"
 #include "target.h"
@@ -45,7 +48,7 @@ public:
 
   ptid_t wait (ptid_t, struct target_waitstatus *, int) override;
 
-  void pass_signals (int, unsigned char *) override;
+  void pass_signals (gdb::array_view<const unsigned char>) override;
 
   enum target_xfer_status xfer_partial (enum target_object object,
                                        const char *annex,
@@ -61,7 +64,7 @@ public:
 
   void update_thread_list () override;
 
-  const char *pid_to_str (ptid_t) override;
+  std::string pid_to_str (ptid_t) override;
 
   const char *thread_name (struct thread_info *) override;
 
@@ -85,6 +88,7 @@ public:
   bool supports_non_stop () override;
   bool always_non_stop_p () override;
 
+  int async_wait_fd () override;
   void async (int) override;
 
   void close () override;
@@ -129,7 +133,7 @@ public:
 
   void post_attach (int) override;
 
-  int follow_fork (int, int) override;
+  bool follow_fork (bool, bool) override;
 
   std::vector<static_tracepoint_marker>
     static_tracepoint_markers_by_strid (const char *id) override;
@@ -160,6 +164,10 @@ public:
   virtual void low_new_fork (struct lwp_info *parent, pid_t child_pid)
   {}
 
+  /* The method to call, if any, when a new clone event is detected.  */
+  virtual void low_new_clone (struct lwp_info *parent, pid_t child_lwp)
+  {}
+
   /* The method to call, if any, when a process is no longer
      attached.  */
   virtual void low_forget_process (pid_t pid)
@@ -225,7 +233,7 @@ struct lwp_info
 
   /* When 'stopped' is set, this is where the lwp last stopped, with
      decr_pc_after_break already accounted for.  If the LWP is
-     running, and stepping, this is the address at which the lwp was
+     running and stepping, this is the address at which the lwp was
      resumed (that is, it's the previous stop PC).  If the LWP is
      running and not stepping, this is 0.  */
   CORE_ADDR stop_pc;
@@ -234,7 +242,7 @@ struct lwp_info
   int step;
 
   /* The reason the LWP last stopped, if we need to track it
-     (breakpoint, watchpoint, etc.)  */
+     (breakpoint, watchpoint, etc.).  */
   enum target_stop_reason stop_reason;
 
   /* On architectures where it is possible to know the data address of
@@ -322,3 +330,5 @@ void linux_nat_switch_fork (ptid_t new_ptid);
    Return 1 if it was retrieved successfully, 0 otherwise (*SIGINFO is
    uninitialized in such case).  */
 int linux_nat_get_siginfo (ptid_t ptid, siginfo_t *siginfo);
+
+#endif /* LINUX_NAT_H */
This page took 0.031611 seconds and 4 git commands to generate.