From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id ZIncJ1HJ+md9fjEAWB0awg (envelope-from ) for ; Sat, 12 Apr 2025 16:13:05 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=iiLit5sw; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 8ACDC1E0C3; Sat, 12 Apr 2025 16:13:05 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id D228A1E05C for ; Sat, 12 Apr 2025 16:13:04 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 61BBA3858CDB for ; Sat, 12 Apr 2025 20:13:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 61BBA3858CDB Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=iiLit5sw Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) by sourceware.org (Postfix) with ESMTPS id 48D973858D26 for ; Sat, 12 Apr 2025 20:12:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 48D973858D26 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 48D973858D26 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::529 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744488745; cv=none; b=u4sGXsG8oyyUEe6OY/FyyeJ5OpKR8wqyvZpEtAWNn/iG5TZFiajInaUD57UjQVDc1RhJSOQJ9+Pk/Q9s5SF8ZAIYNfcItlAQt3yk/DnagL3xEX2wQPU54UI/MDkmOZUAr6msIwBurlclKjInc4CcgIsClgGhyJuRu8Xkro0gCw4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744488745; c=relaxed/simple; bh=mEQyLSzHR3HQbTwmtdz9DJoye0wlpphCKk5MMbw48ZQ=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=xAPl4gP3zrP80GFo7om7iCgNDM27Urad/WUJeA5/jmDrg7QAqru64WpBD3H/4uPduno5QG0uh6OkiH6DBEV4ZiMiHQUJXwNELaavI6ZOGJx8wvWf8e6zfw486cfZGal7JodBlEKDVhK2D3JY8TAM+gNta/RIw4peOqceW7Pdrfs= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 48D973858D26 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5f0c8448f99so6329059a12.1 for ; Sat, 12 Apr 2025 13:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744488742; x=1745093542; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=zX/ROy+urLReuCp6d869hn+b/Qa+hkh27LpW8Vhayxk=; b=iiLit5swT1GDo6oqUXI0IZe9upxbLtofetWmmFYvQwgNj3ojI9mHf/OVlkwBcj2jki gVVNZHt0qseTzQCYamdb6JVwL/zkDGKRL24ZdxYrahcxLj4qO79kJt2LKnoMBSVDklHz nHSoMeraJNmP9ZjWWvSjaC5EcsKTOv1wCYMRm0VS/HBqKEBD7W3ThsOldWzKswXMkOXd MkRjXUtmjUVVbC1LW24gfKbWWdw3tOj7cggW8wjjQdOc5RJcMP/pJae/NNUFMOMIt5dQ sf+5AvcccehrrjijA240bReU1ARlaIHjthLNQ0ZLX96fyykF9Tpmz3AIhCHIxtqmt8Pr 4flg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744488742; x=1745093542; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=zX/ROy+urLReuCp6d869hn+b/Qa+hkh27LpW8Vhayxk=; b=IJu8kACZQhL51I80BY8doswnfMN7S09tuiU/Qnb1UKp3vK0Jlmga87cMf3nHDMecjx ZmCfFD2ZSyx0T5jZbV5NzQ0L8sWxwTuEMXUaLKtFAtFSENH9ngtXZXILJOacfH6G2pGa TKziMwyLiz6XPiALZxtMqs7k1oii1sAs0LEjorOaGWd7/qYWHsGY+TxbGLCmMPfyaG/p kihcXlLbqvhB3jTXnhLKPLJuzvksjKtcvTA2YX748zAYrfjSmxuamWBjEQtFXONM6HpB D3ZJBcoLryBihZUIorBVfr9MCB6s7/8DxQcKqPRcOJC20Le7qbnAG78tsxi4UZ/ginWi qb2Q== X-Gm-Message-State: AOJu0Yzm9KKUMC2LlrFZ1rOPAZY9J8edaLIiCaSsQyhYgYGJFBvFuKJY nMFNAwDCodSqZphkErrV+UY6UnTgHOSWBoe/YwbHXCs9dsWQfO51pQqsZLNA X-Gm-Gg: ASbGncvgFSYyF8JVkt5jw7cRi71O4/f7PhCCIsVPq9AY1nx0z8HE1UEGdvk6EGV2bTb COuokfkp2ojLJoUj3huEhqpnowPpDBslj7Kn2xAW5fbQgi7b9y3uFvZ7HpUtcJVGMRfXO35COiB B9lBrpLWLN+b09NLlVGqOLwfhiVm+QaDouWDBblA7vmJo8EpWvGjFJ7ka2wLDyQqWUng3yhS5NT lbfEF9Ns05UX/2tdhD3ZILy0B1Y2Ac5vDVwvbje3X6wuCe2Yov3m583Dbtb/oYlQq15rMIY/dPW Rg0jsf9Ow8HpNvoXzSbCwi88ImfTEApWMqsSHle8mjZ5lAi1o4A4GOA7cteBwIfyTCJDreyzRDM = X-Google-Smtp-Source: AGHT+IEOlKljunOQoRKZiPTB0Mig71yIqtPD6m86MRhporeQfqDRCRzBxh+gpwVdp94cv5ow8L4tyQ== X-Received: by 2002:a17:907:9715:b0:ac7:c79d:f8ce with SMTP id a640c23a62f3a-acad36d7acbmr575056266b.57.1744488741489; Sat, 12 Apr 2025 13:12:21 -0700 (PDT) Received: from localhost.localdomain ([84.40.153.106]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-acaa1ccd1ebsm647284866b.140.2025.04.12.13.12.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Apr 2025 13:12:21 -0700 (PDT) From: Disconnect3d To: gdb-patches@sourceware.org Cc: tom@tromey.com, Disconnect3d Subject: [PATCH v2] gdb/linux-tdep: use thread lwp instead of pid for info proc Date: Sat, 12 Apr 2025 22:11:41 +0200 Message-Id: <20250412201140.31510-1-dominik.b.czarnota@gmail.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org This commit fixes bug #31207 where GDB shows an empty result of `info proc mappings` when we debug a non-main thread of a Linux process while the main thread has exitted. In such a case, the `/proc//maps` file renders an empty file and `/proc//maps` should be used instead. It is worth noting that the `/proc//` directories are not rendered by the Linux kernel when listing the procfs directory but they can be opened and they contain the usual procfs entries, just for the pid of the thread. Signed-off-by: Disconnect3d --- gdb/linux-tdep.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c index 141c1199c8a..c141c9c6701 100644 --- a/gdb/linux-tdep.c +++ b/gdb/linux-tdep.c @@ -842,7 +842,11 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args, if (current_inferior ()->fake_pid_p) error (_("Can't determine the current process's PID: you must name one.")); - pid = current_inferior ()->pid; + /* Use the thread's LWP ID instead of process ID when accessing procfs, + since the LWP-specific entries provide more useful information. + For example, /proc//maps may be empty if the current thread has exited. + */ + pid = inferior_thread ()->ptid.lwp (); } args = skip_spaces (args); -- 2.30.2