From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by sourceware.org (Postfix) with ESMTPS id 71DBE3945042 for ; Wed, 18 Mar 2020 21:52:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 71DBE3945042 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gmx.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=n54@gmx.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1584568339; bh=ji2sE4c8rblh68381kjinNKzuvK8ueKR15xiTsOXKoI=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=G134iNUNV6/N45CesgLA8jtz5ZHiQ7VQkkBXjBYvWSpRZFu2ijcOzy7oe9ze9GLrm 0TAyF8IqidZGxe3JCgvOkJIO1TvalnDJ7kAiLo9uQVdNgPCF6iacUkblBLLuekKjkt rmzklGWwCFtn0i5T3msOvZN96iSB2yPaA78rhjHA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.0.241] ([89.79.191.25]) by mail.gmx.com (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1Mwfac-1jTRZR0Hda-00yAYg; Wed, 18 Mar 2020 22:52:19 +0100 Subject: Re: [PATCH] Disable get_ptrace_pid for NetBSD To: gdb-patches@sourceware.org Cc: tom@tromey.com, "gdb-patches@sourceware.org >> gdb-patches" References: <20200318214934.24306-1-n54@gmx.com> From: Kamil Rytarowski Autocrypt: addr=n54@gmx.com; prefer-encrypt=mutual; keydata= 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 4XSbcg== Message-ID: <398c7dcf-03d5-52d3-c257-3ff4a4748389@gmx.com> Date: Wed, 18 Mar 2020 22:51:09 +0100 User-Agent: Mozilla/5.0 (X11; NetBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <20200318214934.24306-1-n54@gmx.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="OiAuFWR208SAMwQkPMmGZ8xANJUvxJqMe" X-Provags-ID: V03:K1:0/DyZl05ZR3naCcgnX6UNuvVLNuJn5GA61JiYehcZA/wwYYGaem ks7weVUqgus6ZqHHDna4YPC7FWqQBKBumrzyYTyA2bT/0dJO1QSKhWTdKnw589k6B3L7IgW uFDBGdt+uh4ecWaurgLE5ZSc5MIhrBzLRWhiiVebt4YxJUgElztYxlYekeIUSy86sJl2B3s 3BmQFUgYoGGl0q17eCe7Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:CvZghYapsPQ=:LZwEG12VTt97ZbO3bu6dEI YVrYwIr2wWE8Jf+doesVQcQ5vSLrgN0WA/PGOK3Q/IlHuNmigoU93/rmO43S2FsJS7LtzWfLA Dfz5ZgH7+bYF5qB+aqL/SmnXAYNP0xMCf1wl5p9p3bPY4eYmZoq+zbYEzpzuDjF6xZXwwbpEx iEtsEJjM709H6RIUXJoJtHE/s+55dX9AvOtefPzYj5dc+qGSCbrOHwLpanOUkDbqgr8d/gjoD QesIbol4AZaio0qLBhBVSCrqPDEPohApEVvX7a42rpKU1nX+qKwUqghxkNQso3ZCtjr6Q1UOg PM3NIWp63c5YGKZT7H3j05jwHOHJCe6a2ph1KFqA0VJVTuUU5ZVDhzjJwHRlb6PY2+3/8QqRg 0GttcjbG3+88DfclAvKzUlRBnsUnUoM+gTGLnRKcFj4VSh67HPRluCWyi6ZCIRBAN0M0iBmxB thjCO0cUxMCgoksakCS73poemjy76hyG3yFerVFHYeGqiM5yZCFLj5mv0b0G5uaaEqUxO+j8Q +ZlaQm4jovuDNCxDkD1+Zg3oGxTfxDHUAmK3ENWtPb0zyOoXUOvMQYBVBcajb+8B/PEwTJCf7 HVQdxpM9gxDhYM10a6+95GDSBdB+pIqaUpg5i+D3LT2NdkeXmq/gNEaeh9r3CKg0JLVhvPeSF hw160OZiWygrb085DDoRXIGr5zWvK4EcRRVKBgrNnLT618ue4/QYclw35kxyJmkEeSMRvqD3y qVJ39M/OiyCLFA7dj419lnu8IorZigVL0ynU68kuYRgxNqmNnuZporAKUkTkV3jdnkMISwHYd HYxXO5ja/3H7EDoDP2cn75rzix8ibJYPCSyIiUIulMN0kDRaF8KQGP6pP5wHfWsfes9sj3oQI x9cNGX9+cjGZLD0RrsrY/OAjFB64wWrrEPEfX7hNByWMhcgxV8g/ucTZlbUrzGTRVdU3bqF3e YJZiRem935JIQYowHIpJlwUOucVxKe4UNyx5wr4IF9kz0FhXyhc0zN4k41L/OZtVAATe+Y9uu 3Smo0+DZ3lZiVtHIq6bs7OhGrDoPN8VwIdVkiVMwoV2zeGWcjMxOiK7u9fCfIzjaTGhb4dFFU IPwkPoYEB9URVTkkKrSfKiYD2hvhFyTYkjFVA/sz2WNyE54SnC11p/Q1KO4miQFsse7g0CNeU 6+/NucYU1KvtOdYpIMmgF/SfboDYztscYaBNZECzS1WslDduIJaZfk9V9JZfd/RGUUDI0= X-Spam-Status: No, score=-25.4 required=5.0 tests=DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:52:35 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --OiAuFWR208SAMwQkPMmGZ8xANJUvxJqMe Content-Type: multipart/mixed; boundary="O1JmyGaIHxNW5bs5iwhYdiNg7xqtpIBkM"; protected-headers="v1" From: Kamil Rytarowski To: gdb-patches@sourceware.org Cc: tom@tromey.com, "gdb-patches@sourceware.org >> gdb-patches" Message-ID: <398c7dcf-03d5-52d3-c257-3ff4a4748389@gmx.com> Subject: Re: [PATCH] Disable get_ptrace_pid for NetBSD References: <20200318214934.24306-1-n54@gmx.com> In-Reply-To: <20200318214934.24306-1-n54@gmx.com> --O1JmyGaIHxNW5bs5iwhYdiNg7xqtpIBkM Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 18.03.2020 22:49, Kamil Rytarowski wrote: > Unlike most other Operating Systems, NetBSD tracks both pid and lwp. > The process id on NetBSD is stored always in the pid field of ptid. >=20 There is is one bug. I'm going to fix and submit a new version. > gdb/ChangeLog: >=20 > * inf-ptrace.h: Disable get_ptrace_pid on NetBSD. > * inf-ptrace.c: Likewise. > * (gdb_ptrace): Add. > * (inf_ptrace_target::resume): Update. > * (inf_ptrace_target::xfer_partial): Likewise. > --- > gdb/ChangeLog | 8 ++++++++ > gdb/inf-ptrace.c | 32 +++++++++++++++++++++++--------- > gdb/inf-ptrace.h | 2 ++ > 3 files changed, 33 insertions(+), 9 deletions(-) >=20 > diff --git a/gdb/ChangeLog b/gdb/ChangeLog > index 84964dc00ac..406414cee76 100644 > --- a/gdb/ChangeLog > +++ b/gdb/ChangeLog > @@ -1,3 +1,11 @@ > +2020-03-18 Kamil Rytarowski > + > + * inf-ptrace.h: Disable get_ptrace_pid on NetBSD. > + * inf-ptrace.c: Likewise. > + * (gdb_ptrace): Add. > + * (inf_ptrace_target::resume): Update. > + * (inf_ptrace_target::xfer_partial): Likewise. > + > 2020-03-17 Kamil Rytarowski >=20 > * regformats/regdef.h: Put reg in gdb namespace. > diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c > index db17a76d946..304a749f3f3 100644 > --- a/gdb/inf-ptrace.c > +++ b/gdb/inf-ptrace.c > @@ -37,6 +37,18 @@ >=20 > =0C >=20 > +static int > +gdb_ptrace (PTRACE_TYPE_ARG1 request, ptid_t ptid, PTRACE_TYPE_ARG3 ad= dr, > + PTRACE_TYPE_ARG4 data) > +{ > +#ifdef __NetBSD__ > + return ptrace (request, ptid.pid (), addr, data); > +#else > + pid_t pid =3D get_ptrace_pid (ptid); > + return ptrace (request, pid, addr, data); > +#endif > +} > + > /* A unique_ptr helper to unpush a target. */ >=20 > struct target_unpusher > @@ -313,8 +325,12 @@ inf_ptrace_target::kill () > target_mourn_inferior (inferior_ptid); > } >=20 > +#ifndef __NetBSD__ > /* Return which PID to pass to ptrace in order to observe/control the > - tracee identified by PTID. */ > + tracee identified by PTID. > + > + Unlike most other Operating Systems, NetBSD tracks both pid and lwp= > + and avoids this function. */ >=20 > pid_t > get_ptrace_pid (ptid_t ptid) > @@ -328,6 +344,7 @@ get_ptrace_pid (ptid_t ptid) > pid =3D ptid.pid (); > return pid; > } > +#endif >=20 > /* Resume execution of thread PTID, or all threads if PTID is -1. If > STEP is nonzero, single-step it. If SIGNAL is nonzero, give it > @@ -336,15 +353,12 @@ get_ptrace_pid (ptid_t ptid) > void > inf_ptrace_target::resume (ptid_t ptid, int step, enum gdb_signal sign= al) > { > - pid_t pid; > int request; >=20 > if (minus_one_ptid =3D=3D ptid) > /* Resume all threads. Traditionally ptrace() only supports > single-threaded processes, so simply resume the inferior. */ > - pid =3D inferior_ptid.pid (); > - else > - pid =3D get_ptrace_pid (ptid); > + ptid =3D inferior_ptid; >=20 > if (catch_syscall_enabled () > 0) > request =3D PT_SYSCALL; > @@ -365,7 +379,7 @@ inf_ptrace_target::resume (ptid_t ptid, int step, e= num gdb_signal signal) > where it was. If GDB wanted it to start some other way, we have > already written a new program counter value to the child. */ > errno =3D 0; > - ptrace (request, pid, (PTRACE_TYPE_ARG3)1, gdb_signal_to_host (signa= l)); > + gdb_ptrace (request, ptid, (PTRACE_TYPE_ARG3)1, gdb_signal_to_host (= signal)); > if (errno !=3D 0) > perror_with_name (("ptrace")); > } > @@ -528,7 +542,7 @@ inf_ptrace_target::xfer_partial (enum target_object= object, > const gdb_byte *writebuf, > ULONGEST offset, ULONGEST len, ULONGEST *xfered_len) > { > - pid_t pid =3D get_ptrace_pid (inferior_ptid); > + ptid_t ptid =3D inferior_ptid; >=20 > switch (object) > { > @@ -552,7 +566,7 @@ inf_ptrace_target::xfer_partial (enum target_object= object, > piod.piod_len =3D len; >=20 > errno =3D 0; > - if (ptrace (PT_IO, pid, (caddr_t)&piod, 0) =3D=3D 0) > + if (gdb_ptrace (PT_IO, ptid, (caddr_t)&piod, 0) =3D=3D 0) > { > /* Return the actual number of bytes read or written. */ > *xfered_len =3D piod.piod_len; > @@ -588,7 +602,7 @@ inf_ptrace_target::xfer_partial (enum target_object= object, > piod.piod_len =3D len; >=20 > errno =3D 0; > - if (ptrace (PT_IO, pid, (caddr_t)&piod, 0) =3D=3D 0) > + if (gdb_ptrace (PT_IO, ptid, (caddr_t)&piod, 0) =3D=3D 0) > { > /* Return the actual number of bytes read or written. */ > *xfered_len =3D piod.piod_len; > diff --git a/gdb/inf-ptrace.h b/gdb/inf-ptrace.h > index dd0733736f2..340d41d8beb 100644 > --- a/gdb/inf-ptrace.h > +++ b/gdb/inf-ptrace.h > @@ -78,9 +78,11 @@ struct inf_ptrace_target : public inf_child_target > void detach_success (inferior *inf); > }; >=20 > +#ifndef __NetBSD__ > /* Return which PID to pass to ptrace in order to observe/control the > tracee identified by PTID. */ >=20 > extern pid_t get_ptrace_pid (ptid_t); > +#endif >=20 > #endif > -- > 2.25.0 >=20 --O1JmyGaIHxNW5bs5iwhYdiNg7xqtpIBkM-- --OiAuFWR208SAMwQkPMmGZ8xANJUvxJqMe Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEELaxVpweEzw+lMDwuS7MI6bAudmwFAl5yl80ACgkQS7MI6bAu dmwbTw//dJva80t1fkrE+r8RYxVWooysz8Rz3TWHIWh7e/v6mmgNu/mD+z2rDZFh phvm8BpVEnuLBVmWN/u/znNJ3E07QZN6Fi1xNEzGC2DFD+lh7ukc6owBopThlE8J Uy8KwEfBJ53aLsFgZ4XWOCtrKboqL80O1ePZaGYAupJBP3U7/RRTh7J1VyI02XVb lk+kobPsvO9wH/T/Ains3YESjcBNhftJ4a1O8vZT3p9xo3p8aEuMnNbARB+c1Q9O xOxUhZaa7sNh8QyvzLdvvT04Fe3qPDhyE5lRE6BCI4xHv4nARyRF5XQoLSvEFOlT VWYebd1BRMn2lpHKxGc3KLwx6abay07FyjKBiY+IxdqguWzyXN8mHCKFYW2t/G9i HvqV1DaIyK6ocOez2MfeFHWM/fBGBxv4Ej9LvQmDBXG2e/D1z2MjMcOBQ+eG1CUe Y8iNbIReQ/8hqp6DO1vIPsEblhnQwq90Qg/doMTLeFppbmSa9y1HxfBFd51REaIc DqTnRDjNhOp+BWlf2I2q/BSKBX4+FgMvnakoZyLUlyXOtfCmntCsxq00iJldtoz7 EBAvqHij63EcwHuCNlrCo62uDD3QIA9qOTneBeOQnppC7ff93V6oJWqaDqvPinE+ jUuInSYJ08Ghn/Sv34Lg3DBzsOjPkkdOK3IHn3mYa2A0VzBcdgc= =oNl7 -----END PGP SIGNATURE----- --OiAuFWR208SAMwQkPMmGZ8xANJUvxJqMe--