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 6325539BDDD7 for ; Mon, 28 Jun 2021 17:35:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6325539BDDD7 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15SHLTin018860 for ; Mon, 28 Jun 2021 17:35:49 GMT Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 39esfkt7ng-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 28 Jun 2021 17:35:49 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 15SHLaZn016978 for ; Mon, 28 Jun 2021 17:35:47 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2101.outbound.protection.outlook.com [104.47.70.101]) by userp3030.oracle.com with ESMTP id 39dsbvtt8d-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 28 Jun 2021 17:35:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FMOA7nI2gRJnBvAq1wpwCA3w65RTjv9SayI+0PhVCwAQNDZa9PUZjFHrXvJElDeqpxnGwLChizZTWddskfCrj7LgQxKdpwzfKkQ07M5X1AQE8fzqQClwzhSZqjTssleqXP++xZi6mMwQH0n8K1pZKLDolt0lB11AYWr/fQzEFatxWLadMgrl0WCwC58sfNTOqf+Eni9tE6AkNcvgH4sILh1elPBpSM2dwBw803ZXvaQYqTLy+RvGjjoyA5qDwhUGA/tWWQh83R5yWl3hqVcvZmAM8A56DBy0Cbq5knftNGuKFYrCmq2cc7qJsO8Pj18lu4Adb2rd4PnTrBGpYB3kMg== 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-SenderADCheck; bh=Mak/zU6ERFNEELW8Mt1Y9Yi5BRb0co20JiBbLANMowI=; b=bfzZ0ky4OrlnIrHkqUAeKfO4PnIEH5e0zR5uf5Qi1K9WS648MwNXabnWihWc9OvW+n802ZVg3/HkTp5ykL/3p+8Ya7USQ+vZ4yBga9yABlmiEDVDOjgB5HRJNWz5WZ/axYMKNxA98GrqH++7DDjBRCtqGs3C1sKdbgW3qNL7Zjw1FKR24vETO0qxhor+DHsVXNy1Jo+uBJV4BxEF80UC84VttLvwt2z6NxZOGfSMB14Fw2LJTSWmVbDoBuqZKLaBw45M7ccfITWd3d6O6TP5Dm/MRUzotaHz4HEeXJMxraG6ele2tCP4xbjJMcSHOSZ86q131M+5XJopIXGGfFfq/A== 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 Received: from DM5PR10MB2041.namprd10.prod.outlook.com (2603:10b6:3:111::16) by DS7PR10MB5200.namprd10.prod.outlook.com (2603:10b6:5:3a6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18; Mon, 28 Jun 2021 17:35:43 +0000 Received: from DM5PR10MB2041.namprd10.prod.outlook.com ([fe80::3c15:20ad:f67a:eb04]) by DM5PR10MB2041.namprd10.prod.outlook.com ([fe80::3c15:20ad:f67a:eb04%12]) with mapi id 15.20.4264.026; Mon, 28 Jun 2021 17:35:43 +0000 From: "Jose E. Marchesi" To: gcc-patches@gcc.gnu.org Subject: [COMMITTED V10 6/7] Enable BTF generation in the BPF backend Date: Mon, 28 Jun 2021 19:35:22 +0200 Message-Id: <20210628173523.29350-7-jose.marchesi@oracle.com> X-Mailer: git-send-email 2.25.0.2.g232378479e In-Reply-To: <20210628173523.29350-1-jose.marchesi@oracle.com> References: <20210628173523.29350-1-jose.marchesi@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [141.143.193.71] X-ClientProxiedBy: LO4P123CA0283.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:195::18) To DM5PR10MB2041.namprd10.prod.outlook.com (2603:10b6:3:111::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from termi.localdomain (141.143.193.71) by LO4P123CA0283.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:195::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Mon, 28 Jun 2021 17:35:42 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5ec429cc-2ebe-451c-f064-08d93a5b27bc X-MS-TrafficTypeDiagnostic: DS7PR10MB5200: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UOQSknsvtw8g4+mw3S1VVDwpNf79JNHVf7AQ7aUJ2ITHCzaa7QWCASy3ORsEJUN9KXDFMFQS2mqaj3LJ2eN4uyemOXypBie/zD4oXQomon4ohLOYhyiet3SCUDcdD2Tm7fW8doBHi37X8MQePun8M6anlRYjiLPpl8iQeu2RvsjN9L8HO6u4V4IWHCq/dleTceBkwA5GGm0TkjpiQokmOq+pELyExvhhM91BO/ad6PGd07U8eoQMHfXIQk+shy7wUS1TioFbH0wt1ppPzidXQMMRsdxwRDdi31s0zkzkgHYvOoIBtCGwaIGJlDniDzZsdm8Nc+MNApT8FZ96dOhiQOw3HtFhXml2u9SLvg9N75TaNSePZLx7y2gk8NA2x40ja7KibEnCgjVTljwBLlo+gbGl1+jpsROMCCQM3RKbEesKgKM/puwZ7XAWKzH3RcUYhAHdMq1c7khpRY5ftByeAwyjD9V7trHR2EoVlI0YK4RXlC5u+5zQuc9w0+xMJmHdXzQW46w/io8VmFXXLS2NoPT3Y5zuxxr4ffJUKYBVMFur9DEvhE044aG9gt5VinIBoWy3VbR1zPEnHqbVDmv5ggjabkRz/SzorvDbG+PiOKSN7oE5EDqdbL8tIvqKhIMEDBuNhIgsIv+kI/kbwQ0229IClnb/65diYo1wWKECLiWQY/1FEZDDZy8a2QaaF3lFdCKUNEAISe3oYMItzQwOrQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR10MB2041.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(39860400002)(396003)(376002)(136003)(346002)(366004)(6916009)(83380400001)(2906002)(6512007)(478600001)(6486002)(16526019)(66476007)(1076003)(6666004)(316002)(6506007)(38350700002)(38100700002)(8936002)(5660300002)(2616005)(956004)(36756003)(186003)(8676002)(26005)(66556008)(66946007)(86362001)(52116002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wRbIjrB6YRVHAZhl2TGeHJeADpVCSFlI8EyODDDaoT4v9MtWgg+V2n8NQ317?= =?us-ascii?Q?4ERbTtQISnuOMZOeAQpKQ06ezcUCSP1hWh0CoielLMH7lGy5xjDpQt/i/2Hm?= =?us-ascii?Q?RE11cYNjvOWG5VVJrSpwdjUGAGkLCG6NRQijqYy++WZzZ+geXgPA4m5inFVL?= =?us-ascii?Q?5fwRo2NOwjQLuR5dUOBQooGnmyjGiOXaLN3dm1Yz/PMQu8wAtnWE5O2jPRGv?= =?us-ascii?Q?gXCBRprjlELeXbZY8lV4lLgacYqEgCQRfA4U8ey5tBNj89cuaRqe9dmpVm5i?= =?us-ascii?Q?8yWRwS7oH1opbvDLdQgH1L+biRgKqvhlGWaOJG5oP1jmsopsnPRbwOAde5cE?= =?us-ascii?Q?I7wcv6e6u5nbEgOx5ZPzBRH+OusDagN7DHZKhYiWkQZktGnhWf4Zy14fXGHS?= =?us-ascii?Q?UvJdtWrIgp54zK2qD2y2UBln9vv9FS0DYeNNSbpvYbIuQqpGobei+L03Jr/6?= =?us-ascii?Q?KHa8WfPyn2UcEJyW122KFD/FP+2WuxloPXRYHE6fKiXonQ5YXfktCCCr/AwM?= =?us-ascii?Q?/z/HA7MAlGiOZmUYRDXYsX8mul3/Na1RQmrr131GwwJZS73pRFnO28MBr7wO?= =?us-ascii?Q?X8mA1ntBTpGlAc0AOvK04LeYfbZOODGeFHPTA3lj0yr8aAkq2Ey3Lu8wvVI1?= =?us-ascii?Q?3KlYWdASRDTWhdCbIsEA49vpIUq1mAoXr9VSmVx8oOOElsfzg0ZRumqEFSFV?= =?us-ascii?Q?OaSIZuI+3ynkU0+Q+eB3csT0PFH64Rls6jtUaYzWRTkIq+NDpcs0noMEpAY5?= =?us-ascii?Q?FkZRU+8u8mSpfLHl5gObVBQ87RlbfiPAnRMi9/ANx6Jj2tK92IKgRzYlxHkj?= =?us-ascii?Q?9WzRKuvrSOVhtXmQaZNZn6AtEQiQ+/N+FVdLwGg3eHbsuOIGAYlbR+kbTGHc?= =?us-ascii?Q?O1PajnGjsHpDvbhJSEk68Bhhymd8r5d1EjMWvdCvlLED1//rnUYO3hIUR6Qk?= =?us-ascii?Q?Dj3GNSGewERsl4SIOWwdOKM/wg8lLx67zOhyAVCTMXz4tKx1Z8tQ1t0oTwPd?= =?us-ascii?Q?xmkuQrgYidyF1cKO/jlgWBv5yclZfamG95R+63uOE7zHuFfc2GU8wruqgKKB?= =?us-ascii?Q?9PWTY99S8OovegJAbu7MQjPa6M3EBMmCQRt75shu4A6ZqKtGwKJ9HBgDPVl8?= =?us-ascii?Q?A3+CdSwL2zgk3nYM4RuYXygfXyCaBp0378u8F9Fcqu4D+qg32MFnLWCun0KJ?= =?us-ascii?Q?RFHHMrw5MTH88RZF0gGbik+JJkMF8PR4LKxrbxVk+xYZMQVQwOHQsU3Jw6kj?= =?us-ascii?Q?1NG+uWz7oQJCVQD3jbUz8nF1ZpBGdMXpeSDTeMFq5QYGPQbb22X85k1YaaY8?= =?us-ascii?Q?pWFW820C56iA+aL7Kik9ow/r?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ec429cc-2ebe-451c-f064-08d93a5b27bc X-MS-Exchange-CrossTenant-AuthSource: DM5PR10MB2041.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2021 17:35:43.5173 (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: 28FM/ewaXbwafxzIlYcVRg8dXwnUs9tqzrc/5x1Dyb+utZghTmdMZgdZ0Yj9cMJlSu5j5J+una5XNTKqeeQZRae/tGzIlDHcn3uZ4BC6EDk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5200 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10029 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106280115 X-Proofpoint-ORIG-GUID: JHfIVk_TzqYgOVggjBvHAXWe8X2TS95d X-Proofpoint-GUID: JHfIVk_TzqYgOVggjBvHAXWe8X2TS95d X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jun 2021 17:35:52 -0000 This patch changes the BPF GCC backend in order to use the DWARF debug hooks and therefore enables the user to generate BTF debugging information with -gbtf. Generating BTF is crucial when compiling BPF programs, since the CO-RE (compile-once, run-everwhere) mechanism used by the kernel BPF loader relies on it. Note that since in eBPF it is not possible to unwind frames due to the restrictive nature of the target architecture, we are disabling the generation of CFA in this target. 2021-06-28 David Faust * config/bpf/bpf.c (bpf_expand_prologue): Do not mark insns as frame related. (bpf_expand_epilogue): Likewise. * config/bpf/bpf.h (DWARF2_FRAME_INFO): Define to 0. Do not define DBX_DEBUGGING_INFO. --- gcc/config/bpf/bpf.c | 4 ---- gcc/config/bpf/bpf.h | 12 ++---------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/gcc/config/bpf/bpf.c b/gcc/config/bpf/bpf.c index 126d4a2798d..e635f9edb40 100644 --- a/gcc/config/bpf/bpf.c +++ b/gcc/config/bpf/bpf.c @@ -349,7 +349,6 @@ bpf_expand_prologue (void) hard_frame_pointer_rtx, fp_offset - 8)); insn = emit_move_insn (mem, gen_rtx_REG (DImode, regno)); - RTX_FRAME_RELATED_P (insn) = 1; fp_offset -= 8; } } @@ -364,7 +363,6 @@ bpf_expand_prologue (void) { insn = emit_move_insn (stack_pointer_rtx, hard_frame_pointer_rtx); - RTX_FRAME_RELATED_P (insn) = 1; if (size > 0) { @@ -372,7 +370,6 @@ bpf_expand_prologue (void) gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (-size)))); - RTX_FRAME_RELATED_P (insn) = 1; } } } @@ -412,7 +409,6 @@ bpf_expand_epilogue (void) hard_frame_pointer_rtx, fp_offset - 8)); insn = emit_move_insn (gen_rtx_REG (DImode, regno), mem); - RTX_FRAME_RELATED_P (insn) = 1; fp_offset -= 8; } } diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h index 80195cea5b2..82be0c3e190 100644 --- a/gcc/config/bpf/bpf.h +++ b/gcc/config/bpf/bpf.h @@ -235,17 +235,9 @@ enum reg_class /**** Debugging Info ****/ -/* We cannot support DWARF2 because of the limitations of eBPF. */ +/* In eBPF it is not possible to unwind frames. Disable CFA. */ -/* elfos.h insists in using DWARF. Undo that here. */ -#ifdef DWARF2_DEBUGGING_INFO -# undef DWARF2_DEBUGGING_INFO -#endif -#ifdef PREFERRED_DEBUGGING_TYPE -# undef PREFERRED_DEBUGGING_TYPE -#endif - -#define DBX_DEBUGGING_INFO +#define DWARF2_FRAME_INFO 0 /**** Stack Layout and Calling Conventions. */ -- 2.25.0.2.g232378479e