diff options
author | Don Breazeal <donb@codesourcery.com> | 2014-09-30 11:01:57 -0700 |
---|---|---|
committer | Don Breazeal <donb@codesourcery.com> | 2014-09-30 11:01:57 -0700 |
commit | d83ad864a285fe3127e1a98830197e8461ad2745 (patch) | |
tree | 17fc116484b87e08c0a992063513490208c3e1ef /gdb/infrun.h | |
parent | 63b434a4374b61aa34b095a789cd0d03b2a5a526 (diff) | |
download | gdb-d83ad864a285fe3127e1a98830197e8461ad2745.zip gdb-d83ad864a285fe3127e1a98830197e8461ad2745.tar.gz gdb-d83ad864a285fe3127e1a98830197e8461ad2745.tar.bz2 |
Refactor native follow-fork.
This patch reorganizes the code that implements follow-fork and
detach-on-fork in preparation for implementation of those features for the
extended-remote target. The function linux-nat.c:linux_child_follow_fork
contained target-independent code mixed in with target-dependent code. The
target-independent pieces need to be accessible for the host-side
implementation of follow-fork for extended-remote Linux targets.
The changes are fairly mechanical. A new routine, follow_fork_inferior,
is implemented in infrun.c, containing those parts of
linux_child_follow_fork that manage inferiors and the inferior list. The
parts of linux_child_follow_fork that deal with LWPs and target-specifics
were left in-place. Although the order of some operations was changed, the
resulting functionality was not.
Modifications were made to the other native target follow-fork functions,
inf_ttrace_follow_fork and inf_ptrace_follow_fork, that should allow them
to work with follow_fork_inferior. Some other adjustments were necessary
in inf-ttrace.c. The changes to inf-ttrace.c and inf-ptrace.c were not
tested.
gdb/ChangeLog:
* inf-ptrace.c (inf_ptrace_follow_fork): Remove target-independent
code so as to work with follow_fork_inferior.
* inf-ttrace.c (inf_ttrace_follow_fork): Ditto.
(inf_ttrace_create_inferior): Remove reference to
inf_ttrace_vfork_ppid.
(inf_ttrace_attach): Ditto.
(inf_ttrace_detach): Ditto.
(inf_ttrace_kill): Use current_inferior instead of
inf_ttrace_vfork_ppid.
(inf_ttrace_wait): Eliminate use of inf_ttrace_vfork_ppid, report
TARGET_WAITKIND_VFORK_DONE event, delete HACK that switched the
inferior away from the parent.
* infrun.c (follow_fork): Call follow_fork_inferior instead of
target_follow_fork.
(follow_fork_inferior): New function.
(follow_inferior_reset_breakpoints): Make function static.
* infrun.h (follow_inferior_reset_breakpoints): Remove declaration.
* linux-nat.c (linux_child_follow_fork): Move target-independent
code to infrun.c:follow_fork_inferior.
Diffstat (limited to 'gdb/infrun.h')
-rw-r--r-- | gdb/infrun.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/gdb/infrun.h b/gdb/infrun.h index cc9cb33..fb6276b 100644 --- a/gdb/infrun.h +++ b/gdb/infrun.h @@ -115,8 +115,6 @@ extern void insert_step_resume_breakpoint_at_sal (struct gdbarch *, struct symtab_and_line , struct frame_id); -extern void follow_inferior_reset_breakpoints (void); - /* Returns true if we're trying to step past the instruction at ADDRESS in ASPACE. */ extern int stepping_past_instruction_at (struct address_space *aspace, |