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 C2D493877027 for ; Wed, 18 Mar 2020 16:29:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C2D493877027 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=1584548995; bh=LJXKCm2rU7774lgMvZHMcS8/nxe3EoAQFFZk/WyXuvM=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=gMqmps5fM/D+3hOGwd7Ck4MMg9TK5eJjeDOQ7eVPWO64bD8kBi+bh/ANzI5gYwBb0 dZzR+67Knu7B8j31eVD2pUepkaKnQqwom2gLBmrSBvltCaWzlNt26CWqP7Yg5sfVi8 dofxbbqfn8SwBkv/TEDrL5WsClNKuNG+c3KjLtKQ= 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 1N0X8u-1jSzAd0hHA-00wRko; Wed, 18 Mar 2020 17:29:55 +0100 From: Kamil Rytarowski To: gdb-patches@sourceware.org Cc: simark@simark.ca, Kamil Rytarowski Subject: [PATCH] Disable get_ptrace_pid for NetBSD Date: Wed, 18 Mar 2020 17:29:15 +0100 Message-Id: <20200318162915.15043-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:K3ryMgHJvIuBCT75dPh/Bw3ngXYLGZlKtbbYXHXEOCq6iFmOjUR nb9KBVBKLSUC/cowdVxh5RV8BEaOcjv4qBqp7AvLFHdwOui7VtlCdCjik283ft8jpigBn6C CMPkfa10UQLOHzJFx2DLMqOOhk0i+xNy3z/F62E6yCHrrzoz/+ZhYn+oaLDOYoIL3qiZz+x BvmOelEs2ezVHObm7rIFA== X-UI-Out-Filterresults: notjunk:1;V03:K0:rV1t3ltxe7w=:PlBy1sD5K+4UzzR9a6vXT1 khCWZB9rwQKcRHvanTEZwuF/b22VWwPcjkZh7dc35YWcLVKkWauPy0HfzYIsEnDO383sbMrpW RJ4MiNLBI0OhZaKCX4400myqZN500DaaP1Sp2IC+rKIC46G7ZHhOBxE842E5CXv3TgUi8jiz1 UxpByuqSLBEqPnMW84ejAvJ4YYAB03f+V/+90VFlyaOV7epKrTMQs/6/QqvqkEeJEzS4FDoyI b+GJsKrFewy9I9x9nVHC6BWWMNR+NNYIDaEYbCae6AjvmlbJ5Ni8FTZGQ9QxV2GHHUqZCudD+ FLDGcllt4IAxjPtuMLT+4hzH1TutAOvhiJKktoi2c3JLb3zUBMcMUZnIYVKdrgEHRV5zFDV2Q +cfIN8XgUbLiuELPQbXzFCifg83/uYKubjpxWMybinJLxyODC5s6eGk0lLA9exXSQlTkpUP8+ 0zCjX5U0WSNEVej0T4xwwTDPWIgXzBy2NSHXTIwFVS5zhJB0tOlGryIFWZj/pkOje7XFR/she 6W2IlXEC/TUmCaHYHnh2jNDJBzRyd7J9W6Zx5WxDbDGKmxS25z3WAY4GCu5Ph/K9Cr96Ha3cL YMxdqMDbgwPBWyKzchyPh+fWNazt5FSupE27e6XMkegYJUYZBwrH6yo/anzMsuthjdP/6MPuW MK07s/Lpns/6zNR9Jpx3QKC5zVygSmHbw+oy+kVz7NMjD32aR/1T2ZENl7jnWzW+SE6+qCeCh HZ+7+LP1YYpfcpNJhRvpwmaPUQgotwvxM467jfBDZ0+tVsl13tK3UsFY8hHCyMrTpihPgaZAb nd+3iu0kIw6xtMIy/q3EFpA/jCHoAcdK2zw3canYPzlTvAS8Z3AULu/k4/DLKnM2vE/s0DDoK E9kPTg3riGZRLbTCi/NzmgiTqGDapDZ0DoZvFyoCgff0/5JeVaaKhzBUXxyI6uhHNAcq0N4x5 76FWMlwxyZJhrygtH1syKFUQY5FTF2vOxW/YOV9TJv/EvbUk+dXgIEOfZ0ahbY/uw15xu7AAE EcKw4GnmpEkHg/VS4yULG4kH//7euVh4FjdlooPuFGG/JgGOGWbsqh1sAPN4ODlUqeJb32cBW 15c+F+zZvJ3qr+a3g2BueZOBT2YtIMJzKKr8Z89H5tDAcEDctbbgRfLXOPbwFkJDzVipjaYZl uyCzZj8yG42qPoPwQ7JxWwKorsMno/8j4rUDE0CiTAL58siXoAZIJaAGbfL72Ddh5ipf8= 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 16:30:01 -0000 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. gdb/ChangeLog: * inf-ptrace.h: Disable get_ptrace_pid on NetBSD. * inf-ptrace.c: Likewise. * (inf_ptrace_target::resume): Update. * (inf_ptrace_target::xfer_partial): Likewise. =2D-- gdb/ChangeLog | 7 +++++++ gdb/inf-ptrace.c | 19 +++++++++++++++++-- gdb/inf-ptrace.h | 2 ++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 84964dc00ac..36e333ec8ba 100644 =2D-- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2020-03-18 Kamil Rytarowski + + * inf-ptrace.h: Disable get_ptrace_pid on NetBSD. + * inf-ptrace.c: Likewise. + * (inf_ptrace_target::resume): Update. + * (inf_ptrace_target::xfer_partial): Likewise. + 2020-03-17 Kamil Rytarowski * regformats/regdef.h: Put reg in gdb namespace. diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c index db17a76d946..e8bf66ed45f 100644 =2D-- a/gdb/inf-ptrace.c +++ b/gdb/inf-ptrace.c @@ -313,8 +313,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 lwp + and avoids this function. */ pid_t get_ptrace_pid (ptid_t ptid) @@ -328,6 +332,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 @@ -344,7 +349,13 @@ inf_ptrace_target::resume (ptid_t ptid, int step, enu= m gdb_signal signal) single-threaded processes, so simply resume the inferior. */ pid =3D inferior_ptid.pid (); else - pid =3D get_ptrace_pid (ptid); + { +#ifdef __NetBSD__ + pid =3D ptid. pid(); +#else + pid =3D get_ptrace_pid (ptid); +#endif + } if (catch_syscall_enabled () > 0) request =3D PT_SYSCALL; @@ -528,7 +539,11 @@ inf_ptrace_target::xfer_partial (enum target_object o= bject, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len) { +#ifdef __NetBSD__ + pid_t pid =3D inferior_ptid. pid(); +#else pid_t pid =3D get_ptrace_pid (inferior_ptid); +#endif switch (object) { diff --git a/gdb/inf-ptrace.h b/gdb/inf-ptrace.h index dd0733736f2..340d41d8beb 100644 =2D-- 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); }; +#ifndef __NetBSD__ /* Return which PID to pass to ptrace in order to observe/control the tracee identified by PTID. */ extern pid_t get_ptrace_pid (ptid_t); +#endif #endif =2D- 2.25.0