From patchwork Wed May 1 19:15:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 1930344 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=Zpchrgah; dkim=pass (1024-bit key; unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=GlftOxyn; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VV6Fc5YL5z1ymp for ; Thu, 2 May 2024 05:14:44 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 40F8E3849AC4 for ; Wed, 1 May 2024 19:14:42 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 94FBF385842D for ; Wed, 1 May 2024 19:14:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 94FBF385842D Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 94FBF385842D Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714590850; cv=pass; b=l3KLThFupcR3OzVmDI85faIm7iL3Q6xcWyJhL52cCH1pZ29psAO/+kpdoYCHvCGXBMeSPmm+DPQCe16cxsTcac1gQozudzMfayKOlxKqh7YhdIMNt5iWepYLtAkJcIH93RVFTm1J9na14gNbxfOpYc8WViAnM05CVOQJuEN6WgY= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714590850; c=relaxed/simple; bh=LzQp9etUaKyJEnTgLkb5IkyPUBpW+LFECdI5VULUBXg=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=EjADHaEymWxoHeyxPQ/MBALxRxZN8thz1DmP3rspogjKexBC4FNC4kB4riUzvuxaEH7G6fqa1e8SOinZ9jD8Y7YabTXNkf5oLmllUPQyQy8PB0XjMs0tFDQlJV+cJdqtiRTGp/BEIprSnj+YwF4a8vwlCl7S5m4h1x90qVEwOz8= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 441ARoMA001635 for ; Wed, 1 May 2024 19:14:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=bQpMtIlY/nOoQNUYf7CJq+Z5dTvr2I+jQMvflhhpcvQ=; b=Zpchrgahnvq2TmTiJxNuVbyYkf4BKuATRvjmrQ5b69wzV8a/40vp8d0iMObjB0kvezxY blBuWqMFEGQSyzBFE4Z95ay3W6YQzOpyVayuw7exTdi6Hzyy4QxG0cDmbRPWn3wB3S3I KMEExU+mZ1MMFfYH3pT/VE+DGfovp4BPnzilVZVRtvbfkvgzUg40/+vsVmHwZBj7il0W mUwyin7HKtmhwBTS7R1GIC65bSsLBJk+Jjqm9pO7xTsMSKpZv8tyagMopVqV+VnNghXl HVauqAH5OHfJGSAmrJgPhimN4wMsc4I/p68KxFGy83KHgu8f/S5seqAmEubBwlcN73ml yw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xrr9cqycm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 01 May 2024 19:14:04 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 441JCWJC033233 for ; Wed, 1 May 2024 19:13:55 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2169.outbound.protection.outlook.com [104.47.55.169]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3xrqt9fpkp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 01 May 2024 19:13:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kZTpwnNPhWffSDhVj/LBy+AW/zkx3gTRzYoGwdh3z0rxciLWQ3+BgrflUVg9O1r3Va9TW6sCQOVcJeDGJCC/BgHdJJDf7lDBYGyKdTSgXnneZwzyQ4cgEsJxDdsALKyq2tieaFH5jNi6o0t9PIppPufB+FhsZxG4Ht0u2EbLhb9zoxL9jjoDHpZ6bQiFR3/o25DvnXne3efS35UG1zpaBGKupexyQaduyouYPDcyZJIeohBOfyQ24AgT5rVzknd3pYxQjFLDSN4IiZi2iQVvxhaTcSjgxgpQnKK1Eo1VwQFDNkdLkX+LiaxHYMyeZCeMYLRrIZO1LNyS6k4n6JOYUQ== 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=bQpMtIlY/nOoQNUYf7CJq+Z5dTvr2I+jQMvflhhpcvQ=; b=Uq2Bndfz+uuIR315O3JVYcV755NcTM2tajHOZ3Q36FLUEF/f+FdDdl1BLfMyUw0ndgqNO1+0qSbDa/X8DiFk+RtFwiSDD2uZoVtcEHOQgGCf0iAyswamYy1DWdMHf0nvOxYtgRfndY19GTEBR2YZKjndZCQ7h1wiJ3kzmq/0mAuPgANbvF4UlnKEUIXfRabgr+RKYpMgvmEc+FFdmgqxxGUYnnRz+sWNTKEqw4qf900pfWfTkW9fS41oHL6Q4BfojjfilJiXE9zN1hSuceBZscN5IzmfVSA04Z5tOfg1rrGr+fUdfUVa2+zDYDzP5n0zpHeNaZ+WULJT3Zn2txs9aw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bQpMtIlY/nOoQNUYf7CJq+Z5dTvr2I+jQMvflhhpcvQ=; b=GlftOxynxBqj8WOLD9MIH5m/JMmPfbHMepYpfa4jHtHuNfCBEmto+iB9TDoaqNKeI+hiQ4KNYkjQ6AVGPMXsKteebDEMe41KSCa6dqUrrAjFO9LuALRA9U3sS0ab9T5JloxFIAQMSQSJtKDI9P79s4H/byjcNSZ3A9tOJKonsQw= Received: from DS0PR10MB7953.namprd10.prod.outlook.com (2603:10b6:8:1a1::22) by DS0PR10MB7399.namprd10.prod.outlook.com (2603:10b6:8:11c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.36; Wed, 1 May 2024 19:13:54 +0000 Received: from DS0PR10MB7953.namprd10.prod.outlook.com ([fe80::ddec:934d:1117:499d]) by DS0PR10MB7953.namprd10.prod.outlook.com ([fe80::ddec:934d:1117:499d%3]) with mapi id 15.20.7409.042; Wed, 1 May 2024 19:13:54 +0000 From: David Faust To: gcc-patches@gcc.gnu.org Cc: indu.bhagat@oracle.com, jose.marchesi@oracle.com, cupertino.miranda@oracle.com Subject: [PATCH 1/6] ctf, btf: restructure CTF/BTF emission Date: Wed, 1 May 2024 12:15:01 -0700 Message-ID: <20240501191506.4579-2-david.faust@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240501191506.4579-1-david.faust@oracle.com> References: <20240501191506.4579-1-david.faust@oracle.com> X-ClientProxiedBy: MW4PR04CA0299.namprd04.prod.outlook.com (2603:10b6:303:89::34) To DS0PR10MB7953.namprd10.prod.outlook.com (2603:10b6:8:1a1::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7953:EE_|DS0PR10MB7399:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f0410f6-d2a7-4049-4917-08dc6a12d79c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|1800799015|366007; X-Microsoft-Antispam-Message-Info: nuJXeF5SFqvyDMOoTNFM9YDcIGAoDl9r3BmEINY0FnnrW4Jdpj9eX5TdqoqQ5dA2nXchwohaFklXo93LYG9cRByrqz98ycqIbwuAeubOQ4j9VavQYe4Oqg/ZBNCNcTzRmvIKLO+IFFGVzl5s0OpT85aAmlxt35FLchqbq7EIAYWr7gPFTC72ykV1FbmDbDOyJEKx6nbII354uCXecNkeNvx29YRQOt0NHJS1Je0aZMZ8goMs1UkBw7zVRnpOCLI3ObOLn0losAmKhIbtw0Y7K1TVrUQXAMNaDRcofindajLbRfmaBJuZNxhED5Uh6nUOC3tO43DU6gDBNjJH08mjXcIXpg67DMRH/MqX5E5SRjmpmYWJIMfVMejdfSmW1mBpb2sNY8QgNMssxDOucg/jZYDOgq0+WWwqivjOvJA8rgmh6u0yR/A9mn+Ia9QCr7wjbIIRJpV2VadnmV6kNgkMkcFjQc7/RLu3voQcTpmZmUFCRNLGGGnB1pQIvLZm+lXN4+NtlIk7tp2UIcxDWY2f8Nepyyb8GlSKTBgXwMf+3wApPpOUsHTHANKFJcDHCmmI7LxpQ+IpytnY9dql1esm8hfVqT5wCKLFPeRDg4MqSDYoryVdRGSrIAi4XDH2Ugp6s8lyUBU8eeYaUZ/MNDC/GeCzg8Vczt+Ld+f+Df/Opu//JzbSELWujb0Rsa6cWsbHYODXiBCycuu8o2MJ6imzmV1VV/rv8rgnBpj+EszEcfahCOHTneV0qjIDDZTGrXZmUUZbVx/5Ajmf9V7djxfChD/w4q7u5fl0YFzYUSWydYv+LJ7XKORv0tPJMJBpTEPSVb7OTN5aDS6I03JVGy8n+AFKBm6T+a9t5IlyCoq6u5YYAXsSGfTf5aUos2IFROMWd+u1BAAyWljuXTaLjwwVIvULP8ymPZgE7keOMHnVi1u6cC0Y1pYHnrwIF8HNuEoTewdEG3u+Uez7PdgE6dc6wV+CqbJdgKjFk+ltd3ZxQR4iXC3dRYlDnspPdRyWXJ5FQU5kPrCDkY6f942ebOm20O04J6gt06MiW3gC7yWmzwrOqlVKi0Nui4fI7gBllhjc4+RFO53wYtaRxhwNaz098OudLam8EudjqViSLWekhln97s7oC5g5W2txXNDPlXoOFfFX/j9OaAVgzrkpQwhYlw1spjoFhBGLnFSnW7yXbU19LXqDifqJXJSHxvmctGtG1ZcXjSFREPbmzckhPsBhZVsSiCY+hPNK0DnojIGNXX9uP5uHrQzB/hBnvsRWUu9GrY85XgPaqM/wbvaJznHi5Q== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR10MB7953.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(1800799015)(366007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +0oGeGJkDbLpYHyCoXySp66bO7IvAE65AhH/JzEO6GfWvXH3ubnYE2u8fI9YDspAnyv/gqPMXiORPtPNwZ4/Hph3/DjvG5v4b1S3bk+LElPm1oLmtnOvaUTjBVY2kbRaOFstd8rAtkJEil0nqIPZ8zVR6ntJ4pFP5bNTTZakUY58Faflgtz6hmlLzRqZ7wUx5QVKs0fu/qybCEj++yTDcMaxM+cnGkjN9QY3nh9/I5HDN8FLib2/yrN0oTWx2UAXhA3nBgfsQQe3xGYVvDuRZLc4zwpA9oW7Mkxhd8hv+3UYXyx8GI+NL/ov5RKOseQ+E/r5wSlsODKYcltaJf7qcOJldGs8Ubwxbc1Ua3vJt+ZJnGbpJR8/ZjtTB9xJEgoObMlFaeYEp0oOF0aJyFd3vvXDW2TjXthdIa1vZcTiOFHrQPlfWB/0AEvuH+kq4IBZZaZ3ehiIfCrMfGZ01F29IrCmx2XV6sxNQC+vZM9WNkMNI9vZ2/OQnxXQdch1180AzyTUgI8t1C7nBSDEbrIprs4U33VQxwpr5mmncXRdN2vMz2N/LcfHLWApaAUxA2eXBZ7W4V61Nv0sTlpLsuoqUAezvAD5Xf4qS5XA1F6nxMs8ADXAjx+qtco4fJRrppMXfOBriACTvgRdIuVs4u8RLLXoj+OWF+YrQOchnyjYaPwKc4VYqquCtvL1PjBXxSFA7SznqxYsYDNSHWbN3lhHqgjoykFtlzQ+jUSWmbUbZ/9K5MPPC1z8zo/LckV7SxviRZR1+xPvsYUFA/xC96+x0+MacBSbSfw9yiI1qf1nePlDIOmuPcVGwJzFikh4hgBsjQmx+hfYIkN/UIxTuu7Up/YCp0OWgNhmmQm3qUgs+suWeoYw7iJQFrA6RZzqvFlPDr/yKWy7DAw98mokW6FlosNk5D3JPsGegsOCrRrZHlRCLo1hR+jZOmBTK8lVv7wDGfQ8Kgn4RaQrbmzj0qk3NBUudZ1j92O7R3CpqcCTKoOsLsKZ/y/PLurqIJBnlRHA3c1tYO/j2h1+RQM6RZzF5zWj+exwU/geWzrL+5Vm92RiY+F8Qzy67tITZ6h/IHlRoejowgD8BWSPP2V3Lm3R43mDq/nDpzzjzpV0K+2f6R8E5BMo9sykoP6kvD85KqMJOs50JYknaBo6jzGQrPxm8ls1BqiPnXV7nC2rCaKxMLh75DI0JoyK9R6CkXOPcnCQwUUNKQULxS3uvt3zN5izg8KqFeDM8bYocvdjuAIQf2zh15Be6ApkEnm2g/zz9yw+zutsqsZhiU4YHRcNOLrveG+jgcgI/impei55yeFhQ4u3toFHwwO7kZqaX9IMEivscAvKhVENIrVVjyh7EPQgiNN8KU3PViFRazebvGHHHCpvr4o7wQOyN4NrUZt55LO35Fw1BZCQ5XwrGtCc+91cL1Y98HGSuTvws6Tke1Trhs77bQKeQ+azfOe8q/CuTb/GUzT0ah/4oD50/4XSNLn6X9KWQ7PHf5Kmqz27dq4+GCWaZyEs8FEx2+oz6Ho0Se11wkQ0wfiwKSK45sAnKCwIJ/wWpTlQrfwwW375vygfqZEy1TRMy33pS1ms+4fNaqjbVNJQnZ9oHkv5qbe65DjcqQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: XLmDvln8W3YrCh51dyX65YGPQcW6gh1D/cw5rxkc6ItudkYdq810yG8534J18Ss1S/xZEtslK7IUaxul9HkUxMCumJ/dycZA7u7RcIJq5Z8I2ZWZUDRhqfCKaTXZkuosIOENM1zVdSvAxha+H0NVzsozjuobOc1LoDVhHuhQcPvSsrpBqK2ac2oDpjnXj/pjlDIga9wYzCu2jhx8/UpJcKVKPFiY+qYE3coPPFz4vb3CM7Su/+1Srv2y+8BEstOHstMcmOO2FGcAfAHDO4ZfntIFFbcWLkscyVDrBdMb/Obb8v9qurx/TXQR2FuQX5JbPSNwXL/AoXZjvu+JYvCMetCEnBKYAdgtxpLngEnkcGW1WRTWpUOYTeIAyvRkdQTgR6GcpNVWYI/yduSaGfxRg0WuQuCz1rCSrpNhGC7fRGGO/X6F92LwFVg0rOdwQ9EDYItazFXx0f5F6uAsmyLeEJmo0eKFnDc2nNUH4Gh/D/sziRPLPp7FRQ4l0oMaoaigPjb6km8jIVCPFwqjqwuybwFOmfiHlted6ecHqkcefbamMcNYL21yl2hd2VRtUpBoVuq3l09f6hKh2susJIAHzS6/3kETq/J3ED3finEuvQ8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f0410f6-d2a7-4049-4917-08dc6a12d79c X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7953.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2024 19:13:54.0562 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EqxFW56cNGuzPB/6CcBhgIR2kYpxT8I+jyA5WqJit3/Dw8bAoX6XR7jjwJl8jjsETsHExqTG0yiWiKCMGrpfSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7399 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-01_16,2024-04-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 adultscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2405010135 X-Proofpoint-GUID: Rw8rZ58DAP_E0u6Sbo-lqIDvYT8ZZLlS X-Proofpoint-ORIG-GUID: Rw8rZ58DAP_E0u6Sbo-lqIDvYT8ZZLlS X-Spam-Status: No, score=-13.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org This commit makes some structural changes to the CTF/BTF debug info emission. In particular: a) CTF is new always fully generated and emitted before any BTF-related procedures are run. This means that BTF-related functions can change, even irreversibly, the shared in-memory representation used by the two formats without issue. b) BTF generation has fewer entry points, and is cleanly divided into early_finish and finish. c) BTF is now always emitted at finish (called from dwarf2out_finish), rather than being emitted at early_finish for targets other than BPF CO-RE. Note that this change alone does not alter the contents of BTF at all, regardless of whether it would have previously been emitted at early_finish or finish. The changes are transparent to both CTF and BTF emission. gcc/ * btfout.cc (btf_init_postprocess): Rename to... (btf_early_finish): ...this. (btf_output): Rename to... (btf_finish): ...this. * ctfc.h: Analogous changes. * dwarf2ctf.cc (ctf_debug_early_finish): Conditionally call btf_early_finish or ctf_finalize as appropriate. (ctf_debug_finish): Always call btf_finish here if generating BTF info. (ctf_debug_finalize, ctf_debug_init_postprocess): Delete. * dwarf2out.cc (dwarf2out_early_finish): Remove call to ctf_debug_init_postprocess. --- gcc/btfout.cc | 28 +++++++++++++++++++++++++ gcc/ctfc.h | 4 ++-- gcc/dwarf2ctf.cc | 54 +++++++++++------------------------------------- gcc/dwarf2out.cc | 2 -- 4 files changed, 42 insertions(+), 46 deletions(-) diff --git a/gcc/btfout.cc b/gcc/btfout.cc index 07f066a4706..1b6a9ed811f 100644 --- a/gcc/btfout.cc +++ b/gcc/btfout.cc @@ -1491,6 +1491,34 @@ btf_finalize (void) tu_ctfc = NULL; } +/* Initial entry point of BTF generation, called at early_finish () after + CTF information has possibly been output. Translate all CTF information + to BTF, and do any processing that must be done early, such as creating + BTF_KIND_FUNC records. */ + +void +btf_early_finish (void) +{ + btf_init_postprocess (); +} + +/* Late entry point for BTF generation, called from dwarf2out_finish (). + Complete and emit BTF information. */ + +void +btf_finish (const char * filename) +{ + btf_output (filename); + + /* If compiling for BPF with CO-RE info, we cannot deallocate until after + CO-RE information is created, which happens very late in BPF backend. + Therefore, the deallocation (i.e. btf_finalize ()) is delayed until + TARGET_ASM_FILE_END for BPF CO-RE. */ + if (!btf_with_core_debuginfo_p ()) + btf_finalize (); +} + + /* Traversal function for all BTF_KIND_FUNC type records. */ bool diff --git a/gcc/ctfc.h b/gcc/ctfc.h index fa188bf2f5a..e7bd93901cf 100644 --- a/gcc/ctfc.h +++ b/gcc/ctfc.h @@ -384,8 +384,8 @@ extern void ctf_init (void); extern void ctf_output (const char * filename); extern void ctf_finalize (void); -extern void btf_output (const char * filename); -extern void btf_init_postprocess (void); +extern void btf_early_finish (void); +extern void btf_finish (const char * filename); extern void btf_finalize (void); extern ctf_container_ref ctf_get_tu_ctfc (void); diff --git a/gcc/dwarf2ctf.cc b/gcc/dwarf2ctf.cc index dc59569fe56..ec94982e4b1 100644 --- a/gcc/dwarf2ctf.cc +++ b/gcc/dwarf2ctf.cc @@ -933,30 +933,6 @@ gen_ctf_type (ctf_container_ref ctfc, dw_die_ref die) return type_id; } -/* Prepare for output and write out the CTF debug information. */ - -static void -ctf_debug_finalize (const char *filename, bool btf) -{ - if (btf) - { - btf_output (filename); - /* btf_finalize when compiling BPF applciations gets deallocated by the - BPF target in bpf_file_end. */ - if (btf_debuginfo_p () && !btf_with_core_debuginfo_p ()) - btf_finalize (); - } - - else - { - /* Emit the collected CTF information. */ - ctf_output (filename); - - /* Reset the CTF state. */ - ctf_finalize (); - } -} - bool ctf_do_die (dw_die_ref die) { @@ -996,27 +972,21 @@ ctf_debug_init (void) add_name_attribute (ctf_unknown_die, "unknown"); } -/* Preprocess the CTF debug information after initialization. */ - -void -ctf_debug_init_postprocess (bool btf) -{ - /* Only BTF requires postprocessing right after init. */ - if (btf) - btf_init_postprocess (); -} - /* Early finish CTF/BTF debug info. */ void ctf_debug_early_finish (const char * filename) { - /* Emit CTF debug info early always. */ - if (ctf_debug_info_level > CTFINFO_LEVEL_NONE - /* Emit BTF debug info early if CO-RE relocations are not - required. */ - || (btf_debuginfo_p () && !btf_with_core_debuginfo_p ())) - ctf_debug_finalize (filename, btf_debuginfo_p ()); + /* Emit the collected CTF information. */ + if (ctf_debug_info_level > CTFINFO_LEVEL_NONE) + ctf_output (filename); + + if (btf_debuginfo_p ()) + /* If BTF will also be emitted, start translation to BTF. */ + btf_early_finish (); + else + /* Otherwise, done with the CTF container. */ + ctf_finalize (); } /* Finish CTF/BTF debug info emission. */ @@ -1027,8 +997,8 @@ ctf_debug_finish (const char * filename) /* Emit BTF debug info here when CO-RE relocations need to be generated. BTF with CO-RE relocations needs to be generated when CO-RE is in effect for the BPF target. */ - if (btf_debuginfo_p () && btf_with_core_debuginfo_p ()) - ctf_debug_finalize (filename, btf_debuginfo_p ()); + if (btf_debuginfo_p ()) + btf_finish (filename); } #include "gt-dwarf2ctf.h" diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc index 1b0e8b5a5b2..1664934ccc3 100644 --- a/gcc/dwarf2out.cc +++ b/gcc/dwarf2out.cc @@ -33168,8 +33168,6 @@ dwarf2out_early_finish (const char *filename) ctf_debug_do_cu (comp_unit_die ()); for (limbo_die_node *node = limbo_die_list; node; node = node->next) ctf_debug_do_cu (node->die); - /* Post process the debug data in the CTF container if necessary. */ - ctf_debug_init_postprocess (btf_debuginfo_p ()); ctf_debug_early_finish (filename); }