This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Make "catch fork" work on systems with PT_GET_PROCESS_STATE
- From: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- To: gdb-patches at sourceware dot org
- Date: Wed, 4 Mar 2015 14:32:13 +0100 (CET)
- Subject: [PATCH] Make "catch fork" work on systems with PT_GET_PROCESS_STATE
- Authentication-results: sourceware.org; auth=none
These systems (OpenBSD and HP-UX 10.x) already support follow-fork
including the events needed to for "catch fork". This just makes
the upper layers realize this.
gdb/
2015-03-04 Mark Kettenis <kettenis@gnu.org>
* inf-ptrace.c [PT_GET_PROCESS_STATE]
(inf_ptrace_insert_fork_catchpoint): New function.
(inf_ptrace_remove_fork_catchpoint): New function.
(inf_ptrace_target) [PT_GET_PROCESS_STATE]: Install them.
---
gdb/ChangeLog | 7 +++++++
gdb/inf-ptrace.c | 14 ++++++++++++++
2 files changed, 21 insertions(+)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ed9d355..621b73f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2015-03-04 Mark Kettenis <kettenis@gnu.org>
+
+ * inf-ptrace.c [PT_GET_PROCESS_STATE]
+ (inf_ptrace_insert_fork_catchpoint): New function.
+ (inf_ptrace_remove_fork_catchpoint): New function.
+ (inf_ptrace_target) [PT_GET_PROCESS_STATE]: Install them.
+
2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
* s390-linux-tdep.c (s390_register_name): Return empty string
diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c
index 3502a12..cd58dfb 100644
--- a/gdb/inf-ptrace.c
+++ b/gdb/inf-ptrace.c
@@ -58,6 +58,18 @@ inf_ptrace_follow_fork (struct target_ops *ops, int follow_child,
return 0;
}
+static int
+inf_ptrace_insert_fork_catchpoint (struct target_ops *self, int pid)
+{
+ return 0;
+}
+
+static int
+inf_ptrace_remove_fork_catchpoint (struct target_ops *self, int pid)
+{
+ return 0;
+}
+
#endif /* PT_GET_PROCESS_STATE */
@@ -666,6 +678,8 @@ inf_ptrace_target (void)
t->to_create_inferior = inf_ptrace_create_inferior;
#ifdef PT_GET_PROCESS_STATE
t->to_follow_fork = inf_ptrace_follow_fork;
+ t->to_insert_fork_catchpoint = inf_ptrace_insert_fork_catchpoint;
+ t->to_remove_fork_catchpoint = inf_ptrace_remove_fork_catchpoint;
t->to_post_startup_inferior = inf_ptrace_post_startup_inferior;
t->to_post_attach = inf_ptrace_post_attach;
#endif
--
2.2.1