From patchwork Wed May 31 16:04:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lancelot Six X-Patchwork-Id: 70396 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 405393857006 for ; Wed, 31 May 2023 16:06:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 405393857006 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1685549180; bh=Kgf4UOxf5X4I5gCLfSzhFCqzh0syQ8RsMa7zmJxc9xY=; h=To:CC:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=TVYi9TGsBecUtcURbauhH7ptYU302tGwgtjEN128BSYwNzHIz+tFkg8S516r9dmcv slLIg4EtXMnYC4ZCqkW42MkIJz0yRiRgo+pvfSTuXwtdgvk5YYsYPA56Mgl0NBC2cY cfw+x6bmADi5FsISvSuXb/z0fXHh41lS7ye87t9o= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2056.outbound.protection.outlook.com [40.107.212.56]) by sourceware.org (Postfix) with ESMTPS id C4DAC3858CDB for ; Wed, 31 May 2023 16:05:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C4DAC3858CDB ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eOV0vQftYyDESHcj63uwVw9ljtEXsVoV+bLpOS7kJZDwJXLTQ6xFon/o9SQgeuXsnduCd3defmwe0Bcs4yRIEMUGhEfGpqWgtUW9r8TiZtlL/OyAEivt2DVEJRheq2KNrQqDZz/HYgChEGnhPudV/du7/w/S/sq0QjxN68NDJWjSCqhBm/D4CBlo7Ml9aanEiXzURBbgN+H6YBtVFGoXB66uehcg4rPaOGmtUQgyJ+sOSMgN9Iv0kyggfqokrcRBJeIgIahvqlrZpZH7VMfcXf2E01UpLLl27lCdOTQKuvmVj/alWm313iVDiYzGg7eZkTbZxnRBYv3eMiHC4WHdyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Kgf4UOxf5X4I5gCLfSzhFCqzh0syQ8RsMa7zmJxc9xY=; b=m1gaFBE1DHNF9F8Jow04iocq7VydW2sGLZwQWFL3QjH9cfMnk9vQTDWS/DEdyKkmBNWoRqERSp0PXajk+O9/bFoJlTesMqB+pnUdeTaU4x2riLPzHyIoSoEJVoYcgMam+u67wi7wBykxVy7+jgKIAoUtF95W9Kz7wRloDAO+j8Gfsn9Aca1HkaWpTMYyse+ZzHHLnPjRZz7NzjpvNDWLDXSEhxzZuYPWYDu7W9AEQ+4hYbmnoCU2xpea5Zm2k64Itigk9uYP8ec3i/hGW+4DDXpv08HTxflgkoPDr41zE8QAKPM0QHxE6YCLNx+xvDr5b+j5heI+pZssvOdy0es1vg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=sourceware.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none Received: from MN2PR05CA0061.namprd05.prod.outlook.com (2603:10b6:208:236::30) by SA3PR12MB7806.namprd12.prod.outlook.com (2603:10b6:806:31d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.25; Wed, 31 May 2023 16:05:38 +0000 Received: from BL02EPF000145B8.namprd05.prod.outlook.com (2603:10b6:208:236:cafe::e7) by MN2PR05CA0061.outlook.office365.com (2603:10b6:208:236::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.22 via Frontend Transport; Wed, 31 May 2023 16:05:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BL02EPF000145B8.mail.protection.outlook.com (10.167.241.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6455.18 via Frontend Transport; Wed, 31 May 2023 16:05:38 +0000 Received: from khazad-dum.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 31 May 2023 11:05:37 -0500 To: CC: , Lancelot SIX Subject: [PATCH 3/3] gdb/corelow.c: do not try to reopen a file if open failed once Date: Wed, 31 May 2023 17:04:06 +0100 Message-ID: <20230531160406.3932028-4-lancelot.six@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230531160406.3932028-1-lancelot.six@amd.com> References: <20230531160406.3932028-1-lancelot.six@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF000145B8:EE_|SA3PR12MB7806:EE_ X-MS-Office365-Filtering-Correlation-Id: bef01e69-2139-43ad-c4de-08db61f0e033 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hRN2LIQ9KYvOSFfxWbWjIQnuc59VB7fsDZNHsnLcRiza6HTYRhNbf9lZkNBg8QRDQzUeOsStgP/p1/tebD73oY4JM7AwT4v9RsP7opksHFCeapnzj2PmZJSojs4sTiftl9n18G6HSVFFEubYbki/BS1gTw0J7yEV5bMDnubipID4BTcSTZKciKP6hKffAQkb4KFGPIGIfc6rv16DkuygI8nDJKdVcWAKKy42APLp9S6QtfNu1kRUXVq9hqdtXszi7lSe/+SCFLpAxffqXycVZLMazyL68X849idnyvors/hLxV9EBWvdVm6nd5mOr/V/4+h/yOyDbuBRWzKA6yKK/Nue22ufuPyneyK3zLSz0ULTyt+I+uT12jGEyMlhjm857zqVCwMpGD1+jx8ePfkm5FJpl+YYPR353CUMslI2mXplud9xXshlg9vK+L2UCmuOoYeIYrtPO+CEqvwGsOV/GnCFVivDZVfM2n5sqMF1eQ2zz2Xv1IUVhP9vQBE3/jNmPoQx4kvRobPjQL8pYX1SfYh4gkOQjZPUf8lwDDlUtrbMPAcWMQEpT3DxYstUH2lZPzLzbyzdVPhXYQfuBSNKIu3AKIjVhJLMb+vjhZBvhJZOW10p1k3/MbUfqXxqZfhYnoFOyDkqYNr7FDT12BIfXoLatdJn6WjY1X95CQMnOhSApiwsAIXoXJ3vBWU1Y9SlOeWxhk3fvFPS5gIiOK4sLTsOI0dj59liTqa3wjwqoVfB56I3AOCm7U7zgSDBL/Flov2Zcy1TWzzWpcF7tkzVJQ== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230028)(4636009)(346002)(39860400002)(376002)(396003)(136003)(451199021)(36840700001)(40470700004)(46966006)(356005)(186003)(82740400003)(81166007)(26005)(1076003)(40460700003)(426003)(47076005)(36756003)(336012)(2616005)(36860700001)(16526019)(2906002)(40480700001)(70586007)(41300700001)(54906003)(7696005)(6666004)(316002)(82310400005)(478600001)(6916009)(86362001)(4326008)(70206006)(8676002)(83380400001)(8936002)(5660300002)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2023 16:05:38.4122 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bef01e69-2139-43ad-c4de-08db61f0e033 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF000145B8.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7806 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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-Patchwork-Original-From: Lancelot SIX via Gdb-patches From: Lancelot Six Reply-To: Lancelot SIX Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" In the current implementation, core_target::build_file_mappings will try to locate and open files which were mapped in the process for which the core dump was produced. If the file cannot be found or cannot be opened, GDB will re-try to open it once for each time it was mapped in the process's address space. This patch makes it so GDB recognizes that it has already failed to open a given file once and does not re-try the process for each mapping. Reviewed-By: Andrew Burgess --- gdb/corelow.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/gdb/corelow.c b/gdb/corelow.c index ce68f91132e..b831a90792c 100644 --- a/gdb/corelow.c +++ b/gdb/corelow.c @@ -233,6 +233,16 @@ core_target::build_file_mappings () weed out non-file-backed mappings. */ gdb_assert (filename != nullptr); + if (unavailable_paths.find (filename) != unavailable_paths.end ()) + { + /* We have already seen some mapping for FILENAME but failed to + find/open the file. There is no point in trying the same + thing again so just record that the range [start, end) is + unavailable. */ + m_core_unavailable_mappings.emplace_back (start, end - start); + return; + } + struct bfd *bfd = bfd_map[filename]; if (bfd == nullptr) { @@ -250,11 +260,10 @@ core_target::build_file_mappings () if (expanded_fname == nullptr) { m_core_unavailable_mappings.emplace_back (start, end - start); - /* Print just one warning per path. */ - if (unavailable_paths.insert (filename).second) - warning (_("Can't open file %s during file-backed mapping " - "note processing"), - filename); + unavailable_paths.insert (filename); + warning (_("Can't open file %s during file-backed mapping " + "note processing"), + filename); return; } @@ -264,10 +273,10 @@ core_target::build_file_mappings () if (bfd == nullptr || !bfd_check_format (bfd, bfd_object)) { m_core_unavailable_mappings.emplace_back (start, end - start); - if (unavailable_paths.insert (filename).second) - warning (_("Can't open file %s which was expanded to %s " - "during file-backed mapping note processing"), - filename, expanded_fname.get ()); + unavailable_paths.insert (filename); + warning (_("Can't open file %s which was expanded to %s " + "during file-backed mapping note processing"), + filename, expanded_fname.get ()); if (bfd != nullptr) {