From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 540283857828 for ; Wed, 13 Mar 2024 14:25:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 540283857828 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 540283857828 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1710339949; cv=pass; b=WzWb+kiFAhgh/Uon9H+7FdlBIm0HrRk19tibJDv/ymVUBBEdC5v93QG8wCsNeqv/8vEM4fltNjRc+ivU23MB9wxK4jXeYIlrr6uNzcC0jk+Eri+5SRXBCUm7RJGhsJE8JRxVRayBCRNv/FRLliiWGMaapc7N7zVMYqOWje22Jrg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1710339949; c=relaxed/simple; bh=2aRWW+Ww1RRrIJtK5jm3HAP0Bb3vGzMrvIAJtw4WdH0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=erdqzfkNcszvyXxL/HoKxoS2P/M2TmCh94JOgdas10XNhg+dxSgxhDutxSh3qc2KeKAcnEAQcfoWY5C9+fJRAbYWdANm8peglwCXnIFthlRm2/ARQtrZxsouaQlZgj9aWWtuLwbstc0aPZKx0xSmNCSpaJNNSg/VKIJlmWngd+c= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42D8hqP7000608 for ; Wed, 13 Mar 2024 14:25:48 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=WpJNmM1vQAqtBUEpHF8hoeUwhfnCAAWqhsh2tx7Ybb8=; b=QKBRqNXFv674tYd5oE5B+8QsxHQzlcqUwyJiPCEfQt9kgDK4RwBMHXo+ePlb8LgKvfFa wTvLV+FrzfcdpRs7IQ5ar94Xbj0AWE5Zu4CNUjbG/J0kWWESD79DuaiD1D5w8U7YzAF+ 0aZJK4CyS/6jGwXP+5vX3Wducuip5VKIX893b936ksNnZzcDug4mMNrxprPaLiLezEdo eGw8xCojXmlAleEPiEHG0kaoubEQ07HvhbVHjVB/TIVUQz5B388TJbDl0flQfjVh2sEg Cp4UuqXbyBsT0ChXu6YbBMcAr7en/tzxbIFhied47/LuuFpt5gjABumvg2nAZYTqecF2 dg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3wrftdh7c0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 13 Mar 2024 14:25:47 +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 42DDse8t019727 for ; Wed, 13 Mar 2024 14:25:46 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3wre78v64u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 13 Mar 2024 14:25:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GW3aSopf03b5HyP3p+tyFpypkHP7G03iR930+U6BapKh/IwGjXnL+46zhKqYUC3WhvJ+w2KawrECR6DNgqU/aiOXwa+rG+sjXcM/tDIgZ/BhkC42PZJdppTEFF8FhDzABB+egYvVuyE2vYOL+teZkOudC9cZ2xlQr/8w+ELVgUmfs6xX93F+ZfywMFtp9RsI0a/jD8/zeBBflLPrcs79S9xMM9oSAzKikyJBfS0PgIMWZqwspCDWOrFZaxxKTG3SrllpJ3A8BN8W1iIwM2uU/zxUqvfvmT4weiQjkLmHDmEXGzJLl6nwvB1B5yAaA7Y7szTgm7xvVEhfih4yrdrkjQ== 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=WpJNmM1vQAqtBUEpHF8hoeUwhfnCAAWqhsh2tx7Ybb8=; b=ke8b4pWkzfgCPKIeULle+H6BajHtuJD1ILq/WGR9s33y+1LtHWxFdynB+6n+wBoHsEhlnoU0YK8fZ5PCBuePu5HJOK3h2AifNyFi82uhNhI8JvHah1miO4GpNmeqBVJYC7lxR9TVcI6OF4yfy6X3VfZMOLXoZ/qDCz0ZEzDvJBck4wklJHbklPGa0JDYS895h4WK+KKw26pXppuEvFYJhrtzOC6RI7PFsycIF6aLtZ7Pe2JT79QIe0+X8ol4TTPyCVz/emWwRJDTFAl5J9jyOs/HU5sZ7tzwgJfF4f29ZNMvN38hvDDmIqqGvV/Z7zxMErcOPUaaUIIm8MibCvHpvQ== 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=WpJNmM1vQAqtBUEpHF8hoeUwhfnCAAWqhsh2tx7Ybb8=; b=qyDC3VCyBc4F1GY9fmcdZquhMQr6wNgo8qGA+dtcKSUWtJFO0kvpRkz/IShiHOZubwGiVskGQK5i9Jc0w7TCsiM//OzD3oTxai3so75qAzBVC6zLVMAjw6LilyWgXUEoTSeQ46cg4etJ4zFlsOQiXUfp/upq29v+C3s7HVfG+9I= Received: from MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) by BN0PR10MB4888.namprd10.prod.outlook.com (2603:10b6:408:115::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Wed, 13 Mar 2024 14:25:43 +0000 Received: from MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::8aee:c094:84e2:9401]) by MN2PR10MB4382.namprd10.prod.outlook.com ([fe80::8aee:c094:84e2:9401%5]) with mapi id 15.20.7386.017; Wed, 13 Mar 2024 14:25:43 +0000 From: Cupertino Miranda To: gcc-patches@gcc.gnu.org Cc: jose.marchesi@oracle.com, david.faust@oracle.com, elena.zannoni@oracle.com, Cupertino Miranda Subject: [PATCH 3/3] bpf: Corrected index computation when present with unnamed struct fields Date: Wed, 13 Mar 2024 14:24:41 +0000 Message-Id: <20240313142441.180242-3-cupertino.miranda@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240313142441.180242-1-cupertino.miranda@oracle.com> References: <20240313142441.180242-1-cupertino.miranda@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: LO4P123CA0684.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:351::17) To MN2PR10MB4382.namprd10.prod.outlook.com (2603:10b6:208:1d7::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB4382:EE_|BN0PR10MB4888:EE_ X-MS-Office365-Filtering-Correlation-Id: 644c08e6-012c-4c63-a442-08dc4369778e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hyaHZtViBqz3WKEzAWzobsngZC7xjD+U3dmczNrNvCiKvzFv7wj4PDzf/lxzWgVj6s4WbR08KIU6hY6uEfHRCOlBHZrfiA/DTHCZonnG+3LRHSl9dTdQRa5jT7M0YjNtaeAOpL3b2jdXhCFQhGfKgqUvTRfXRj6vhx4j+1URpnp+tg5G3ClTfLEenWW9p8s7LnN1iWiXnQ3gj3relZvSSYYEh+Q/Erf3fzl+RNCF018DaTV9OsoXrYO+wm1IA+n6QgThx/jQeo3Q4gRb/e8HxCCL7ywm0GziLFoXUHscImmV28G5Qh7Jm9aZaC28WiCcG7uXppvtxkSpAJfozS45smf1b46tHxDJnON9Oo8tmcQKtPb1G43bWlfwt5lUzVo42eam9hATCgQ34azIQ0+2IRwl4dEoFrQW4hCFkznXVueqGUQuQkkpLwdX168ZY79aE6NekJ5hsO+loDWVGVPE5uEmDqcYzU9GZnGVhuyOg9AgdPiYCKj5MRUc7kc4R69OiE+MgRnUV7hI40QWvz4mmNO/sphRO5/DOPWVT7L6QgOsxqt2aWOjSgtzS//DZxaZTJ1IIRaKJ/9GCrF24v+3zRyAPkVtliW31s8z1/jzJwY= 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)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Mxu1mlRWih8YPC2iwQXyGxMEifEslTYIMMjPC1E0keUDMVplUEBc1tCSrBha?= =?us-ascii?Q?JUpYu9P5IfRqLPxYELVCierRLOk/wVgeBLVWuCvFdwq5W95ind+f/yovJtB/?= =?us-ascii?Q?qTF8J6BAfSXTbMPG7AF0Fp4Syu045zo5YELnJCOkURVFrKHJW0lELFrKDZ2c?= =?us-ascii?Q?oc8GuBY/L3Ab8hVrrLfg9JU7cvDtAFzTNgg0CkBssEeaq+//lxZwqKZOX9np?= =?us-ascii?Q?i8WRm5kT62iCLgE2LDVs3D1gyrIz4fvaVSJS2K7QDWJ3iwGzgA9f6RCAc6bP?= =?us-ascii?Q?K8JTU5+1wXaVsP8lEZqMAjIzxkR2cM+k+tTNg3sMEmn62SYi16QQdOEhia6q?= =?us-ascii?Q?PqAXyPMCTd2RyEUUUeA1cHeM1GiKSfUtL/ualcqrkKbfNM9XKSJBh05GU2pW?= =?us-ascii?Q?K7wc0nGzLevG7EckTEHT7eWIIpawThX4rqqkqYxb0Iohz7e+QD2BUKMCBm7p?= =?us-ascii?Q?BFFYRF36KhMr+Uh97kaf6ROpZ5ihB0xOIVI6JxuezBS/UqarUwRQ7YQvuMsx?= =?us-ascii?Q?ipgdcaFX8Y6OzYfc4FXsAfOf/n0F3IN2FswhXo1c/Jt+1HHs+UDf0Z+9l74T?= =?us-ascii?Q?kzK+9WJdTbFDRnulw65jhr4owRSnWhqcY3tGqBINLoK7Gz9d3+wOOAngxuJL?= =?us-ascii?Q?yPSCZSF/sqgSKt08tmEUecdZlpm+EfLy0rVhQpNU2omUjsTctVP19/rdCHN/?= =?us-ascii?Q?Nz4pH56uLhfHojklYFGD5NCVHxW35izOvrwquXQ45s57RTK+cG1aCt1mFbR4?= =?us-ascii?Q?g3Ja8mKaEUXt/NKxn2qgNNkzWpgaMhr3JIfHOS5moS/8g2Ar0bWCI1jopBN4?= =?us-ascii?Q?K8VHABFxr3U++79VakoCaiqIzPhypuqea/Fz3gGqn/oz5CuW0DAa7dfAuZQM?= =?us-ascii?Q?Y24hnw3BAD75vin/3PUbk9JPLXNtgFNW7WLnqPfQ2kJDlWbq8WcPNPyexGph?= =?us-ascii?Q?uPt9a3J5u6/0wJpdYXavB/2kvD7X7xHZgNTHFpjFzcMXdOOg8eiIAltUGeIB?= =?us-ascii?Q?LQ+Vbb1L8LuAwq4xqKkTx41RAJofQs41+THhQJwU9txADfZYrlIszCPeVJSU?= =?us-ascii?Q?YTKiCShgsrdxDezomydsGTeCoyUIpsM9hbnTg1Tev1McD7pVjpKMmPOP87kY?= =?us-ascii?Q?8ejFTDdc2l7/9TarZJPC9ULNXVFnEY88uUoCd8HenHqTQ9emndZ2GojI7SFx?= =?us-ascii?Q?Hc33uG0nco62jv4lmdQ5H04eDyck4djvOn+4bM2dTZsKxf6iECtg/jZcqK1w?= =?us-ascii?Q?GI6W/tOWIk5wtiEfsIkGJJpstHD50Fp4OcjuRhec22Eqeh+0pK3NELcPmybA?= =?us-ascii?Q?prB7/hp1Mo42PT4gnDUPyoKl7TvfnGiVIQNPkLa8bVPfChkIB+siBZYL340N?= =?us-ascii?Q?Z7RNF2MR6uh4vEDx6mQEk8hScyDZNJfT62C3njTG2aak6/2CNbzaptJzEt5q?= =?us-ascii?Q?oP1xP/G/eY6Qb//K9HYl6K/4p2LlgB4PguntrGswDQxymyHEYo7nnv3e/fPj?= =?us-ascii?Q?DcfjpLv3msiAVwzd4cR+3fqKU5dmW88A5sJ30/5mSmcdRIvy3NVhhIk5zsTO?= =?us-ascii?Q?8/LVujZDV+srTV2s5/2qRz3VdnwzT3Sorz9r1KkQ5p+xIpgzT+GReDxjjlQM?= =?us-ascii?Q?Q1HG0S1JQn+6ax/lgnn50nQ=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: wUIufd5hSyhj6GUzGBffK4Pmg4tkB/2OnzbxmZJpOjhBKCVW0WXOVOK7DxPmusBdzDTvMXwAgI6pAnXdhFlISqHBFA6CXvyQ3tLZI0S5mmACdlzcyx1L2KC5MobhqouZxO21KR93jOAAED9VzjC7A6eC9M1bmy0h4u/7tP27ei18ydRUr4yMGHiXdvxtaY7o7eBbySUPBa9uHqCEEk8Somn959J7XyQ36/+mP6M9a7UgjiqEHdpMowRqDYW9U61MPqQBvsxxoPvH96UG7LuiqHextThvx2AnR57JCUoz/f7ZJiFYGPUTSieGyQ8AQNgtYOOEKKDMPPGDgAEa+s4T0moCbb51x1Qa/fDR5hccX+0p6kpsFCZaQOvPDVZkvFGk0bQ8590PxJUCxCf3wu1WyVXolcX37hz1OZodxev1ziDnV/cJuDnQmv70ht8YDcOYGfq4DFqke/MWDPztXfaGbCmvAw/lAO8sRIKCbm0b4FNQyAIRWt8klpU+2b7T5sD5fqe7Cn1RHRaN2F9L2V6rREwIlHUM2tMKXWt3+nfWHA0d1Fi1WP2II6Y8CTFBSW/J+bXUrhF5Fhq+LcZHKO7hT5vZWnokVCPtyue1aLGZ5WE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 644c08e6-012c-4c63-a442-08dc4369778e X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB4382.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2024 14:25:43.8215 (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: Z6nyMKJ91mXSAGAx64MzzYRdSqqnigmXDML3P3Ug4vDhYqq0qOg+ndPGXDkcOehPOxQy6IxlS7epKsCGd09G0UcRPEtzDxCQp9yAGrcorfg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB4888 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-03-13_09,2024-03-12_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 spamscore=0 bulkscore=0 phishscore=0 malwarescore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2403130108 X-Proofpoint-ORIG-GUID: KEy7uhyUTKbLXyneotwNCs_-Vy-iUrxx X-Proofpoint-GUID: KEy7uhyUTKbLXyneotwNCs_-Vy-iUrxx X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,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 List-Id: Any unnamed structure field if not a member of the BTF_KIND_STRUCT. For that reason, CO-RE access strings indexes should take that in consideration. This patch adds a condition to the incrementer that computes the index for the field access. gcc/ChangeLog: * config/bpf/core-builtins.cc (bpf_core_get_index): Check if field contains a DECL_NAME. gcc/testsuite/ChangeLog: * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Add testcase for unnamed fields. --- gcc/config/bpf/core-builtins.cc | 6 +++++- .../gcc.target/bpf/core-builtin-fieldinfo-offset-1.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/config/bpf/core-builtins.cc b/gcc/config/bpf/core-builtins.cc index 70b14e48e6e5..8333ad81d0e0 100644 --- a/gcc/config/bpf/core-builtins.cc +++ b/gcc/config/bpf/core-builtins.cc @@ -553,7 +553,11 @@ bpf_core_get_index (const tree node, bool *valid) { if (l == node) return i; - i++; + /* Skip unnamed padding, not represented by BTF. */ + if (DECL_NAME(l) != NULL_TREE + || TREE_CODE (TREE_TYPE (l)) == UNION_TYPE + || TREE_CODE (TREE_TYPE (l)) == RECORD_TYPE) + i++; } } else if (code == ARRAY_REF || code == ARRAY_RANGE_REF || code == MEM_REF) diff --git a/gcc/testsuite/gcc.target/bpf/core-builtin-fieldinfo-offset-1.c b/gcc/testsuite/gcc.target/bpf/core-builtin-fieldinfo-offset-1.c index 27654205287d..8b1d8b012a2a 100644 --- a/gcc/testsuite/gcc.target/bpf/core-builtin-fieldinfo-offset-1.c +++ b/gcc/testsuite/gcc.target/bpf/core-builtin-fieldinfo-offset-1.c @@ -14,6 +14,9 @@ struct T { struct S s[2]; char c; char d; + int a: 1; + int:31; + int f; }; enum { @@ -38,7 +41,9 @@ unsigned int foo (struct T *t) unsigned e1 = __builtin_preserve_field_info (bar()->d, FIELD_BYTE_OFFSET); unsigned e2 = __builtin_preserve_field_info (bar()->s[1].a4, FIELD_BYTE_OFFSET); - return s0a1 + s0a4 + s0x + s1a1 + s1a4 + s1x + c + d + e1 + e2; + unsigned f1 = __builtin_preserve_field_info (t->f, FIELD_BYTE_OFFSET); + + return s0a1 + s0a4 + s0x + s1a1 + s1a4 + s1x + c + d + e1 + e2 + f1; } /* { dg-final { scan-assembler-times "\[\t \]mov\[\t \]%r\[0-9\],4" 2 } } */ @@ -65,5 +70,6 @@ unsigned int foo (struct T *t) /* { dg-final { scan-assembler-times "bpfcr_astr_off \\(\"0:1:1:4\"\\)" 1 } } */ /* { dg-final { scan-assembler-times "bpfcr_astr_off \\(\"0:2\"\\)" 1 } } */ /* { dg-final { scan-assembler-times "bpfcr_astr_off \\(\"0:3\"\\)" 2 } } */ +/* { dg-final { scan-assembler-times "bpfcr_astr_off \\(\"0:5\"\\)" 1 } } */ -/* { dg-final { scan-assembler-times "0\[\t \]+\[^\n\]*bpfcr_kind" 10 } } */ +/* { dg-final { scan-assembler-times "0\[\t \]+\[^\n\]*bpfcr_kind" 11 } } */ -- 2.30.2