From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 84E9E3858C42 for ; Thu, 25 Apr 2024 17:21:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 84E9E3858C42 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 84E9E3858C42 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=1714065699; cv=pass; b=bOqo2UHgiiK0sKC3kenXFxc8pDGAuzvmg+zgeOuetQUuKjSznjUKz0vYov+rQSDNch7xzsI8XizYOvQHRbtbfI24XDOYzT8OkF9CpW/ZUiAfy5hMLt8LAhOzomq9+J3WwbkkHV//WS415epFEghVECvMeBiY3KdJeFIzQ6IWgBg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714065699; c=relaxed/simple; bh=3CZobC/Qe7AztZuwt4sYVbzoklkv2T0a1g06fbSqnjY=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=lakfnqwFTU4fDF5c4r5dKJMJI4+PwEGl0IDeIsQeQGXPm2zVnm/wqRvpYhzI8FF6U9yLSF3JiOh3fRzAPh+YG74ZeA5aXIFvtsNfqO0KnLSJIsM9xgm+PDcSAJRmr5FwrF2b4G+IKkt7STS0cclWf2lHH6ceCcyT4qJxKCANvSE= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43PHK9Cr004495 for ; Thu, 25 Apr 2024 17:21:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=7niwBNpfOavZtc18A8P+/WIX6jbFbyZK2QjAIQhAHlM=; b=XDJJOA9/wlcmJM1nTAKF1bBS/ie3kJaehpbV299fBRJj2MqWbqzKRWQVg/2ScC2cG/k7 zD9gZLtEriwi86Bv5V5XFy8R6VBTvIWIhYeWFBMWM5ohorbrmlDZPQvAR/H/DOi9jnem KYZwgW2ywod1rcRJUXnDGZidx3bRL9T0BFcfV0/ShB63SJGAEzh6KxT64NG2fS4NRzdx +Wjq6kSueO41wsiTZGKwlTUT8ZtCpwNkKIdmuSZdagBm//SmmrSuo5P+YKWsL9teI2B6 F3iX+2YSIR6dSWj+PSv7kvkM6oIWmJKdrOrATs5pVLCiwSvnnR6AS5M4KgRtAaFi5+29 Bg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xm68vmex5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 25 Apr 2024 17:21:33 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 43PGxhFe030873 for ; Thu, 25 Apr 2024 17:21:32 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2040.outbound.protection.outlook.com [104.47.57.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3xm45apyqp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 25 Apr 2024 17:21:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lGs8JHXSbOWXzbcvG1qj49CJyVgNj1k5/BBZsOihUY4CiT8nRRENWD4v3xBoO0Tn5gWVj3obZiZ9ygtAUVqyFYvv1B59U+ZAE1lQywUgmDaA1EzGhCVi2H/v0MMdCCmoUlozffUDtvFX2VN12yrq6ubIvSrliSMM0hq43qg1MVY9BJc2OS+V+Xma8coah3LuXQT6itz4VRItKnCfyAMKk2i9yLZmKFiPDq3SsfJqZdKk01dXkh2cC/wfo1HpC5eVuwDg/FylcdLKi9a7rLbuCRPDObiIhBYca1+EU0WS7NzsS/PJDWYgr1U7PEtzQYGXbAsGlcZ6w/hYiX8YiG8WvA== 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=7niwBNpfOavZtc18A8P+/WIX6jbFbyZK2QjAIQhAHlM=; b=E5qaEX8fBAd8cK/JyJ3RDZgMtgTAttd2sw+IpqgR7QoQQOJljLmr2Zrk/uVJRo9hNkAcsDSbZoC77fbVJ6pqifatfvAQ6dCLbPhJ0YRsXu1PIyDbyaY38ncBSGCnwo/9ZFBnujeEpf4cteyNUq8cregHPZhUczVRDQcxpbeNRbXR83OIXyJceZj3Go/WahH5GcxgS+Xs7SaBPEiBtEbhccCretlVkJBCBmLLcGVET6AOI5dI+ubmE0GJMBgDL4NswXOMLs2ONvm+gnYTR/EfEMPpKACIw4bD96k2BLd6uFBquEh3onMA9t9Sn6PV97VWI0JSeFxPxYB69ckqU+BXfw== 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=7niwBNpfOavZtc18A8P+/WIX6jbFbyZK2QjAIQhAHlM=; b=CzoWogLUZeULhl9K619IZLHMttUItHiew2rbSMYGYl9nmbvQ4xKShfgb/0OB8sJiiT4lKkULPXBSg6v3ME/gJrCVx7wxnGkmy/F23V6Y76dNnPJHy7IddKV71SJUE9mTQm04LH5SDz5qJ1ayPtowho8EMwYCRGzva8ZisN3kr+U= Received: from DS0PR10MB7953.namprd10.prod.outlook.com (2603:10b6:8:1a1::22) by IA1PR10MB5898.namprd10.prod.outlook.com (2603:10b6:208:3d6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Thu, 25 Apr 2024 17:21:29 +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; Thu, 25 Apr 2024 17:21:29 +0000 From: David Faust To: gcc-patches@gcc.gnu.org Cc: jose.marchesi@oracle.com Subject: [PATCH] bpf: avoid issues with CO-RE and -gtoggle Date: Thu, 25 Apr 2024 10:21:13 -0700 Message-ID: <20240425172113.7912-1-david.faust@oracle.com> X-Mailer: git-send-email 2.44.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SJ0PR03CA0210.namprd03.prod.outlook.com (2603:10b6:a03:2ef::35) To DS0PR10MB7953.namprd10.prod.outlook.com (2603:10b6:8:1a1::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7953:EE_|IA1PR10MB5898:EE_ X-MS-Office365-Filtering-Correlation-Id: aff537e2-34e7-48b3-1f28-08dc654c2503 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?f4tAIuSDSCutB/SpTwC5vpDSULN9DtxvghsmZ2oStzhtKLpCB/WEGCgwv2AK?= =?us-ascii?Q?dIVqlEBWHRhY4sKHKMFM861yAWhct8WHFoLBgBbyEKy4o/AoMpMRYqvcYsy/?= =?us-ascii?Q?JeYBKxvH9N48UE2OP7OwF2L3Ei/gQY3HhjsNsc7ug7pl7H8behFnpqgZC3Hv?= =?us-ascii?Q?/PuCZiqouqBfaN4Sg1hydhLfkpR0qmT/TLqutairgLETuMEZ7NaoKUn2VrC7?= =?us-ascii?Q?nqFbY+T3pdvPiDYQsFDW004Y5PI7ovynQMyRETlVOfe0diBSyQvkatA3aLhz?= =?us-ascii?Q?wXAmqZmxbTX84n4useaQaREigNqVYXfgrGxw/k1NY0AoYb+N8qw+LFqSQB5M?= =?us-ascii?Q?3KwT/2BUQQ+6K6k5lC7rAFnJddjh0v2phcvfVA9o3dtwHOKDBPSzBwXdOSsw?= =?us-ascii?Q?HnHzWiF8RI7Bm1wUqNk8g9yZsL+BZnVYfItfmzM9aaQruGbOCvt8Dyfr9T9G?= =?us-ascii?Q?QHQxt5/ACBKV6XaezWVNNZ8ZxFPVScMTEIS2c5fwqTXHKGe/XQDHG3+lPJiz?= =?us-ascii?Q?UiSjMgfhhvrHARCtKvhptq2sGBnPHbvHDEZIQFGNh8OWcNgcgCl7idF/GY0e?= =?us-ascii?Q?6oUsRD7x0RIZsqr17eFu4tf9xbCv9OddMOaGJ9c5ksTqLpEbRdlQnqkre+2V?= =?us-ascii?Q?mS8qa//zO9WMX8Jcp2tpDdlakU6BylxH9gtJuIfhxL9MdnXfduee+zsUzDXw?= =?us-ascii?Q?dht3KJ799Z3chDj1Bm82fNoWpirlu666ISYvwFTP1k/odu1HLa4DrbZPiKKk?= =?us-ascii?Q?NX2cc6fEuww2+ysCuwJ+8Eb9K9ruQFfYWdwNgRi1ex7GLVL7fMyoRoSYiYi4?= =?us-ascii?Q?KwFOiA65zTfKN1Vt0/Uit4bzcVwcQx+96FpOAim0hKEFqS6EKXv+Fw5jCX3b?= =?us-ascii?Q?MaHTluLs5N0K6CKD5oBZBr1uxHjxuealxPjQreff6MH04ZEv9b+ZsLCH5TyK?= =?us-ascii?Q?7HmPFbRXMKAx3xTB2yMlIDIFEEVUU5QODxtQL8qvDE0YoWOQUM8UhGDKxTOP?= =?us-ascii?Q?uhWs8Vk1B8/Sbprlm+0oOfCZKG6Gj3IIHxBsjx/v/fZkCKyu99SgHGQFvLMb?= =?us-ascii?Q?hTh7l64RqvUUPopmJRVq8j3HcjGSkaWC0rSfDXtDIT6kyUbz2AsRN9xuTa5U?= =?us-ascii?Q?bXJexKtKceWOSJWmJ7V6hGARohA7L+PzQc4epjsXWmwsYDHCJkj4x17IgA19?= =?us-ascii?Q?DQMY3GIs24AGkiGcmjcvmA95Wx99+uqz+rJa6iXysglbtx9i69HeZlSS3pg?= =?us-ascii?Q?=3D?= 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)(366007)(376005)(1800799015);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZlMcwFJBmpyA+cDRu5GceNuRsEs7NSc1OdWnWZPR8ZlsBKTdivmm3qABwlEd?= =?us-ascii?Q?JNNaLjrNyAQPaNxRIsRTWJJQezxwrNltKj7ejkykXNO8GQNv6CjYfM7ljj/u?= =?us-ascii?Q?Yp+rp3rZ/FDwNzqJ8KC5baNRBdhi8r53a0BleG6OE5m8BMtUzCOTkLmrZia4?= =?us-ascii?Q?G9swmARWqOHBHS/eHNGPH0fA7q4Bdt3MrhmeYLooPb9OspLtgapqthASQNz4?= =?us-ascii?Q?TDC+Wh93RHVv6f3Fd81qD7pEhI7L6HXY741YeENZZOXyPgNZXXvIJGTXX8yX?= =?us-ascii?Q?4K5Ma9UpKLNP1W4o4w/2nm05gYdBHxU3KcH1+SEZfk/HaEkJp3sNY2ivlHXb?= =?us-ascii?Q?8QhExGwd31mInypYOLh6TxcHCbuHtUfSFldjAqOsOWypQZGSDkECAYbatVhT?= =?us-ascii?Q?id/mi1KYXw8X8XOucAUELNPE1xM62LEhjShDNlgKGcC9u+XlUZ1gZvKFFXFs?= =?us-ascii?Q?QnuZexqZhKFaTREFuZ7NrC95FhYiCl/Ct2BeLw4UqU/FUif8M87KqNV8fx56?= =?us-ascii?Q?8gq5GKAH13mRsXDlwx1mmNKbwFtWCXsf2mStr5yGFlV41qtHSzPFtQBwRHTg?= =?us-ascii?Q?wCngdycU2zE//9jGzMLZwLAHjsw6kaCb+gs4+Cxy5QV6VQ3C4WOa9QesuTEj?= =?us-ascii?Q?Y3jZyetbszX7NwnQgs8iMkynML5G8ng9v3NXglqIyX5LaqcSKE0Asg0DzE7L?= =?us-ascii?Q?iDPYaJS82POG38HmcSxDcIY10Fy7I351+oU5znavq9RjEC7L+HTZep+vr2Qa?= =?us-ascii?Q?Dzendw2YySzziCOwUT+MLH7UZjo6XB3SZwxwByDIMr4/ECSmVK1T9v2ONob1?= =?us-ascii?Q?Uv+1rZIkYiUwcsfRxQqEPCkVOO0oWaFbuJ4XJ3lwAGZ324T2vRy/Qo1hFHTb?= =?us-ascii?Q?vVoUt+XVrpf9ga6mNGDLlxKNdT8hmDZW9c3PBQyS+OajaeJ8B2Cszv4Ld51P?= =?us-ascii?Q?viRjaJZ4+eY0/ZzV9va0tkw94YIRp+yxuZVMGrC13rH5ClK3H1S9yr2TjzAv?= =?us-ascii?Q?00i5oEFPBoem/1GtX8aV5F76CkrhGjx7ikxfRXYuUoddnEJb+IBkkZNSwdRv?= =?us-ascii?Q?VcVZByKIkPjVMZHjI/Gkw+ybI6KhyOv7N67hFq5tZ5F/TysFZln0KNZgoTGu?= =?us-ascii?Q?kNc/F+rzGY/Ax8Z6FIVsz4YNCYriljjM3c4YY+bt+WArYuL6ioFafrtfJtrn?= =?us-ascii?Q?S/N89aapQSDXp5Tsciv5ZdVA9uzBIKNrBDK1GJU8QJwoOdymhblLvZLp5n1b?= =?us-ascii?Q?c4OiKXO3Y3nnWRwE3K7nc+PIbdnl7YKwFX27/z8dRAscm1LysRZoh+967rFZ?= =?us-ascii?Q?Ak2zk8EW1OeprA0U8jzYj8SuD+//k+F+aY4kZNNdBHWN5hTJi/b7WfVe2aHp?= =?us-ascii?Q?kyL8Z4ZlkbwwKzCoSImcAZBpF5lHgWL7TKoPQadkVRDI1zY9pbDXn7ruo2/c?= =?us-ascii?Q?ZntKg5VIZLAJhvCOUSwr9alpiEYjHOzjJs9viyjO6UxJL/F01hA4Ceuf6x+2?= =?us-ascii?Q?iHkxOIyYrIobZMQVrNZCk5np88LswQqw1Vvx1RS5a93oLQjRk7hZ8nNZIUQ5?= =?us-ascii?Q?1tqikg9Q2MZ+wwcx/2N9fz39c+BgZL4TEclQFNU4?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: R8qYoXuDnqRAFviPERHFHLLSbdyCYr8fT1DeIql+lD6zqPMUuUHIp3z78xxl/GzjJhUMbewsHlna4RNnscDPN/h2L7UI6Qbu2EDwG2DohlIyQ3fK96aJV9R34KprRP9GDJLYyVLrfr7zk5xCmc58FI+p3P59bjVl6VLKYeO7YmXzkzDSLBTeYxMwkovgBVbydcpespiij6mCRzk6bgFYWHvUhN8tOV9BDXQH82p/LYnwrAgUtLyAy8nfG6BtQoY/6J8Fvx9O5YxvHO7XP+xS7c00I8IXzzjxYMzfp1nO+gSvDT9dWuS1HUqG0umNLWfXzSlLv7viwNcHhflD1fmAWIKuyPmBzUCH66Hvl9hQA6TXblWOAn3tGm46Pn1LpJ3D5cHkGoW8BPZJpOM0q6SIS38frRyRMdpxWkFTGzRnRQPjLccTCIOoQT2dd7Gx0kZpiLj/DPqSRP3tvAhwTTwiplluW1tCN5aaZUsqBnTWvC+LKmPF74iCLKCjm6kuSZ3dlCe5m93/0vy4D/EJPS97m8JmNnola1jK6nDfXq9wC5XBz4ZqpR5h5+I/pl8evqaffRG+so7r7OrOd9a8eiOP6+z69z7w0oJ7y5mREr7HffQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: aff537e2-34e7-48b3-1f28-08dc654c2503 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7953.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 17:21:29.4061 (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: oH5OFVWClgCP5F2nvJyHCc0OAye66Q97HrVFpEX1cQVRzEeTgorpSOujLMLa4MN9Q6DwTZo1lZoDkStKNBzkDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB5898 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-04-25_17,2024-04-25_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404250125 X-Proofpoint-GUID: UJzw-eQfre-c-kaC2AFrKlUF9EzjBv8v X-Proofpoint-ORIG-GUID: UJzw-eQfre-c-kaC2AFrKlUF9EzjBv8v 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,KAM_SHORT,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 List-Id: Compiling a BPF program with CO-RE relocations (and BTF) while also passing -gtoggle led to an inconsistent state where CO-RE support was enabled but BTF would not be generated, and this was not caught by the existing option parsing. This led to an ICE when generating the CO-RE relocation info, since BTF is required for CO-RE. Update bpf_option_override to avoid this case, and add a few tests for the interactions of these options. Tested on x86_64-linux-gnu host for bpf-unknown-none target. gcc/ * config/bpf/bpf.cc (bpf_option_override): Improve handling of CO-RE options to avoid issues with -gtoggle. gcc/testsuite/ * gcc.target/bpf/core-options-1.c: New test. * gcc.target/bpf/core-options-2.c: Likewise. * gcc.target/bpf/core-options-3.c: Likewise. --- gcc/config/bpf/bpf.cc | 7 +++++-- gcc/testsuite/gcc.target/bpf/core-options-1.c | 15 +++++++++++++++ gcc/testsuite/gcc.target/bpf/core-options-2.c | 14 ++++++++++++++ gcc/testsuite/gcc.target/bpf/core-options-3.c | 5 +++++ 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/bpf/core-options-1.c create mode 100644 gcc/testsuite/gcc.target/bpf/core-options-2.c create mode 100644 gcc/testsuite/gcc.target/bpf/core-options-3.c diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc index 98fb755bb8b..e6ea211a2c6 100644 --- a/gcc/config/bpf/bpf.cc +++ b/gcc/config/bpf/bpf.cc @@ -192,7 +192,8 @@ bpf_option_override (void) init_machine_status = bpf_init_machine_status; /* BPF CO-RE support requires BTF debug info generation. */ - if (TARGET_BPF_CORE && !btf_debuginfo_p ()) + if (TARGET_BPF_CORE + && (!btf_debuginfo_p () || (debug_info_level < DINFO_LEVEL_NORMAL))) error ("BPF CO-RE requires BTF debugging information, use %<-gbtf%>"); /* BPF applications always generate .BTF.ext. */ @@ -215,7 +216,9 @@ bpf_option_override (void) /* -gbtf implies -mcore when using the BPF backend, unless -mno-co-re is specified. */ - if (btf_debuginfo_p () && !(target_flags_explicit & MASK_BPF_CORE)) + if (btf_debuginfo_p () + && (debug_info_level >= DINFO_LEVEL_NORMAL) + && !(target_flags_explicit & MASK_BPF_CORE)) target_flags |= MASK_BPF_CORE; /* Determine available features from ISA setting (-mcpu=). */ diff --git a/gcc/testsuite/gcc.target/bpf/core-options-1.c b/gcc/testsuite/gcc.target/bpf/core-options-1.c new file mode 100644 index 00000000000..7d8c677f239 --- /dev/null +++ b/gcc/testsuite/gcc.target/bpf/core-options-1.c @@ -0,0 +1,15 @@ +/* -gbtf for the BPF target should enable CO-RE support automatically. */ +/* { dg-do compile } */ +/* { dg-options "-gbtf" } */ + +struct A { + int x; + int y; + char c; +}; + +int +foo (struct A *a) { + int y = __builtin_preserve_access_index (a->y); + return y; +} diff --git a/gcc/testsuite/gcc.target/bpf/core-options-2.c b/gcc/testsuite/gcc.target/bpf/core-options-2.c new file mode 100644 index 00000000000..8f466258e29 --- /dev/null +++ b/gcc/testsuite/gcc.target/bpf/core-options-2.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-options "-gbtf -gtoggle" } */ + +struct A { + int x; + int y; + char c; +}; + +int +foo (struct A *a) { + int y = __builtin_preserve_access_index (a->y); /* { dg-error "BPF CO-RE is required" } */ + return y; +} diff --git a/gcc/testsuite/gcc.target/bpf/core-options-3.c b/gcc/testsuite/gcc.target/bpf/core-options-3.c new file mode 100644 index 00000000000..ca32a7c4012 --- /dev/null +++ b/gcc/testsuite/gcc.target/bpf/core-options-3.c @@ -0,0 +1,5 @@ +/* This combination of options tries to enable CO-RE without BTF, and should + produce an error. */ +/* { dg-do compile } */ +/* { dg-options "-gbtf -gtoggle -mco-re" } */ +/* { dg-excess-errors "BPF CO-RE requires BTF debugging information" } */ -- 2.43.0