From patchwork Tue Jan 18 21:11:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 1581533 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=suTjLxgd; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Received: from 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 RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JdhLg6Kmdz9sCD for ; Wed, 19 Jan 2022 08:12:42 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 77E8C3857C77 for ; Tue, 18 Jan 2022 21:12:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 77E8C3857C77 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1642540359; bh=yWDUqjBtLXOAynSioP0oBk7KOMBIXKaVjYSwto72HBk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=suTjLxgdw3lXpW/RodgvdTC8fmA5D147SyCzpmtc3qvTh9H2Dy+SmFVAnyotIfiSm eQO44ROS8GFkYjErYRf7qPbZghP44wD3fN80pW8VVbvJ3gAje3P9zQLQxxzAgwBfSQ z10ufeyCEGYqrFRbdl9k5PrTlO7f/4hv0G95uDWs= 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 58F163858D39 for ; Tue, 18 Jan 2022 21:12:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 58F163858D39 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 20IKEaKr013800 for ; Tue, 18 Jan 2022 21:12:17 GMT Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3dnc52u6u1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 18 Jan 2022 21:12:17 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 20IKuoYg008566 for ; Tue, 18 Jan 2022 21:12:15 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2174.outbound.protection.outlook.com [104.47.58.174]) by userp3030.oracle.com with ESMTP id 3dkkcy0hrh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 18 Jan 2022 21:12:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fv4FXmEos+bT+JXeI6pHDbJ5W+7sCVGOrRn401L8kahnwebkZBkcS90vmPyi3ylRLrreKaA+jHBVLsucht+rBhF7fs/MpTN75wnIev4V+40VCrooVO47ltTfdxM0tH0SCXkOPdUl42Xn4BN+s4S6RdF3ItHcsjuGOUfobj/qepeT+UULyRjvkzv/L2tA3re6+3BY6Nc9GwqvJ31o81CmePte67UbbwAPwnnBK3QvsEug8jaVI6NwEK50l+5/ZC1e+zXMuRn6gu4GQZyvZ9dW5v2dddcVSVm9+5eHzaTmAd/42HrUFDu3mdw5c2gaAt5/i9+3xgWO1psZ/M1yrXj2Gg== 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=yWDUqjBtLXOAynSioP0oBk7KOMBIXKaVjYSwto72HBk=; b=gsR4t07Z/1xpnIP4ryhC0T09HUikzBAY0BxIAsKFOjc/Wg/EUBQq4ZDv0rjYbc4OFwuCUgwDOc8i4PIE9krUVJLEaQkd+s3H8JqN6b9FI6L7lChWPyeBj2uv8I9jYTY4wTVJdQuSOzN22wrEO8+m7iFwHbIhdgCkfiRp7zyK76CtxGKhMPMOrnnytx+11oiviIr3/4F0RwiWSmxfPFclZ3ILixdTaGSNdycDag2Uy+UHOZsqbBjygdnIrqwkZ67WDvm5ou/SEzgDWN3XlHgqDLNdy8vnrrzL2ESeeWOkJoX0BkzhOxCTpDPGiSBg3I33cQ/djH3NsBcwAOhHP03V+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 SA2PR10MB4458.namprd10.prod.outlook.com (2603:10b6:806:f8::24) by SA2PR10MB4554.namprd10.prod.outlook.com (2603:10b6:806:111::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Tue, 18 Jan 2022 21:12:13 +0000 Received: from SA2PR10MB4458.namprd10.prod.outlook.com ([fe80::7cc8:3113:5f58:eed6]) by SA2PR10MB4458.namprd10.prod.outlook.com ([fe80::7cc8:3113:5f58:eed6%7]) with mapi id 15.20.4888.012; Tue, 18 Jan 2022 21:12:13 +0000 To: gcc-patches@gcc.gnu.org Subject: [PATCH v2] bpf: write CO-RE relocation record size only once Date: Tue, 18 Jan 2022 13:11:30 -0800 Message-Id: <20220118211130.7459-1-david.faust@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220118204714.6682-1-david.faust@oracle.com> References: <20220118204714.6682-1-david.faust@oracle.com> X-ClientProxiedBy: SA9PR11CA0015.namprd11.prod.outlook.com (2603:10b6:806:6e::20) To SA2PR10MB4458.namprd10.prod.outlook.com (2603:10b6:806:f8::24) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d9154d9e-37c7-4ad2-7ed3-08d9dac73294 X-MS-TrafficTypeDiagnostic: SA2PR10MB4554:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lCxxHvvpLHyXQTgsCr+mnCxoPCLeS6nflqJ1hJECeDJ5UIBGbgpBj1PpiVcqFm4tzhQxPMGWSlPl06gDGJwYGLwbUejyh+TxM486xJoArwoXHO3ROG2swIi0GS1BNvU0xSbYftmIHdl3S0CWRdh8kyJ94R5W23Ml19i5eHAs0Uh9qF7x3yL8aS+D0mw1fQiggRiQOtPUwSpJlCupGi075R0YYu2zuA/Gw70LQSAGsEdbG7rvDaY5dOgiyO4gL1LO0j2EKJNmfNPWtVtdLKnirZKTUTwxM2oVlbjDrjtk9Ydygbay+4oml9Khm2yGzASgckF0RbfLXSRYMEyEim5RFuUY0gbTgvOfVBQAR4B2EBgpMtKZUGLShg1XtRAjfjedxXj7z7O7mN2WCrdjmGlE7JXOtda3K5LvvqqPjBsBUjemca8qMzf5XebyVZmPaYVVgwi9p5nyUjf93cqMXKwkuQLGOYyazoZF6/O/e19DIdTIQO5ECKQL2zE/g/6YAHySjOaDTO7IoitLvA+BR6iDa4qi623rNmG9WJkHpPKNuPUHfRgCbvIpaQOJ1xqC3ZiTXDZfHcox+pzoTrYHu8891NH/SHNHQfIEs9N9bV6cSMd7VbKgNHmgHnXxYZWM1yvtEgSZx/irWOtG+5x4cHkahzHI5+tv8zYaUvXK1JcknSUqV5ecZGeozkzwHjTPh31tyApupczzbfhf+aSkz7K4YAuDYB2NgKV8/X9+KH7OvgE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR10MB4458.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(86362001)(52116002)(6512007)(5660300002)(1076003)(508600001)(83380400001)(186003)(6506007)(36756003)(6916009)(66946007)(2616005)(2906002)(38100700002)(6486002)(8676002)(6666004)(66476007)(66556008)(8936002)(44832011)(84970400001)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cNiS+W/ZoMLg+tfixBcdP80tZsjmXf4U5PheQxkDZTl8i27IMzEhVF8EAYFNzYZKDSGPSaoydeEb3s7HOI+JCkozAGJjAqRK3KYWz+EyWinv6nqOD60aO2yiw9qVVn6XxcyISLVrUIqEblMe/aBORNawkGp9kozr1rGdeJpeiMqxrArZNw6jRpjniFpZUXY53Xb2T9aBLR7mW5XoHEL5vDXJAXVnm+MYpI4jskpcNzl1vJeG1flnKx5uyp+29WVKSXbXPY1cxNcVqR3N6LNMDc+tFEj9lfha7nfLoqSCFYEulFYHd7L7cYVhUny9tEbXk1yEzYrt7S+X0JjArHxtn9TNGYFsD0z47BImLIlk0RUHV4mWi3x8qHHZfAnpYd8eMHgDby+CTXrCSdCROUSGliGwwv8Pj+urWGTZy5AwNVFwUvCZVrEzm66/E6yFsIfUZ1z5F/mR6ilGAkX3Nj548dbTJU82MF+aejBlXPKGhM2Oj78vrnjCvDKbz/WXDJjoh4SEH6ngYaM93HMO4mg1MN6YuRdgY9bwN7GmpePwup0T2m42uCmnfu2jX0zSY8zBn/hyUFCQqricnYfEdk0fE42KzVr6zOMGObXqLhK228xB/bKFOzYh4UmBv9J6jNLLD5WaHa6gdzBGRbqe0Hy2Imrod3RIz9rQI5msGCn8dSvqFisWmU4NMCWJsK/u928Q97SmBGXPL+2jRknlZxaeXI/Emb0Iom2WnVE0nX/80q6KhoCkiqqNveQ8VAa4R6pq0x8aFkCBbuAs8syPKxeIbK6bACBZQ/3jHz1J/XAZVhSte8fP4JgbyT46Cw4YZeKEZQ/5HVmuL4Us0i1jKTBsF+zbjuzJMkyO8MtD6LMLf99tt5jEfA2Hge4X+DbS65/841H5i1ZNSs5txUpXXseX5WSA0MfQi6BBNhwR3+SH07ZeIb53XuJGrJa3tq4scq3evv7LWIpywf9QKKIyGm2ewP04XSIS4pYmy1/CSCyRUPe+km/fIWwI/YJh4+Hy9YqJ/r7RPJQpRUka/fO2swgt48JoL+Pc2UE3Xg4ZlRF3Tg7RA2V0oo4dCd/9gWpSqpuZYjjv9yiI/d/NYXZ5rGaub/B7o7tAtpzOLZDjza8Pp+kR13rienp7UOozOGt9TuXuAilyN+kflDMpmREYA75viXWABXSPiHCKns2SVRr7CFogaWBb4YFAbCu/f8Pm/bnKuF42qCn8xVBIAkPKfZv51ko8y6x4X0anBtKViZeYMEumFjCjNw8oKhHY0TtuklySFTa+S4TiNShTUV2Q0SMAwfGM3RNhxqx3h9O9vNd+XBaoE+1zpXRYCqE6B2MaV7d2XuUsiF0ZkKMDiq29s38TfW3y9WRgZH3dOWhzZwaOO+qQWuHsedg3Q7/sZhd484iWSCi9rSRbWUU4ajWi1fzsr44jx6xTb2hYSEMPhJ9nFJqu5z4OBQHODj62CoGr22SdhJlopUqTJIJJThmxiHcNO4DkjHDw6sD/JvjpRMEkANzy06/N2UHzlqPCTtKM3rlzui2TPVfrMfrfPActblaDSzBVALV+K/UFIUDwGhSFPER+x8Lm0aRmtBh3Ej9mlO8XvbaoEzfrSI7A857pJJU3uFrR1PZ5Tt6MoX8DU3Z1eZtiZK62oD3qNotD4cus3CLV X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d9154d9e-37c7-4ad2-7ed3-08d9dac73294 X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4458.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 21:12:13.3293 (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: mqrj+F+0RJyyiQFksDXLFb7JZn2o18MTrxfDzrY8Fhe09eacJngw2z18hnp4Yliw7dB4BuKjsUIGvwJgAMUKhw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4554 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10231 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 bulkscore=0 malwarescore=0 adultscore=0 phishscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2201180121 X-Proofpoint-GUID: YtRMp5vYw4lOmBpaN0vckCjxsqKFVDW0 X-Proofpoint-ORIG-GUID: YtRMp5vYw4lOmBpaN0vckCjxsqKFVDW0 X-Spam-Status: No, score=-13.9 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_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-Patchwork-Original-From: David Faust via Gcc-patches From: David Faust Reply-To: David Faust Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" [Changed from v1: Adjust to account for file renaming so patch applies.] The CO-RE relocation record size should be written only once in the .BTF.ext section, not once for each section with relocations. Tested for bpf-unknown-none. OK to install? Thanks. gcc/ChangeLog: * config/bpf/coreout.cc (output_btfext_header): Account for 4-byte record size in core_relo_len. (output_btfext_core_sections): Only write record size once. * config/bpf/coreout.h (btf_ext_section_header): Delete unused member. gcc/testsuite/ChangeLog: * gcc.target/bpf/core-section-1.c: Adjust expected record size occurrences. --- gcc/config/bpf/coreout.cc | 14 +++++++++----- gcc/config/bpf/coreout.h | 1 - gcc/testsuite/gcc.target/bpf/core-section-1.c | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/gcc/config/bpf/coreout.cc b/gcc/config/bpf/coreout.cc index f8ca2804207..4ec12ecd305 100644 --- a/gcc/config/bpf/coreout.cc +++ b/gcc/config/bpf/coreout.cc @@ -259,7 +259,7 @@ output_btfext_header (void) uint32_t core_relo_off = 0, core_relo_len = 0; /* Header core_relo_len is the sum total length in bytes of all CO-RE - relocation sections. */ + relocation sections, plus the 4 byte record size. */ size_t i; bpf_core_section_ref sec; core_relo_len += vec_safe_length (bpf_core_sections) @@ -269,6 +269,9 @@ output_btfext_header (void) core_relo_len += vec_safe_length (sec->relocs) * sizeof (struct btf_ext_reloc); + if (core_relo_len) + core_relo_len += sizeof (uint32_t); + dw2_asm_output_data (4, func_info_off, "func_info_offset"); dw2_asm_output_data (4, func_info_len, "func_info_len"); @@ -310,12 +313,13 @@ output_btfext_core_sections (void) { size_t i; bpf_core_section_ref sec; + + /* BTF Ext section info. */ + dw2_asm_output_data (4, sizeof (struct btf_ext_reloc), + "btfext_core_info_rec_size"); + FOR_EACH_VEC_ELT (*bpf_core_sections, i, sec) { - /* BTF Ext section info. */ - dw2_asm_output_data (4, sizeof (struct btf_ext_reloc), - "btfext_secinfo_rec_size"); - /* Section name offset, refers to the offset of a string with the name of the section to which these CORE relocations refer, e.g. '.text'. The string is buffered in the BTF strings table. */ diff --git a/gcc/config/bpf/coreout.h b/gcc/config/bpf/coreout.h index a9d7e364ba3..3c7bdfd8c2f 100644 --- a/gcc/config/bpf/coreout.h +++ b/gcc/config/bpf/coreout.h @@ -33,7 +33,6 @@ extern "C" struct btf_ext_section_header { - uint32_t kind; uint32_t sec_name_off; uint32_t num_records; }; diff --git a/gcc/testsuite/gcc.target/bpf/core-section-1.c b/gcc/testsuite/gcc.target/bpf/core-section-1.c index 031acd5292e..4f16b087c1a 100644 --- a/gcc/testsuite/gcc.target/bpf/core-section-1.c +++ b/gcc/testsuite/gcc.target/bpf/core-section-1.c @@ -35,4 +35,4 @@ int bar_func (struct T *t) /* { dg-final { scan-assembler-times "ascii \"foo_sec.0\"\[\t \]+\[^\n\]*btf_aux_string" 1 } } */ /* { dg-final { scan-assembler-times "ascii \"bar_sec.0\"\[\t \]+\[^\n\]*btf_aux_string" 1 } } */ /* { dg-final { scan-assembler-times "bpfcr_type" 2 } } */ -/* { dg-final { scan-assembler-times "btfext_secinfo_rec_size" 2 } } */ +/* { dg-final { scan-assembler-times "btfext_core_info_rec_size" 1 } } */