From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by sourceware.org (Postfix) with ESMTPS id 9EC323986409 for ; Fri, 4 Sep 2020 00:30:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9EC323986409 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=1599179388; bh=TNSULHvjjC5FOwxlyoStUILZcqYY6v3eDW8UgJv51UA=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=JiXkakGD/XRzPByMqT7cOsR4yw4cj7oZt/MQQk5AvaBBWCJE33HbN0z0dfj5FE+n7 zQK1CYNGJySG223v6NmOeHvx2TJDAZVq3IBxh7ZG7ql8QzCB4wtj+jtRREnqPUsacl 48BqqSA4ZDRbNUGkjCDkmXoGYhfISLMHjR1YElrE= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([89.79.191.25]) by mail.gmx.com (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1N5VHM-1kciHZ4BOU-016ttT; Fri, 04 Sep 2020 02:29:48 +0200 From: Kamil Rytarowski To: gdb-patches@sourceware.org Cc: tom@tromey.com, tankut.baris.aktemur@intel.com, Kamil Rytarowski Subject: [PATCH v2 07/10] Add a common utility function to read and write siginfo_t in inferior Date: Fri, 4 Sep 2020 02:29:02 +0200 Message-Id: <20200904002905.13616-8-n54@gmx.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200904002905.13616-1-n54@gmx.com> References: <20200904002905.13616-1-n54@gmx.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:gC66sW7H9fSKLRxDsvtPMhbAP6iRgtZXH1OACni4LjTUU7SA4Xm Kac3jG/N91VF4mfERD+aupB7vwqot2MoQgLM8TfF1ADokdopGgag1xO4E/Pwi86lQcRvQYx 3XKSFZPwikEAzfWEv5PWh73gQovcDSp3waqtShI8u0ERc+o/5lxwnThz35MGYyWBRqjlYUX yV6nENhBqrVMms2AfMQ2g== X-UI-Out-Filterresults: notjunk:1;V03:K0:/bvJ4R6ATpM=:vVKCb3n+DamRlzH2CD9i8h DijhOzFpS44WweTC6aGCagqD9rAB/HQfwbNaYr2ZhOI/N5qThMvYSr8nGwknajdxe5eV7rbYh P4PYI7RwWSF9DKPT0j1Rr18WiNlhGtNPJN0Ns90jqyoUCZN72Yu9F3W26OmV1OR0ZKywGvIHp qMipfBRyyHsM25yC6EJEO4RUHuXRHxz3d4eeJMJ42KlgxSi/CJnEb5540zjQuImmVH7G7but6 F2Jlj7o6vnmgqIqe8JrLF1M1z9EkF7CDUmMtNbGDGdoDQMX1mx/CAoVh4x5/I9uGDJ9fvwjDU rM0vHYuPcmIMzCoCj1EpZISLRLHHB4+ilgnWh0grqjgmrNsVFCbF+YeetzlglraxdRa1kUH4A MBo4xk2IXoM0pqapxAR6Khc2wDX+9uCFBV7SrXry0Rj4d5P5w2HRPpduwrh4xf9Sls9xyEUYI wWzFSJOPhUBVRtAURDG+6WDVvVjuxZqPmR44wHqtDvRhBMWl3ZQK8zMpgnl1HjS8ZXRKnSkzp VSHGSp2s3MXxxGp40Mj+YuNzl1b5Sem7E/EibTa+abmULWbNB+XJsYvPxMmTFD6YsoSaE2VGs zGi5/o+pGPK0uvw31bglYvgP4GqiFf3FJrwqZSe1UEf65AXTw2tH/wRPrnCLKlSKtRWI+blj4 C9i7MDw/TMz0G415zcIHR2vMI3bL/dok4Qs5ksjdeHZy91R3qpuCf+qrguB1SktzT7Mt4Rixa mYYgvx0paN82xfBmZ24SoSUvLpYnUMVT5m57O8FXM8vtKzn11fCB+y1VH7+DhLAKWBHbctYOo tgNNau+0man3wKvvmPmVX1UzWxxR/0cwzZqA8ncM8ahC3sM900lF0hMIzyWJsnPaqv5SGK2b2 aRwNBrjzbeNBInkiY55kYj4UPJOVVQxMCriXm1rUpZUOKmWZIL+nfZMIyDVAAVSe9vBzg49tX 0KPM4zhwExqRSymvHcpz/RanDSSsLQnc79FaJv6gCF+EMlElxNhV/A6Ckrmjt3eDPykn7/YZM QjwzAOHDYgX4f/rzVGVM5znGX2J5w8cYtHYv0ZFXiQfnsUEquw4MmzbFqzF6S5OqC/5ZbI74z w9R8hX0e5eD0y9PETQOwDBjiB6bCFldZhyIb1N9b5zs/rXF33FjimgZdcmmvMqwUwcbWBrFiB cG7JsU50/NinqC+XphWCG69QeOBhoqVLm8FkNFFnqWp/DpZgKdCBlB9ExGzspPxFzlGd/y8Ey qyQM8kQyngi/ouuO8 X-Spam-Status: No, score=-17.6 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: Fri, 04 Sep 2020 00:30:06 -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 0db297a6cdd..b96e7bf08e8 100644 =2D-- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-09-04 Kamil Rytarowski + + * netbsd-nat.h (netbsd_nat::qxfer_siginfo): Add. + * netbsd-nat.c (netbsd_nat::qxfer_siginfo): Likewise. + 2020-09-04 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 1220b272c8c..a13b1509d5a 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 58021b2398e..74b4b3ecca5 100644 =2D-- a/gdb/nat/netbsd-nat.h +++ b/gdb/nat/netbsd-nat.h @@ -37,6 +37,10 @@ extern void for_each_thread (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