From patchwork Tue Feb 20 10:24:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cupertino Miranda X-Patchwork-Id: 86024 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 B424A3858415 for ; Tue, 20 Feb 2024 10:25:32 +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 113473858C29 for ; Tue, 20 Feb 2024 10:24:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 113473858C29 Authentication-Results: sourceware.org; dmarc=pass (p=none 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 113473858C29 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=1708424697; cv=pass; b=WXkM9vRVjhm+E6YcfOd4YT7Zms1WQL1eSgwMTDBMTvW0RISiB7ZWwbW5w/rJhcCeisaZRa0iFbsb7Ym5qLOAMlvUtMi4nQaV/mBIiJAvYkfEQBKoBh7snzH1tpTpJKjK9npA90BEATtAtWlw7dz3XY1OCGBzpd6wh4cCY5gu+mU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708424697; c=relaxed/simple; bh=PcHZeX6ndbmz30LsyUUqArwyJnZ1GlY+AEFW4MN69eY=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=bqnOGQM3Ey0dovjqOqjg3nbNuVe5KyCe1X8fGfKFuhdxX0i6FvXA80X4EnG1cQuyGueWY/YdCI1DdHEcF1KhnLaK9jZzuH/2Hyx5nWEx9FP9OR4Eqx/X6nKx4MHEE9Wx5oSH1w5Y0yphyyGVSXbqs8Y9ZBnndJ3CqYBqjLrAgrY= 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 41K8xRvj024949 for ; Tue, 20 Feb 2024 10:24:52 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=HiSz3NJYnmgk/9dgFzYgud44AvjSs6Lu2gv97Dx27OU=; b=ECRTIRm9Eaauw/WHK/MMapNm3rtwZk8+HBc7V6hpPry3DwoD4zRVIqOA6WyAAbTs3Efa 0Y6+No+xuRcrY3C4OLZhdq62+DEGpZaRd4ERWjVCkMKYy/Dx3pnI4u4IJjwcsC2Liemr NtwysXfVkqDNQTy0heviUGTW5mtP88dKnCT+RpaKQYkNSIj3oSyxtJE6oytQeld15QxQ R2rLtOYkr2LvrOahZq9gOh6XwJcxQRby3grUf619BLhfBnvEzX0TkgsxXqPibiFa++28 sgxfgZ4YeBOTV1cEmaa7kCHLUvAQCRvFVaCJkWd/Mbx9T2sKVsACkYzAgmW019PwKGJT UA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3wakqc6d2y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 20 Feb 2024 10:24:52 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 41K9qV9S038568 for ; Tue, 20 Feb 2024 10:24:51 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2169.outbound.protection.outlook.com [104.47.59.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3wak871dn3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 20 Feb 2024 10:24:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SGZPz7nwjXrYsDMhOHJJIoOrxXBCBHHq7w8Xkb6RaCLHOebIwC3As5oC5sWdsvKTN31wUWD8oG3KO4Geprxuv+U0oWmZBISnuM6MSmthNTJHz+nxGpgulBKPZ6fyLoEaNmDYn6EIbHzD/CfWp61pxgml/3AHQmRa/bP1IoxXhIJzPOCUPzvjcevNF8QjSPUVM3MzST5aWTcuwhCQK1hzNsA/K+vTmcXgAeXfcxuAS6FS3Pa7iszV/DrEl9yi9F8B46HfLhat1XMFxdh9E5bVBVZEk6zWhzdpUReEmOevAqjBuEVKHhYX448ybS6T+CNQUDGm2ehnkkbRmEqFQJPdfw== 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=HiSz3NJYnmgk/9dgFzYgud44AvjSs6Lu2gv97Dx27OU=; b=Eowa+Z1uEfaTFpDyN7KZcwG4JyjhwFyILoYf8TeVb+Yw5BdI1IK7Zic1hcho5F7b5Pmb46cDHBAD/Xk6sn2suQxYpXPanyHqIQC/pMvXk1Hg2dwO1lYY5bDgL+y2MRXaS/zQkRMAOO6ABTWdX3f8Tg+sDl4bW3bzbvm6beU2sq0nX97QrUmqjmrX/IPI+q4BLefYdF3RTh/F3yK2Y1SGQFUjPi4nU2y9Kwrm3+5emOFzDarMCCmQ9oiEC01rfp1EFIzD3tPIyIQroDJeO8gdydeLWtm6mL2Jz6L8AJoFHEqaj6mOxakWNmwTmyd8I4/eDa+rwGiMbkTFXtwcGW/VRg== 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=HiSz3NJYnmgk/9dgFzYgud44AvjSs6Lu2gv97Dx27OU=; b=N8esJTuEEbKw3K1dCGSKOlmbjuNZQQ9sTRHwL+mzc6B96vY2L08in37NaK8LkSu0KknrDC4A3yvPwyBOasy5kwM7xh4eKfDJFgERQIGiJbPSmvSWi5r1eng2L5DW27ysdrKEbdNyKpvVWV8N0uOTKyrVRIOUSrTaikBlbcoQH/s= Received: from MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) by IA0PR10MB7624.namprd10.prod.outlook.com (2603:10b6:208:491::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.39; Tue, 20 Feb 2024 10:24:49 +0000 Received: from MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::8de3:eccb:9288:95d0]) by MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::8de3:eccb:9288:95d0%6]) with mapi id 15.20.7292.036; Tue, 20 Feb 2024 10:24:49 +0000 From: Cupertino Miranda To: gcc-patches@gcc.gnu.org Cc: jose.marchesi@oracle.com, david.faust@oracle.com, elena.zannoni@oracle.com, indu.bhagat@oracle.com, Cupertino Miranda Subject: [PATCH 2/5] btf: added KIND_FUNC traversal function. Date: Tue, 20 Feb 2024 10:24:24 +0000 Message-Id: <20240220102427.1512739-3-cupertino.miranda@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240220102427.1512739-1-cupertino.miranda@oracle.com> References: <20240220102427.1512739-1-cupertino.miranda@oracle.com> X-ClientProxiedBy: LO6P123CA0037.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:2fe::9) To MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB4382:EE_|IA0PR10MB7624:EE_ X-MS-Office365-Filtering-Correlation-Id: 563c1d58-1064-4548-1eba-08dc31fe2b3b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: agHGRic4YGlsyKJh+4Wsvs7frv9wPo5FvG71qXQvFlkyanpqIhUmbfqjPl/NYY4Q9rKl2XuZ8l4mW21f9+Ko7jo0Oh2EYHiGAhMxhRx89imV2LhLTL4dbybLnVgz+UB6GaKM7+wikhZZRDP9qcDRN7lUfJUMOVAHn35vmHW7s7uYLtPA44FVD+M4WbsWIh6Ju7DP8XhTfFFWTV6ec54o67vH/robR7mhSeZ285xIwJMEDYtqhBZZOwAiNz8NL+z0G0/E06NOxe4Sr97Eita9nMJ0RyR7u2MlhpPcrrgt51hcK3wP7FOD4Fwr3vSoP9QPxg9XGqY0M9K/pyEv+ED4tlLMEiBFOISY1KvRqYxd9xmCUWeD6iwzklfOXLLojKkmzQjDvsb7PWU+q8OvOeMfBAvfEClBspbzxZ++d3B/YEckBR9y+0tIihrTt/KgoPj0cAyllKJ/Hfkg7CmKhphZdAV2GjakU7KluwfYH/5a0vcYPrQms9lk7jEaNcvpGgOdmHD8WLCWcgw5rPosuMw1gJt4ZjFd7SP9yqLNS2PFuGc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB4382.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: NXTm8dT4ejr33IRdbkmqV0kq/9T76XYNBqd4JnpKMAYEGSI8ysgkFWK9VNlLtf3GG3CAfaEn7yjD7CBqWnzP1ZWO+sTYpq9EnxvnF8s/iF4/HTFEKyupCVNPXYw+qkDwhbO49nCyXvqTi7oB7b/Aq8IS+HaTxmKK2u4C4oETiv7SuEGMyLb8Vlfuv/KEHi5O+fZfq7kRvEBtItrh0W0e0Z/clFDotoat7rf58m/ruKwPT1qbdvvt+Zlp+DEofIZD+XphgEAIaFe7yRxSJ0VBz7TDdwvPUOBmSMY01np1iLi4wVROt6BhjIRX8P13+y/waLA1/vz0fuCSTGHUMddAwqqxZP4Kffp+/cNYhfa/xh3Tv3odjUPeDl9mljlMzq7GjbhRSUWxZ2SgkWXnKbrcTVdkeUI7mlLcXo6VHlaDPUWpbPbw/cRneBs2eIYiCt2SWWKCHzbY3QmkCxjIXJK2dWw09H7OpIoIJFKe5RphlmR3Cy95jYtYNDqiKIWx9jRunoCVE9bYJlTEzVfm5faQUvkprIcO3I7Hboqc8boMr/dvMuzeN9Ul/vebgSHQtGCjJPmwwfvgmc/vw9E6mcUxQQIGiVKFw/E6L4KDF0Dgwq8mtH12zMvQZSC2p5crgSpG/G4fP7X2p6hU5TOWJZwiysqFEXb/t2jLSf8DTwBhyrhen2tHg5SFvRogGCP9J62qXFRlQ9MdAxe7NVdxXX6TG1EzuWEudIDqU8cdSQgfQYf5+rveFMof04Z1K5hDzdin+OiBL1Zp1Sa20EGxpFyVZ2e2hEk7NHO2Pq4Zr9x+7AMtR78PiPzU42fbejW/cRhkI6NR5/Og7WxviHNgCfrxLAYmzHcuKvZGFEAo6H+1u1mF2JsVYii9VEK1pzeSKD7icCdxxdKqMwZa43sH+0DekkS2+eiceo3MbvzgpRt22EdISSgMwSRxx1sf6TDCfA0Rq9FDRFQiwV/wbOd3sOE184n1+GxyR2IWHam/q6FbGrxfsE4HyQAWPZq7bUBTHxzoZzSny0qPJnYenzOIcR1udaByskItePySI2zyap5uf1gEi0dqSARDbQPjFue6iv8XsMb49Y2xM/6l/5C6lV6cFxqrUCxboyELp8E2V9TRlaK0Bf5WweJs43r+Q1g99rhvtRbkyx6jn2Kxzi3msp2CAXQowSDGABQcBcqU5Rwv6F6YPSXjwJBtvGbvIwoGtzg2pNhOxh/lvEqLY3tO0UfG6Bh0vuUjCxx3LQgipAem2WMABT3MdZRnCl6xH/8osCop8Qn5MF09TW6AfiEkYfcP0ebp/SHTe5+XXYIBLn/pDwS0wTGtwNd2d1g4iFvGPiLqpqu7DZHscIAFQJGNW1lx2BkV/OWJAfz4pHtu6RcrOQQcIOvk+ZWqNp+b8/yCTD9uV3sKr61mbsWys3ZQkM5cxzs4yM3eCreTd1imdPeUFRwarTZvXshaq48q9Dxyax1hTxxucJgfIyTxupzDPeJSu6H5h7mjzMiBJZeiTx2SvH44tmdfTeK13KI/GJ63SWsK8ah5FyuLMcmGEh2uyGlPm8Ey2wBBVmHCRMu/Aam3FwJjUeu/9pXf1N/kHK/oJZrYxx6yJ+RJ2JskTP3oHV6TpEpwCaueP2q5kM21Fenp0hg= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: jo4TE7JtZBjf1Q8wO7qSoWKvoSQKyPnP7sV2Wj/ps40zRMPc0/BDUb2cn68SDyEthA6o666gM65Clt85nVmt8STSWoDv975ouLM0YcnOJeu5jTP8hfrXJ6UdsLLaJVHe69niexX+Nxgd8lXhELzljOXz/l6I9dZuya8oI+uSm5giL4+5jNEukElbEOzzFSqaG0DVuzf5Gf7TKgI+hBUs5eN7DFQxP9V8XjVY7zDebSQBf02fi4GPZDpa9cooWg7iyBKI9GltWBYe2BiltGZ/SN9UDO/rwIql0UhRyzZKHucHmIXFYMljrfb6PcGzj32/0rS08bzIIqOpL5oVhFQHTiqqvj7C7MfNLNxc9bFsE/pusDHUAVmUpWvGonloZ/cP/U40xZ8wf7kiMtfSnbgLc1VnBNwoijnODs/pA7JCsEHZPLfsXL5linSn8KOX9OeGMuZy0/tXASS635g3WZX4x1ORCVxx8CcjIEnuLdlguncSxDVJr5eqGBW3F+FraM2kLDb1hTyq+6Y/JpSywpHCwPIJqyWBfjwZ0qsSHqasL43cABxHzi7YJ15Iwz8ntSfUotFQHM8391Yw6T4kkZG4xjiJ4xSmCMk9blWu3+PYU7o= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 563c1d58-1064-4548-1eba-08dc31fe2b3b X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4382.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Feb 2024 10:24:49.7894 (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: 3ZgYia0vjvyvGQzwqkWXkA7RbzdrF/Z/rWho2SoKm0hVFAOYU1aXLd9hIqOnPu8k9tf6CK4xQ3S23ugPbqiR3mHuZsR+TnzjWeSL5ByGxq4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB7624 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-20_06,2024-02-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 adultscore=0 mlxlogscore=976 mlxscore=0 bulkscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2402200074 X-Proofpoint-GUID: 7DBBYKpqmCMszWFJbbWgSDful1i_ZgPR X-Proofpoint-ORIG-GUID: 7DBBYKpqmCMszWFJbbWgSDful1i_ZgPR X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, 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: 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+patchwork=sourceware.org@gcc.gnu.org Added a traversal function to traverse all BTF_KIND_FUNC nodes with a callback function. Used for .BTF.ext section content creation. gcc/ChangeLog * btfout.cc (output_btf_func_types): use FOR_EACH_VEC_ELT. (traverse_btf_func_types): Defined function. * ctfc.h (funcs_traverse_callback): typedef for function prototype. (traverse_btf_func_types): Added prototype. --- gcc/btfout.cc | 22 ++++++++++++++++++++-- gcc/ctfc.h | 3 +++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/gcc/btfout.cc b/gcc/btfout.cc index 7e114e224449..7aabd99f3e7c 100644 --- a/gcc/btfout.cc +++ b/gcc/btfout.cc @@ -1276,8 +1276,10 @@ output_btf_types (ctf_container_ref ctfc) static void output_btf_func_types (ctf_container_ref ctfc) { - for (size_t i = 0; i < vec_safe_length (funcs); i++) - btf_asm_func_type (ctfc, (*funcs)[i], i); + ctf_dtdef_ref ref; + unsigned i; + FOR_EACH_VEC_ELT (*funcs, i, ref) + btf_asm_func_type (ctfc, ref, i); } /* Output all BTF_KIND_DATASEC records. */ @@ -1452,4 +1454,20 @@ btf_finalize (void) tu_ctfc = NULL; } +/* Traversal function for all BTF_KIND_FUNC type records. */ + +bool +traverse_btf_func_types (funcs_traverse_callback callback, void *data) +{ + ctf_dtdef_ref ref; + unsigned i; + FOR_EACH_VEC_ELT (*funcs, i, ref) + { + bool stop = callback (ref, data); + if (stop == true) + return true; + } + return false; +} + #include "gt-btfout.h" diff --git a/gcc/ctfc.h b/gcc/ctfc.h index 7aac57edac55..fa188bf2f5a4 100644 --- a/gcc/ctfc.h +++ b/gcc/ctfc.h @@ -441,6 +441,9 @@ extern int ctf_add_variable (ctf_container_ref, const char *, ctf_id_t, extern ctf_id_t ctf_lookup_tree_type (ctf_container_ref, const tree); extern ctf_id_t get_btf_id (ctf_id_t); +typedef bool (*funcs_traverse_callback) (ctf_dtdef_ref, void *); +bool traverse_btf_func_types (funcs_traverse_callback, void *); + /* CTF section does not emit location information; at this time, location information is needed for BTF CO-RE use-cases. */