From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 Authentication-Results: sourceware.org; dmarc=fail (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Kgf4UOxf5X4I5gCLfSzhFCqzh0syQ8RsMa7zmJxc9xY=; b=CQCdr53+WUafsMLtc8crTz1xRvFTPEUU9FNW3ArgKLivmTyklF1441SKRW1Fi69tdbQmBG3MvlqtItDpJuvgId7oJTrafaUSs3XF6CBqu3VpqXqO637sPSVnX4g8uUv6bEf2WjJ1Ttqm37AjpRvuWtwC+zbFsi4XN/aI4uPWacE= 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 From: Lancelot SIX 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 Content-Transfer-Encoding: 8bit Content-Type: text/plain 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 List-Id: 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. --- 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) { -- 2.34.1