From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by sourceware.org (Postfix) with ESMTPS id F115C3972029 for ; Wed, 2 Sep 2020 18:00:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F115C3972029 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=1599069610; bh=gU/ZioWK4InCTPzniN+uaVGL/sYlRMyXpREvmm79v2s=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=UgONSKTVAEnU1u9t8L4GIPnuJCt6IOJzZLDAA8ZcyXw3+wLPR8OeKeAzgdu8P6HUL 9Lwx+Nv7HZXSadwOFh8cJbUarNPpjmg+bJid+obAogajJOasuLs8CcZdruqHoHFN0C uC9c+MpV1sXKqpNspSyFFVrJ0ujycH/ecIids4Yw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([89.79.191.25]) by mail.gmx.com (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MmULx-1kv9KN1kf3-00iWKI; Wed, 02 Sep 2020 20:00:10 +0200 From: Kamil Rytarowski To: gdb-patches@sourceware.org Subject: [PATCH 07/10] Add a common utility function to read and write siginfo_t in inferior Date: Wed, 2 Sep 2020 19:59:23 +0200 Message-Id: <20200902175926.13182-8-n54@gmx.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200902175926.13182-1-n54@gmx.com> References: <20200902175926.13182-1-n54@gmx.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:0TkOZ5U9CqSndm/t3f9R9AwjrOTKyi+RDGHiJE3vcaazpocol7G HGrloawE4rbVig7IKRHlW+krv7npneE8eXt/GTS6mc/JwUoYZA0hcT4C38cIrDBRn+7zN7g i7Kzazku51J6IMRzHCuGcBHrQxJ64pWtG4t1qUiRVxadmJ5WSykb3+FM7T3yCouTXUI9xu1 /UWuVPf9ELnP2nXzXlIwQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:q3WGmjH1+rg=:Wf+kGk0O3rfFIfyzCKyAvS xJq/HeUVhHi+Qo+BWoPuI85WV9YgHQsVDsfafAJuLKlFM78lRJ0CM+I2XIMTU6UxbSQmBOepV NIlHsf1EJU0Lxc4KOO905SZk/U1NTj4NtnJXN6ylo1B1GPxnVwWKPtCf5ZoQ/4wu9nFy+V+es ujvx0A9G7ka0xXzsq3qgXyegQa1tzvoALMWGiAUkpL7iXYzAWskAW6b8CnP4ZtqLWqrwN8oKp AhjTXwbprG9Sv6UTyT8JGiHTMlzU3rXnalvfN0SiRmlIeo1Z7kpzTwynCf8kxbOmbv+4IV9+l hEpsWNZtZtyN5PtqnGZ0w2ufjeZx2YVYeff8Yw1mIJJovrBvDVbZ2/y+UvaXszpOI3dRH5dnD N/YVjTTf9x6QWk0a47BHEoe6TPxmalzRZzKtp1JbRUpsBm4ku7m69hjE+ucKEJXhR5H6yU7/6 dpt1vT+6zCNJT1ucry/Nc9By2fEe1bAn69KnuZmMWxKPJx2mRFlI1zDbSEdDnIxMnLt+F08pQ bwLftX5gGc5414k164ej2HFcPAnBQ+vq6E6I1jGUK3j0iteDAXiEj09xooPe94wHI2mnBoF6n k8OaKQiS7bW9QnByxYi5+PxRVQnG/EkhwIPLJHn4T8eRJ4WX5gQuGoeTCKHPjn54T7Px+VJ8r 4TVnfyZgmrK2UAmKeKHVkkSf9CYf1yLMoCYI16kUSXcmrOvHCmAk7QGW9eL/Bc5sReQGtaFKY L7KLINA+Cv++tE1t7O9bHlEYRpTixVGSj/VBHbP1o3dKNU7eTRTqEa+8fPTjSccXBCFPbg8J6 NQl4yhgIlvo1xhkzp23izMSpC0whghFiWf6a41fTexc3HAQ4v8JrobTtWNF33CZg0iMeL4N/X AggE2SZnk316AuUytZ1J4lfbLWnW4igHN2+yISz256YOtU3bh3PB0elObv2Xm2wKr2MkXoL84 o3Quybt0yWa/hddiRaJRb5mNREnGhAClrd1k1SI67FyrMptPUm8FN2mdOKEmb90YWQTHoyvt5 +vrndDL4rQXjlcHbHilgxe7nvRb4kBz4OXVLslQ7zUYTDCzrDCvrWxTzJKHsKgZCLI6b2foDX AuPCjyI2FY2oruUN1uZLGi76CKk3bmUQowp31UKei/4SbMqWcPjEZPnZoFFg8RBcZc4U2oZdv VUeJcYV9AuA4QTaNe+sgxaLPtwGEQZV4WTknHFaJeBXDyL4PDHz2v92jMbS4rwUPqTAg/XZ+B iDlyQlAla0D0rU3Gr X-Spam-Status: No, score=-17.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP 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, 02 Sep 2020 18:00:14 -0000 gdb/ChangeLog: * netbsd-nat.h (netbsd_nat::qxfer_siginfo): Add. * netbsd-nat.c (netbsd_nat::qxfer_siginfo): Likewise. =2D-- gdb/ChangeLog | 5 +++++ gdb/nat/netbsd-nat.c | 30 ++++++++++++++++++++++++++++++ gdb/nat/netbsd-nat.h | 4 ++++ 3 files changed, 39 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 06d3476c137..1dcf5d0ca81 100644 =2D-- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-08-13 Kamil Rytarowski + + * netbsd-nat.h (netbsd_nat::qxfer_siginfo): Add. + * netbsd-nat.c (netbsd_nat::qxfer_siginfo): Likewise. + 2020-08-13 Kamil Rytarowski * netbsd-nat.h (netbsd_nat::enable_proc_events): Add. diff --git a/gdb/nat/netbsd-nat.c b/gdb/nat/netbsd-nat.c index 88c70ebe1bb..fef273a125a 100644 =2D-- a/gdb/nat/netbsd-nat.c +++ b/gdb/nat/netbsd-nat.c @@ -180,4 +180,34 @@ enable_proc_events (pid_t pid) perror_with_name (("ptrace")); } +/* Implement reading and writing of inferior's siginfo_t specified by PID= . + Returns -1 on failure and the number of bytes on a successful transfer= . */ + +int +qxfer_siginfo (pid_t pid, const char *annex, unsigned char *readbuf, + unsigned const char *writebuf, CORE_ADDR offset, int len) +{ + ptrace_siginfo_t psi; + + if (offset > sizeof (siginfo_t)) + return -1; + + if (ptrace (PT_GET_SIGINFO, pid, &psi, sizeof (psi)) =3D=3D -1) + return -1; + + if (offset + len > sizeof (siginfo_t)) + len =3D sizeof (siginfo_t) - offset; + + if (readbuf !=3D NULL) + memcpy (readbuf, ((gdb_byte *) &psi.psi_siginfo) + offset, len); + else + { + memcpy (((gdb_byte *) &psi.psi_siginfo) + offset, writebuf, len); + + if (ptrace (PT_SET_SIGINFO, pid, &psi, sizeof (psi)) =3D=3D -1) + return -1; + } + return len; +} + } diff --git a/gdb/nat/netbsd-nat.h b/gdb/nat/netbsd-nat.h index c93e5d4822d..9bd4e19697e 100644 =2D-- a/gdb/nat/netbsd-nat.h +++ b/gdb/nat/netbsd-nat.h @@ -37,6 +37,10 @@ extern void list_threads (pid_t pid, gdb::function_view callback); extern void enable_proc_events (pid_t pid); + +extern int qxfer_siginfo (pid_t pid, const char *annex, unsigned char *re= adbuf, + unsigned const char *writebuf, CORE_ADDR offset, + int len); } #endif =2D- 2.28.0