gdb: pass child_ptid and fork kind to target_ops::follow_fork

This is a small cleanup I think would be nice, that I spotted while
doing the following patch.

gdb/ChangeLog:

	* target.h (struct target_ops) <follow_fork>: Add ptid and
	target_waitkind parameters.
	(target_follow_fork): Likewise.
	* target.c (default_follow_fork): Likewise.
	(target_follow_fork): Likewise.
	* fbsd-nat.h (class fbsd_nat_target) <follow_fork>: Likewise.
	* fbsd-nat.c (fbsd_nat_target::follow_fork): Likewise.
	* linux-nat.h (class linux_nat_target) <follow_fork>: Likewise.
	* linux-nat.c (linux_nat_target::follow_fork): Likewise.
	* obsd-nat.h (class obsd_nat_target) <follow_fork>: Likewise.
	* obsd-nat.c (obsd_nat_target::follow_fork): Likewise.
	* remote.c (class remote_target) <follow_fork>: Likewise.
	* target-debug.h (target_debug_print_target_waitkind): New.
	* target-delegates.c: Re-generate.

Change-Id: I5421a542f2e19100a22b74cc333d2b235d0de3c8
This commit is contained in:
Simon Marchi 2021-05-31 13:00:32 -04:00
parent ff77083572
commit 3a849a3454
12 changed files with 59 additions and 64 deletions

View file

@ -56,7 +56,7 @@ struct dummy_target : public target_ops
int remove_fork_catchpoint (int arg0) override;
int insert_vfork_catchpoint (int arg0) override;
int remove_vfork_catchpoint (int arg0) override;
void follow_fork (bool arg0, bool arg1) override;
void follow_fork (ptid_t arg0, target_waitkind arg1, bool arg2, bool arg3) override;
int insert_exec_catchpoint (int arg0) override;
int remove_exec_catchpoint (int arg0) override;
void follow_exec (inferior *arg0, ptid_t arg1, const char *arg2) override;
@ -231,7 +231,7 @@ struct debug_target : public target_ops
int remove_fork_catchpoint (int arg0) override;
int insert_vfork_catchpoint (int arg0) override;
int remove_vfork_catchpoint (int arg0) override;
void follow_fork (bool arg0, bool arg1) override;
void follow_fork (ptid_t arg0, target_waitkind arg1, bool arg2, bool arg3) override;
int insert_exec_catchpoint (int arg0) override;
int remove_exec_catchpoint (int arg0) override;
void follow_exec (inferior *arg0, ptid_t arg1, const char *arg2) override;
@ -1519,26 +1519,30 @@ debug_target::remove_vfork_catchpoint (int arg0)
}
void
target_ops::follow_fork (bool arg0, bool arg1)
target_ops::follow_fork (ptid_t arg0, target_waitkind arg1, bool arg2, bool arg3)
{
this->beneath ()->follow_fork (arg0, arg1);
this->beneath ()->follow_fork (arg0, arg1, arg2, arg3);
}
void
dummy_target::follow_fork (bool arg0, bool arg1)
dummy_target::follow_fork (ptid_t arg0, target_waitkind arg1, bool arg2, bool arg3)
{
default_follow_fork (this, arg0, arg1);
default_follow_fork (this, arg0, arg1, arg2, arg3);
}
void
debug_target::follow_fork (bool arg0, bool arg1)
debug_target::follow_fork (ptid_t arg0, target_waitkind arg1, bool arg2, bool arg3)
{
fprintf_unfiltered (gdb_stdlog, "-> %s->follow_fork (...)\n", this->beneath ()->shortname ());
this->beneath ()->follow_fork (arg0, arg1);
this->beneath ()->follow_fork (arg0, arg1, arg2, arg3);
fprintf_unfiltered (gdb_stdlog, "<- %s->follow_fork (", this->beneath ()->shortname ());
target_debug_print_bool (arg0);
target_debug_print_ptid_t (arg0);
fputs_unfiltered (", ", gdb_stdlog);
target_debug_print_bool (arg1);
target_debug_print_target_waitkind (arg1);
fputs_unfiltered (", ", gdb_stdlog);
target_debug_print_bool (arg2);
fputs_unfiltered (", ", gdb_stdlog);
target_debug_print_bool (arg3);
fputs_unfiltered (")\n", gdb_stdlog);
}