From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by sourceware.org (Postfix) with ESMTPS id 0EF2139450F3 for ; Sat, 14 Mar 2020 18:27:55 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1584210472; bh=QlTB9d6MzgC32Ilkhl0us8lu7MRLayb2zDW0JKEfpBU=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=dNCdr/TzMHyEFHPNnSjPj2KrfuMLiBycA78MFJEM3yQaI0PZTrSkmqG8BGy9dKSp/ L5aZ43WHZEcvPD1lRq04c+avF4pQ252Qfss82Z4p+uu7vPrZuocucg+tymSfMW5xB6 pis0z4w4CFOx5jepk9gWZic5RJDRfTSqOZ71M1mQ= 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 1MtfJd-1jRyfn0KMh-00vA5w; Sat, 14 Mar 2020 19:27:52 +0100 From: Kamil Rytarowski To: gdb-patches@sourceware.org Subject: [PATCH] Add support for NetBSD threads in sparc-nat.c Date: Sat, 14 Mar 2020 19:27:10 +0100 Message-Id: <20200314182710.11396-1-n54@gmx.com> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:0QnK9sqFtGDqZPrIrRHcGScnONOegapCgRW6Rhl82JXP+MDk1Vo KLtIN35FjS6P7tWFq5U5g4tiA3z1eTc89YZu3B3YNA0XxG2OWgGdVNC7kLspw6h8flDN4rr nJUQwAJYnw4siIcNIKnqofwUipr8aViULdLbw2ume7lwZG4pHX5RsKbGjU59i7FAshsx9Qf qZ2af687y8ggU8As8sM7Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:xSYYx+2jU0U=:fWb9juvpsGP8d6Hu6Lk/yV CuTfos4Lfd3wTxTnqEAadzUjDn5t6D2lEPJSwWrMRup8z+nRkeXXOtcvDUw9p/U+ds2b5YOFJ B2tUMaAsNUZEjschQ0JpcMaW/N5eDrWTy1MRg7lJ/aIODjhwgXlX5Nu3yHh4R3qLILOevMMRT FB7L6Fe6TQn9LebrP4p+7RjsNYd3qiZW6D4R7T+8pPWDizxR7E4Ou3HuWlbstGOM/my0eSawB boRu0Q64ulmik5rQHhaox6TVXuKlTzkz1MQX5Ahr5FY9nCwLP3/WnG/Xk/JkMe+1HM1ndgrtg TVntyQuqOqWb7xTe3r4riak7Xpx0Pw8jarIRXuQ/ZMaXkgezM2bDIsoPwvk307RoC8wmB0Xce X5rSH9Fl9Y3UBJLbzSepgCzpoS96W9Jik229927oso6tZBYzb9KKclzQlenFIPi6328cHHNUC sgnl7ywlvSpUQYml6b1mGlRUekCTx4ercvFUrL636XMhbjk0eoMNe4JD9oE/q/uICZbOxMdvU 5oYCMUxlku4zy4A4+8oXH8UHeL/tU/99iunny0CNx2Xz3c9/4ctZTX2E0PbQFqeN5hqFg6AmS XJte6nNepQqmq8/N5FIetnghuhJkBiMfTSCTwXXt2/02KU17dHpOnIiftnKPWB2qZ5/XhmOkO /AbBQyZ/dwKbW0gquJHfnqWK8FzZsu1SvWhn+RwPCG41pl469zTXsQrPIaAEZ0YPA0kzDJdj7 J/mtY+sZgMJaI7DPCqtKkOHknh/vwHJ9D8yKAmxxkhkiT1gkrOrtMi3Lipt4H+NzHmConDdi1 RgynShsYal8gQXv0F1Asn2bE/PCYo9yP8EpZeKtLNnt8NgpBI0SdIqEjYeAUSAEiUHU4mvvi6 K3Xj0U6Pg7yQyXxF4NET1EDl0hicSWaUo4NU+P0bWifEYDK6PlnmpWvBZndZBtMdb2TzRhHTL Kq8f16Z0adqtVp3sunbDyyOkDJluWiCu04hJ5vBpD1c5N/yl2M5tRFZWfmUUh04o69+kyxl6k +Cy8PKd6H/yZCxBKpBy518uNUg66jnt5ajJ/AYflGYqphAFHaDnh0EKZaQipXbJO0locomFto ZIv+PQIQksJFTzH6yVhzO88XRdyyOP7k+QR4wWI3fGF1zeCfLZIS3Z06fVH2O3QnYPTW+BGMR aWp5khpXgU5klonmwivYA6WF4c/+zMbNdsUS2SADqLsYTn/SzLnxlaSmjeWK+TqUQ3D2c= 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: Sat, 14 Mar 2020 18:27:57 -0000 NetBSD ptrace(2) accepts thread id (LWP) as the 4th argument for threads. This file is still shared with other targets that use different 4th argume= nt type. =2D-- gdb/sparc-nat.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gdb/sparc-nat.c b/gdb/sparc-nat.c index dff0f521565..1e890bd8613 100644 =2D-- a/gdb/sparc-nat.c +++ b/gdb/sparc-nat.c @@ -154,6 +154,12 @@ sparc_fetch_inferior_registers (struct regcache *regc= ache, int regnum) registers can be written. */ pid =3D get_ptrace_pid (regcache->ptid ()); +#ifdef __NetBSD__ +# define lwp regcache->ptid ().lwp () +#else +# define lwp (PTRACE_TYPE_ARG4) 0 +#endif + if (regnum =3D=3D SPARC_G0_REGNUM) { gdb_byte zero[8] =3D { 0 }; @@ -166,7 +172,7 @@ sparc_fetch_inferior_registers (struct regcache *regca= che, int regnum) { gregset_t regs; - if (ptrace (PTRACE_GETREGS, pid, (PTRACE_TYPE_ARG3) ®s, 0) =3D= =3D -1) + if (ptrace (PTRACE_GETREGS, pid, (PTRACE_TYPE_ARG3) ®s, lwp) =3D= =3D -1) perror_with_name (_("Couldn't get registers")); sparc_supply_gregset (sparc_gregmap, regcache, -1, ®s); @@ -178,11 +184,13 @@ sparc_fetch_inferior_registers (struct regcache *reg= cache, int regnum) { fpregset_t fpregs; - if (ptrace (PTRACE_GETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, 0) = =3D=3D -1) + if (ptrace (PTRACE_GETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, lwp)= =3D=3D -1) perror_with_name (_("Couldn't get floating point status")); sparc_supply_fpregset (sparc_fpregmap, regcache, -1, &fpregs); } + +#undef lwp } void @@ -195,6 +203,12 @@ sparc_store_inferior_registers (struct regcache *regc= ache, int regnum) about threaded assumptions. */ pid =3D get_ptrace_pid (regcache->ptid ()); +#ifdef __NetBSD__ +# define lwp regcache->ptid ().lwp () +#else +# define lwp (PTRACE_TYPE_ARG4) 0 +#endif + if (regnum =3D=3D -1 || sparc_gregset_supplies_p (gdbarch, regnum)) { gregset_t regs; @@ -245,6 +259,7 @@ sparc_store_inferior_registers (struct regcache *regca= che, int regnum) if (regnum !=3D -1) return; } +#undef lwp } =0C =2D- 2.25.0