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 C7B593871029 for ; Mon, 16 Mar 2020 18:28:18 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1584383295; bh=ssgtXmkcBVNoAhGQ2lkzlbBqZO17kG8uHfNVsClfPeo=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=cxtns33AqegANf5mzK21/69heXrjS92aUv86meq3Z7R/mpAixZcMmb/S4/adkNHU9 Hk80dbVjd/nyZTKuFBYmdy4xxKHve0Kps7IfXXIvn2KdjpKTY/QRckMgXK3nRKb6T+ SW1PX3tv5q6VFjXYmZUu/p58pbCf9KbVMrPoL190= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([89.79.191.25]) by mail.gmx.com (mrgmx004 [212.227.17.184]) with ESMTPSA (Nemesis) id 1Mkpf3-1ja5OT49F9-00mLQP; Mon, 16 Mar 2020 19:28:15 +0100 From: Kamil Rytarowski To: gdb-patches@sourceware.org Cc: simark@simark.ca, Kamil Rytarowski Subject: [PATCH v2] Rewrite nbsd_nat_target::pid_to_exec_file to sysctl(3) Date: Mon, 16 Mar 2020 19:27:33 +0100 Message-Id: <20200316182733.25917-1-n54@gmx.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200316171413.17990-1-n54@gmx.com> References: <20200316171413.17990-1-n54@gmx.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:/tfaYLWp2PkEw61lZue60XKKiZXF0P3Cd5oE9tNlPbK3v3IaNn+ 2o7owQyqkOFsyrm5SK/s8fFeODWMOG+BF2bMYWH2fymMNqNoDC7SSjkd9sqPTsylqj545Nr k8lUNtP7FhhfphpK7CmtQ2KLy1dt2V7RuMdKwm8jUOBvbnyLQuizR2hpQEtxbuh7swcbL87 cETZ1g8AF4uF2M+Uq26TQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:j2nfN+7F5Yc=:ffi3MSwWuu07AtQNPnTl1U +AvDgAPIXU8z/IGm67FPy6xM0jLeYUKzMKN/eir1MebJxHFatP/lD/4jzveq8j5GwNMtlmMLC oBvfcO5R/qhZlDl92fE2n6qEQDo4d4e6EIaLHfzvZENlG5omy/IWBbOU6RBQhja54bYp2GuIG jwrewgZ0s93LVDe9jbgJgmvf1TbKOAydIPzJINnys4JroPHoDnO6yP9eUAbsntS5cb1gUnYtt keRJlRnDBPy4nKkfMHvSpBnO3CoLMFXoxWUlxNnwFxCQyqfPmm5d0X+YGrcQ7oI7cwexAH9HU FJMEDGFmUWJYwiN1qkroe7Uyy5ciobRSFq5Y6FB71k68I/iW7UWD5qUNwDgUrVdOeHfq1fk8+ oiVIVccrNxm0F8RdIasv90onPiFoRCqsRSL1pbKjWJMNvC1ZphrZxoMHJRqv4Xr9esENiKDDp 5oVDJm4qCMdYwfAlrb25Risl5tFZLGgWH43AM6zli71jlKUN2UgeKoSWHsy8fW5kjeNg+H5uB 45B4JNnLk2gwMjVYc5NtPY23xN0tziSlK/pyv513x6o0TO3GWdnYolnCCW4xefZH1ZSSsq64i qlG+uUuy0vnG9reZB0K3dQEYkuBVR1rOz7fbNCJM4aZ12saemJn5k+o2kgbL22wvXKdwTm9cV VlNrIxBlOUxQLvNpV08Tj5xrIghDMWQFcSkXWWDK/CC9L+CHDRv+iMYKda3hMEB0amV65CHUd TzXmaNjND1O5GS2EdEFO7sfXi/Le2EwkSQ8fAVvaHO4/+pEHNbAioCxB1PbvIxWzwGEEb/NUL cSxAqXhyWEYO6a8ZScnhGlT+wJM8RoZAjJnru/FGEtn4qxzDjAxY8ylGTTKg7T/PgmsjuemVF FhS00ghuhGsoxKTrhcn16kOTiw5cgL9CXqSOjwM0ozhFVDilXVAXJn1a5HcOYKGlwviP3DLO6 rSf3TXjJwLoShZ+iFKO+J//E25DWppVzKzGiGBHVVGURI8fCIVrm0lDmZUC2S4+/LWHyhlvFa oYY7e6WsbdbDIT/l5GoscWMQoGIiLDR4OIzI+kqxrQqTE5ABFM9IGENAknn0kleS6+RQUOYcv DOS1N3Tq43ld40ju6RLNCeUYt6MQc3c5Un/0OZi1N0vtjQ7Wx6xv47ttqauaBRzF0PTc0lI50 3kW6FZ4TdS6X4DhX5ji7LvNqxrjoHD0Ro00aItxJYdagHrHE3mGZNdfv7d4ByhX+8njM8= 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: Mon, 16 Mar 2020 18:28:20 -0000 procfs on NetBSD is optional and not recommended. * nbsd-nat.c: Include , and . * nbsd-nat.c (nbsd_nat_target::pid_to_exec_file): Rewrite. =2D-- gdb/ChangeLog | 6 ++++++ gdb/nbsd-nat.c | 22 ++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a0d97584189..aeae2291612 100644 =2D-- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2020-03-16 Kamil Rytarowski + + * nbsd-nat.c: Include , and + . + * nbsd-nat.c (nbsd_nat_target::pid_to_exec_file): Rewrite. + 2020-03-14 Tom Tromey * c-typeprint.c (cp_type_print_method_args): Print "__restrict__" diff --git a/gdb/nbsd-nat.c b/gdb/nbsd-nat.c index e7f91bebb0d..326bbe3aec3 100644 =2D-- a/gdb/nbsd-nat.c +++ b/gdb/nbsd-nat.c @@ -21,23 +21,21 @@ #include "nbsd-nat.h" +#include +#include +#include + /* Return the name of a file that can be opened to get the symbols for the child process identified by PID. */ char * nbsd_nat_target::pid_to_exec_file (int pid) { - ssize_t len; static char buf[PATH_MAX]; - char name[PATH_MAX]; - - xsnprintf (name, PATH_MAX, "/proc/%d/exe", pid); - len =3D readlink (name, buf, PATH_MAX - 1); - if (len !=3D -1) - { - buf[len] =3D '\0'; - return buf; - } - - return NULL; + size_t buflen; + int mib[4] =3D {CTL_KERN, KERN_PROC_ARGS, pid, KERN_PROC_PATHNAME}; + buflen =3D sizeof (buf); + if (sysctl (mib, ARRAY_SIZE (mib), buf, &buflen, NULL, 0)) + return NULL; + return buf; } =2D- 2.25.0