aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2016-06-24 21:00:04 -0700
committerJohn Baldwin <jhb@FreeBSD.org>2016-07-01 08:35:33 -0700
commit2c5c2a3321706c28cbf1b85a970a2e32912eb0c8 (patch)
tree8bf821a89de943c5fb9718649ce00efbfcc6b5be /gdb/ChangeLog
parent8607ea632c806235554aa2336cf01bf3758c1264 (diff)
downloadgdb-2c5c2a3321706c28cbf1b85a970a2e32912eb0c8.zip
gdb-2c5c2a3321706c28cbf1b85a970a2e32912eb0c8.tar.gz
gdb-2c5c2a3321706c28cbf1b85a970a2e32912eb0c8.tar.bz2
Fake VFORK_DONE events when following only the parent after a vfork.
FreeBSD does not currently report a ptrace event for a parent process after it resumes due to the child exiting the shared memory region after a vfork. Take the same approach used in linux-nat.c in this case of sleeping for a while and then reporting a fake VFORK_DONE event. gdb/ChangeLog: * fbsd-nat.c (struct fbsd_fork_child_info): Rename to ... (struct fbsd_fork_info): ... this. (struct fbsd_fork_info) <child>: Rename to ... (struct fbsd_fork_info) <ptid>: ... this. (fbsd_pending_children): Update type. (fbsd_remember_child): Update type and field name. (fbsd_is_child_pending): Likewise. (fbsd_pending_vfork_done): New variable. (fbsd_is_vfork_done_pending): New function. (fbsd_next_vfork_done): New function. (fbsd_resume): Don't resume processes with a pending vfork done event. (fbsd_wait): Report pending vfork done events. (fbsd_follow_fork): Delay and record a pending vfork done event for a vfork parent when detaching the child.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog18
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1a51fb2..58c9c78 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,23 @@
2016-07-01 John Baldwin <jhb@FreeBSD.org>
+ * fbsd-nat.c (struct fbsd_fork_child_info): Rename to ...
+ (struct fbsd_fork_info): ... this.
+ (struct fbsd_fork_info) <child>: Rename to ...
+ (struct fbsd_fork_info) <ptid>: ... this.
+ (fbsd_pending_children): Update type.
+ (fbsd_remember_child): Update type and field name.
+ (fbsd_is_child_pending): Likewise.
+ (fbsd_pending_vfork_done): New variable.
+ (fbsd_is_vfork_done_pending): New function.
+ (fbsd_next_vfork_done): New function.
+ (fbsd_resume): Don't resume processes with a pending vfork done
+ event.
+ (fbsd_wait): Report pending vfork done events.
+ (fbsd_follow_fork): Delay and record a pending vfork done event
+ for a vfork parent when detaching the child.
+
+2016-07-01 John Baldwin <jhb@FreeBSD.org>
+
* fbsd-nat.c (super_resume): Move earlier next to "super_wait".
(resume_one_thread_cb): Move below fork following helper code.
(resume_all_threads_cb): Likewise.