From patchwork Wed Jul 4 07:34:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Slava Barinov X-Patchwork-Id: 28223 Received: (qmail 80225 invoked by alias); 4 Jul 2018 07:34:55 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 80135 invoked by uid 89); 4 Jul 2018 07:34:54 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:sk:2018070, Hx-spam-relays-external:sk:2018070, H*RU:sk:2018070, Hx-spam-relays-external:ESMTPA X-HELO: mailout2.w1.samsung.com Received: from mailout2.w1.samsung.com (HELO mailout2.w1.samsung.com) (210.118.77.12) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 04 Jul 2018 07:34:51 +0000 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20180704073448euoutp02f2fce068c7d346bb98ca4741bb5d3366~_GilvSJ2q3199931999euoutp02s for ; Wed, 4 Jul 2018 07:34:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20180704073448euoutp02f2fce068c7d346bb98ca4741bb5d3366~_GilvSJ2q3199931999euoutp02s DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1530689688; bh=WVD8S2C33b0nM7ZSBRZZ/4YUqrjTLRyieXyZF8DMXC4=; h=From:To:Subject:Date:References:From; b=TOPKsVfMMmNhZmJzMEiGki2ReykFkbS8e0SFfT490rJgnGuwbYOAm7pKGINpcDOnS 44kEJjwUhHr+pWiQ9JZtAZ+qStfeETXxQQEwwlIiCJmF+KVDewftkS3PJjTauf87ii rfpTAYJIMMuZ6jBi1Eihv0BJu0gPSkLoNxU5uRug= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20180704073447eucas1p1ae8a0c0d82deb632ef840612180adeed~_GilFxaR80865908659eucas1p1e for ; Wed, 4 Jul 2018 07:34:47 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 04.4A.05700.7987C3B5; Wed, 4 Jul 2018 08:34:47 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20180704073447eucas1p1541c2021074eb8faa58e49f1abe8d733~_GikXtils0124801248eucas1p1n for ; Wed, 4 Jul 2018 07:34:47 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20180704073446eusmtrp13dd900f2af69849200f349293f2835be~_GikJY2mE2547925479eusmtrp1L for ; Wed, 4 Jul 2018 07:34:46 +0000 (GMT) Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 1A.C9.04183.6987C3B5; Wed, 4 Jul 2018 08:34:46 +0100 (BST) Received: from vbarinov (unknown [106.109.129.54]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20180704073445eusmtip26cfb3a124f1045f9d7a776ea1c74fc0f~_GijBDxFs1002110021eusmtip27 for ; Wed, 4 Jul 2018 07:34:45 +0000 (GMT) Received: by vbarinov (sSMTP sendmail emulation); Wed, 04 Jul 2018 10:34:48 +0300 From: Vyacheslav Barinov To: gdb-patches@sourceware.org Subject: [PATCH] Check if /proc is usable on gdbserver start Date: Wed, 04 Jul 2018 10:34:48 +0300 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Message-Id: <20180704073447eucas1p1541c2021074eb8faa58e49f1abe8d733~_GikXtils0124801248eucas1p1n@eucas1p1.samsung.com> X-CMS-MailID: 20180704073447eucas1p1541c2021074eb8faa58e49f1abe8d733 X-Msg-Generator: CA X-RootMTR: 20180704073447eucas1p1541c2021074eb8faa58e49f1abe8d733 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20180704073447eucas1p1541c2021074eb8faa58e49f1abe8d733 References: Hello, Just lost a couple of hours trying to find while gdb can't connect to gdbserver in my debug session. There's a buildroot where I want to debug a binary, and I tried to connect to it from outside, but got very weird errors like architecture mismatch or protocol errors. At last, after switching on '--debug' for gdbserver I found a message 'Can't open /proc/pid/' message and suddenly found that I forgot to mount procfs in my buildroot. I think it's better to check this before running gdbserver. Best Regards, Slava Barinov. From 0d9bc48e145195b9ce04dedb3ca75ee93d90a32c Mon Sep 17 00:00:00 2001 From: Slava Barinov Date: Wed, 4 Jul 2018 10:20:42 +0300 Subject: [PATCH] Check if /proc is usable on gdbserver start Add check if procfs is mount and can be accessed by gdbserver. gdbserver/ * linux-low.c (initialize_low): Add /proc check. Signed-off-by: Slava Barinov --- gdb/gdbserver/linux-low.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 6e026f1aab..28273da1b9 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -7553,6 +7553,13 @@ void initialize_low (void) { struct sigaction sigchld_action; + struct stat st; + + if (stat ("/proc/self", &st) != 0) + { + fprintf (stderr, "/proc is not accessible.\n"); + exit (1); + } memset (&sigchld_action, 0, sizeof (sigchld_action)); set_target_ops (&linux_target_ops); -- 2.18.0