Re: [PATCH 16/28] Don't write to inferior_ptid in darwin-nat.c

Simon Marchi
2020-04-16T01:33:34Z

On 2020-04-14 1:54 p.m., Pedro Alves via Gdb-patches wrote:
> Untested.
>
> gdb/ChangeLog:
> yyyy-mm-dd Pedro Alves <palves@redhat.com>
>
> * darwin-nat.c (darwin_nat_target::decode_message): Don't write to
> inferior_ptid.
> (darwin_nat_target::stop_inferior, darwin_nat_target::kill): Avoid
> inferior_ptid.
> (darwin_attach_pid): Use switch_to_no_thread instead of writing to
> inferior_ptid directly.
> (darwin_nat_target::init_thread_list): Switch to thread, instead
> of writing to inferior_ptid.
> (darwin_nat_target::attach): Don't write to inferior_ptid.
> (darwin_nat_target::get_ada_task_ptid): Avoid inferior_ptid.
> ---
> gdb/darwin-nat.c | 16 +++++++---------
> 1 file changed, 7 insertions(+), 9 deletions(-)

I tried to build it, here's a small patch to fix some typos. It would be good to
check the other patches that you were not able to build for that pid_t/ptid_t typo.

diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index aacd40ba6f..367db9c1fe 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -1431,7 +1431,7 @@ darwin_nat_target::stop_inferior (inferior *inf)
/* Wait until the process is really stopped. */
while (1)
{
- ptid = wait_1 (pid_t (inf->pid), &wstatus);
+ ptid = wait_1 (ptid_t (inf->pid), &wstatus);
if (wstatus.kind == TARGET_WAITKIND_STOPPED
&& wstatus.value.sig == GDB_SIGNAL_STOP)
break;
@@ -1556,13 +1556,13 @@ darwin_nat_target::kill ()

darwin_resume_inferior (inf);

- ptid = wait_1 (pid_t (inf->pid), &wstatus);
+ ptid = wait_1 (ptid_t (inf->pid), &wstatus);
}
else if (errno != ESRCH)
warning (_("Failed to kill inferior: kill (%d, 9) returned [%s]"),
inf->pid, safe_strerror (errno));

- target_mourn_inferior (pid_t (inf->pid));
+ target_mourn_inferior (ptid_t (inf->pid));
}

static void