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 51E0D3947417 for ; Wed, 18 Mar 2020 23:31:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 51E0D3947417 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=1584574296; bh=B1yBLXZn4vXqpx6my54FxcTS2v/CnMrC45P96ZbmAZI=; h=X-UI-Sender-Class:To:Cc:References:From:Subject:Date:In-Reply-To; b=UjVVrAmA388RySNp49N40emEQBJ3K6LsevnadhlZruO/u9dF3OKRx684NT1/xCdz+ s+lrGu1UEmnbtFNj1S9LwjB3/Vpuvuc3qHsWY9ta2bXU2HWgIF0oyvicNHgJbikuAJ OiGwCL2POWsnMcj4HzaU8lL+8BknFrNZKIwRKYqU= 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 1M5QFB-1jG54X2Lun-001OCW; Thu, 19 Mar 2020 00:31:36 +0100 To: Simon Marchi , gdb-patches@sourceware.org Cc: tom@tromey.com References: <20200318214934.24306-1-n54@gmx.com> <20200318215531.25248-1-n54@gmx.com> <1d5be028-c95c-a04c-a6b5-67984dae17f3@simark.ca> From: Kamil Rytarowski Autocrypt: addr=n54@gmx.com; prefer-encrypt=mutual; keydata= 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 4XSbcg== Subject: Re: [PATCH v2] Disable get_ptrace_pid for NetBSD Message-ID: <39304a62-f90b-9f69-b776-e40ea812f5e3@gmx.com> Date: Thu, 19 Mar 2020 00:30:18 +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: <1d5be028-c95c-a04c-a6b5-67984dae17f3@simark.ca> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ay3y4fFwNQ9uUG8fGxx8YH5vsV7OnljpE" X-Provags-ID: V03:K1:5dTv7IM7cg5VkxJ8WvrgWfnSoRGrHmXpXNHkq9Bq3tVzaHgtZVj 6kVJxT0yczCah9FsMaQhzTZ7gm4+Eh4AOd/9PlT1TXgVLGt7AMLxlYq6JjZRmau5KUD29+m 9FANBK2RmaxnOVS1yo3kku2AjtAmrifJ5c/tXKBKAvTkpAT4ZRqLvacxlaPorqBN9HnnVF5 jEb+c3WnOL7mqNvI8mR1w== X-UI-Out-Filterresults: notjunk:1;V03:K0:c6SyK19bCBg=:tMM6wEejdc2uda4/JKamJl g/+Ij4gweT5KdPDjjgL5+3S5VVBzBYENfCsZ9iXVp6IHHmCZGguBHSNULrY4/IZKCYloY5iWx FHMPbEJ518JixyGAHCPDpsdcCMLXheJXYyJwVpW5ar0JsyQDzTTUNTklqMkV7HMXduKDVcLPa Wh69hSqvYIZN/PwfqzRd+f+nixcBJnU3bjo5MeEein+zG4vnqrArmwYB6S8AXDNuglcfo2nZz 1ffxSdVpSN7ecK0lIqe8NQ+4RYKiUPjt2RKgZY3YNUvUYjJCwp7ksrHQnyPAPYkcDzCM3Xb+C VKcPBS0C7zTccrPJXIGrL+rZOP2fjnJBYLvc9zAfWpRaqp5+GyKpa1GB1IiJvi0IZZCZGGwj4 YcUy/TL7Rej1vsD8zqGgxYTbnMImcW6SQb5YKyxRLGPjR9HCHKSxeMFQJ1oWatUPKxSrPFjuA HWccpH/evF9DfXWb4tUjswQJ4g5HlkywdszNykb+yJGSCI54KO1glCqFpdb3eTul0+jPkadX8 eu3E321y2VfQdTtJ6jy3MzKmuyggMC6EKDKAGavvX0TXRJUpg7jWrGt/Buyea+LBexvQHGhpx d38DJzxE8b6EZ7LnBSNY9kJClO68t5OMCwsqisj3CjNq/sR0XYdtv8rcQKrDrSwMKLZ3ozwcQ xba+EIIcuciwrphwqnIC1ADQU8OpvE+cUXasR5xgqifx8IEemYN4mU87hF1TRVeGjksL3/MYd a4Kw7GzPpwbZBEbQ0besYSmVnEcu76C+yAJNmhtgx6IC3BigOQYUK8oyhBx/ay8ooaTIYFRL/ 5fI+fYJxejE9X60aBvLNChB8Nr+P/1+xs9w1BZEBjm87T150+yYI5FikV3PBsZc3x68zOESxe nouJBbAzZjXhwn3ZiELnf+CmPnZ13iceLLPf5crmyLNFRihQZFlo6ZlkZ6S21z8Z7eQHytueN EIk1xJtFrkZlw08jLtXQ3zWIKQTJOGv6lUdfH4coU118RLMFvUhNJSJ+2Zjw9RhQYBbAxuSyy Ktxsw7i5WB2MD904+KNIqE78amBw+aU8XcgLORmPooGqd0SaVUpB8WnYRefu3NKjs+vBFPTlU IQUN3M8RLYeeA8gvAU9SsKAyV8kIVsbGDvmJLMoMmMKAawkWdTvevL9AIyPCyyT3+WWbckhdT XA/S+kcMjrjgFirVtDHkpEAa00MKUcMoFQoturY0X2oj+KMpsqVvnlx2SLEbtmxwUxWSo= X-Spam-Status: No, score=-0.4 required=5.0 tests=DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, 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 23:31:53 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --ay3y4fFwNQ9uUG8fGxx8YH5vsV7OnljpE Content-Type: multipart/mixed; boundary="aGhlNu3kPnJPXgX40zB0gX2X9ano7jQQv"; protected-headers="v1" From: Kamil Rytarowski To: Simon Marchi , gdb-patches@sourceware.org Cc: tom@tromey.com Message-ID: <39304a62-f90b-9f69-b776-e40ea812f5e3@gmx.com> Subject: Re: [PATCH v2] Disable get_ptrace_pid for NetBSD References: <20200318214934.24306-1-n54@gmx.com> <20200318215531.25248-1-n54@gmx.com> <1d5be028-c95c-a04c-a6b5-67984dae17f3@simark.ca> In-Reply-To: <1d5be028-c95c-a04c-a6b5-67984dae17f3@simark.ca> --aGhlNu3kPnJPXgX40zB0gX2X9ano7jQQv Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 18.03.2020 23:21, Simon Marchi wrote: > On 2020-03-18 5:55 p.m., Kamil Rytarowski wrote: >> @@ -313,8 +325,12 @@ inf_ptrace_target::kill () >> target_mourn_inferior (inferior_ptid); >> } >> >> +#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 lw= p >> + and avoids this function. */ >=20 > To align this function with our current way of documenting functions, p= lease move > this comment to the declaration of get_ptrace_pid, in inf-ptrace.h, and= put this here: >=20 > /* See inf-ptrace.h. */ >=20 Done. >> >> 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 >> >> /* 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 sig= nal) >> { >> - pid_t pid; >> int request; >> >> 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 > I'm not certain about this part (which I suggested). With the existing= code, > if inferior_ptid is {pid=3D10, lwp=3D20}, we'll call ptrace with pid=3D= 10. With the > patch, we'll call ptrace with pid=3D20. >=20 > I'm not entirely sure if/when resume can be called with ptid =3D=3D min= us_one_ptid. > And if it's called with minus_one_ptid, is it possible that ptid.pid !=3D= ptid.lwp? >=20 > In any case, it's probably safer to do: >=20 > ptid =3D ptid_t (inferior_ptid.pid ()); >=20 > to retain the existing behavior. WDYT? >=20 It's OK. >> >> if (catch_syscall_enabled () > 0) >> request =3D PT_SYSCALL; >> @@ -365,7 +379,7 @@ inf_ptrace_target::resume (ptid_t ptid, int step, = enum 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 (sign= al)); >> + 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_objec= t 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; >> >> switch (object) >> { >> @@ -552,7 +566,7 @@ inf_ptrace_target::xfer_partial (enum target_objec= t object, >> piod.piod_len =3D len; >> >> 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; >> @@ -565,7 +579,7 @@ inf_ptrace_target::xfer_partial (enum target_objec= t object, >> return TARGET_XFER_EOF; >> } >> #endif >> - *xfered_len =3D inf_ptrace_peek_poke (pid, readbuf, writebuf, >> + *xfered_len =3D inf_ptrace_peek_poke (ptid.pid (), readbuf, wri= tebuf, >> offset, len); >> return *xfered_len !=3D 0 ? TARGET_XFER_OK : TARGET_XFER_EOF; >=20 > I'm pretty sure that this change is not right. For non-NetBSD targets,= this > used to pass `inferior_ptid.lwp` (the result of get_ptrace_pid). Now, = we pass > `inferior_ptid.pid`. >=20 OK. > I think you'll need to pass the ptid to inf_ptrace_peek_poke and use gd= b_ptrace > inside that function too. >=20 Done. > Simon >=20 --aGhlNu3kPnJPXgX40zB0gX2X9ano7jQQv-- --ay3y4fFwNQ9uUG8fGxx8YH5vsV7OnljpE Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEELaxVpweEzw+lMDwuS7MI6bAudmwFAl5yrwsACgkQS7MI6bAu dmyi2BAApi7d3AJp74Pu77E118hqF6sRPeXuGRwzhOUae9TvvaC+DOXyRQq7e1L2 fOhR69YEAohJ8hrdHxzApUlO+SCMAm1a2SDeHhctn19jqV1qXPpVrXfCKZtV3QwH t9GaLk6j0T/GBIs5VQiZhGgPWSw8lg2OgPWIO0fl9SKQkUIpFn+rboagrjtctb+6 f2mT921m2Al8xH0bsxDsjs72w7FwjWTjIFbpEfFn6tekU+ggV7eYyfPldRfTsL1y IyAemk7SRJsb6oV2HrXtc1SAFgUovtU4SZ73zU6ZwpkUFYJWtDeMVaV4X1z5wLs6 mtB6Le8H/ztVKkEKVT/jSftUQD2RC/txhxEICMgYFvESC+KpSnkxEwTCSCuSeAB/ VSDmi+AiSB/x0vYYWfk70DA9TBndpR7wkL2+0KmjZ8WuQu4geLwpZbSIyTRLmQ18 +8NoFWE4lFgI63PRZPOy3UzcFGzjS21Ac9PghdRs4UL6/nHyCPs8HEn5nbrF1j5f hLIHyE8dZU5giEt3GFPfXvkVPATjIv7Fgup+venLEVUOQ3W5JStkjxPWUXxCvCkZ fCYS25nGvorzVJEwukpil/Vv+b9JUZJQ7FrArejqhTSfVfPiftZOg5f2zWXlYvzw Sa3BFgkZEQzgAkELqOC/ljfDtHj1dGhr6ML58oq6TFSAy0Y0YFI= =aAb/ -----END PGP SIGNATURE----- --ay3y4fFwNQ9uUG8fGxx8YH5vsV7OnljpE--