From patchwork Fri Apr 1 19:42:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 52593 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 0C9EB3838016 for ; Fri, 1 Apr 2022 19:51:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0C9EB3838016 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1648842704; bh=h8ooKokh6NBKf7aGPrRskAhVmJzJSZDYPtR7WC2cmwk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=qjN7T3eYDfnbEhG3El+UhghI6sayY39s8R0TqBgcf3pcBFdOmvn1VAaFFKCvy/Hd6 k667Q0enS0KIDSMUOpMgPSp5uwFiRnqWYl4dps8OFkhqRH7LWwwL5jnwCimZST9b8m WAwGtcCrP2QaU7HGOTq1YiyvCYiopKjiDbtIQbLo= 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 3A05F385E44D for ; Fri, 1 Apr 2022 19:43:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3A05F385E44D Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 231G7Yww026831; Fri, 1 Apr 2022 19:43:05 GMT Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com with ESMTP id 3f1tqbfkmk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 19:43:04 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 231JfNmx037373; Fri, 1 Apr 2022 19:43:03 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2108.outbound.protection.outlook.com [104.47.55.108]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3f1s96afqs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Apr 2022 19:43:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N2Y2eg8SPKKyv08NjhX9Osnm42ULa8vrJ96UAOojZ5COKQJ9xDKCJRH8orbBFW+KfsXltd/mdkpf58wUjJ1cDQTGje21Dfmdqvo04szbsG9ofzg5SRmA6MIhFHXXUCS7aUcmCgyxKhGY9j7eDiSf8i00+aUf+SuMd8P9sddgDV0g7i8Gbv9pmClOO41h1a97rYId+ozRsHoKqww0NH8Cg//0OuNiUoeFyal/naGPzFEvXC2KHKr4FKwdEQfVQh6wJxoQjhQWCA/r7TCFCKfWliKjSHBu7XawerzkC2at/I7vGAEqJgdHc7ciA4SRYPRW2M/npBZSBo/8hOQ333M81A== 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=h8ooKokh6NBKf7aGPrRskAhVmJzJSZDYPtR7WC2cmwk=; b=NVcuc9CVAPUVXc8NEj15Zw3ZdZLlo0k6Qhj3TIZMIWkMFSRZ6ZgX5F8Uyfpy6WKUc6cfrGNtR65xOTHeSJsKu6pcxMuFjQ+JWj9+zhq3unLM7wo3GYVILIEUtlMLAxf5wDNNaWDePlm3314XqkziYTXvAZp+0QblUkKauqimgi1dxX9ggmc6GxVMGTrpEz86fwTnEOxHnxcfJQRTGPnbx4zHKmcVYLqgFy/JhN6cq1sxyZcMdag7d8H8zEG5V1Nud4vJU1aFyB063pLELWG6Irj4Oz10qaU2njaOj+4Z+igd8j+XAwVhltSttig4+Gn2ks19dshQ4PG5/03tLcbStQ== 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 MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) by MWHPR1001MB2286.namprd10.prod.outlook.com (2603:10b6:301:2d::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.19; Fri, 1 Apr 2022 19:43:01 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::705e:a465:c30b:fec6]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::705e:a465:c30b:fec6%6]) with mapi id 15.20.5123.021; Fri, 1 Apr 2022 19:43:01 +0000 To: gcc-patches@gcc.gnu.org Subject: [PATCH 7/8] Output BTF DECL_TAG and TYPE_TAG types Date: Fri, 1 Apr 2022 12:42:15 -0700 Message-Id: <20220401194216.16469-8-david.faust@oracle.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220401194216.16469-1-david.faust@oracle.com> References: <20220401194216.16469-1-david.faust@oracle.com> X-ClientProxiedBy: DM6PR03CA0052.namprd03.prod.outlook.com (2603:10b6:5:100::29) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b2fa15ba-c390-4c67-9e9c-08da1417d4f8 X-MS-TrafficTypeDiagnostic: MWHPR1001MB2286:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tWPjkf2l6o9NvzMug8L01DfLzL6egXCwiyHoG4cKZNwu2adCQuL8HEmwqxD9NJ+3q5Ho0ddD2SUXphv2YIGcUGoeP7VW8N6D+SDZ1Mryqf3D28XopzZDWpjfrFc9L4nDLs3dGIUEoqCpJc9gVxu2NAUwaf0o3qaqHXmpBnbFlWvuPEATNfm/b4rrt5K40c++3TsXqClKV5qnv+l/1RM+fzwtgq8XPEIUVzHl7O3mw5fse42BktX1ECWtSNrhdC7CFHWxjxwhCv4rsXXc1lkNQp1YPFA3Zfy4wsly7M0SHj3kVpGYPhKPy1Voa8WSIWNnpYEwpFdtsMscZ1artSsOJDgSue4sosG/jI9HsqPOt7RfntqMD7XTRYaEvslHCjazBpHE591sPB8JKVXB6gX8HGBW17Ks/23twQGEsTSKQVst/YpdyxvhML6MEQ8K84xb2/TJwa7eSnjjv6LTaICMnC9XJgtVeZy0Ft/hpt+6Qg7yZgv/XgyADkXSMwObTt//HVv5u380Agm2ANOqym6SjjlTkPtWaUNuh6vd43zydk6hk8Ab1VX0qHevaqhBH9akP1zmfZD70/8sRlYzLVIVBdDC1NnkpFeyJssN5yJnJnyyrkr8QCwJDOAwquR7XsG6gKlIegZ4bbFZorg5r2QtsA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB3213.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(66946007)(6916009)(316002)(36756003)(66556008)(5660300002)(66476007)(508600001)(38100700002)(86362001)(6666004)(8676002)(44832011)(4326008)(8936002)(6486002)(6512007)(107886003)(52116002)(2906002)(6506007)(2616005)(83380400001)(186003)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mhHHaNHjbJSUlWyzDjtRAzo/KAxvCfbKobEhdewMKSeaNswxpuQ3qSzak6dUVEcF/2fUVNQuTl61jHNoKw8E/t4aIp8tZsNmyG6bZUVn8ICkvtZdMpb1h4fV8QHCLEx7W3+LNHLwYe4G01JYHuMPBuySS5+iRbtnSeJuWN0WLlnjD1rbDMbzTZvj128AWEij7DXC3w6u6Vtrj/xavTrv0bxXeC0FH896mjhEOCa0hJNs1y7B3a5ZyleNiFI/u0rRzGjOXt9tme8lYvNHmlDlhRuYTYkA7PMNJokx6KT8sUmrdhGfhg/zlHlU4BXYyw1E5P3/kQ9eov+LA5dCDkmHfbOu4ZwJi6MVQZNM5iDxrFf1P7wzjUdoJjKB64GrUumpmgz6i+utoaa35MgrYL05kCePh+BLU4ELjoPRvqsAfY/uU8MfDQ4IfArBhLq9bNEBSzIjtrYObU7K/NNJCYzsuD1+bju8pU3HwKOdFIE7H0d+tMvqtmMJ75YS6Ub8r7JvKZZB89vXYKjJHkQmMbl94A/tRG+5euoz48l5sd+UDDe0VP+BG/7XKx8NFAJ1ChKEN/FyyyG1HCUEJPa+vbxUNLRkpotEiHMrkb3HTqmEcB9vGT02UCAnJoBoDVOwi1zyrdYKf0ft83PTmtApcDtB9bAza6r/LZiYlYMCJL8dQ7Iun0Ky8CPm3GHkoPa6ADgvl0zm5Vu9bEv6NCAz8MOIJO+sjXCmYbtjR5aIPPgw1ANqzueCvv/qaum+kSpETZg3hrG5DdMOqpzGNaiVnosNNju6VohQtgDOPmeCTIQ8Aj7UFORPne5NWvDuCY0l9wfwj3LhdMv4qJm6wRVcYp5Lq2LO6kxj+1W6TiOR+XA0U++czN6Z2rTAtDIGUVjDWvQ59reqi4LvOmWQeDxyZHqMFdL4bNdlS5nPYo8FngIIMb31pjBCjBHbLj2Pwil2X6Cn2JK4ivCC9+R3yod5abN0JaKpP02BVDxkd1DVicm1D6du4ki4Rvvceh+wT6Tw8AZ5cYeqm6LbDnVQioV/SZ9nexGdpwbW9aDqh9bQMhBTe8mvWUN5vyxm8nbGLxHxeC8U5qhOMUN6MoF+kCLJDjCpImsDm6Ziu9ghMws6ZIyZ9de+eam1bMwnCDBLLral6MBQZWnJ2F7mj1s7rT4s8Eay1Z+8Ke2rgsc19K7f0vU/TzIbKX6tYnNCyug2wAseYPYEQDMswbEc98GWHL3WqFwWm7gvw397SSiDrVj/gVGFjql239ObrCkrbHfVeXcb8J0/vy5Dpwo3kKvkXNPT2wkzRf+jPckLBfiZDwBJ3+wEEvbqNL487lWu/ckbrSgNNJY57K/ZpkWOKS1PFuD0BELXaS8asCRFto+COyNmfC2LYb2+6a45OehXp1R9k7ceqMOJVj89N5EhRDaveAqvxFuobfBmlvUvbvhgJiR+ME4qixvEMlaoo91OZzyYhDk/FYDmPl9ubPPre8jGuh7iXqYg9VWo57jwWnUtCbAhJ9Ncn3v4OwCNFdjm5j+oNcnXFSgDfG5O63Ro6/5XbBcmr3PL5Qaoai0az831aim0GJvBs6I5GUvFJJLnj/foy1JSFC35WiiJNPDO5yCdRA6xYTcQkBGxtQhNWiQSSEX1GRW6pJr7m3U47gskoAYLaYl7cBFBMckOm0/xe4goNHRs5I8xhoBk877pL47HIX29sJiI6ENgtNGE4vsrvkm+7iUkOzMnd5rwWRBy4u5dUhuH9z6pctuzcYUZryG4XFyUANium/8PyIe2qvgLsHt/vPGQUzT7 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2fa15ba-c390-4c67-9e9c-08da1417d4f8 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2022 19:43:01.7463 (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: ED7K4Ae55h838Og1f5QWsEGvBqhbrbpbgKutoXBorqh0uINaZlnJh01Hxx1sb6/oDTR77H6tCYOJpZVd1S13sA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1001MB2286 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425, 18.0.850 definitions=2022-04-01_05:2022-03-30, 2022-04-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204010093 X-Proofpoint-GUID: 5iG-ZKFcRY_lgEcOiWtymKIe3AEYIJUS X-Proofpoint-ORIG-GUID: 5iG-ZKFcRY_lgEcOiWtymKIe3AEYIJUS X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE 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 Cc: yhs@fb.com Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" This patch updates btfout.cc to be aware of the DECL_TAG and TYPE_TAG kinds and output them appropriately. gcc/ * btfout.cc (get_btf_kind): Handle TYPE_TAG and DECL_TAG kinds. (btf_calc_num_vbytes): Likewise. (btf_asm_type): Likewise. (output_asm_btf_vlen_bytes): Likewise. --- gcc/btfout.cc | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gcc/btfout.cc b/gcc/btfout.cc index 31af50521da..f291cd925be 100644 --- a/gcc/btfout.cc +++ b/gcc/btfout.cc @@ -136,6 +136,8 @@ get_btf_kind (uint32_t ctf_kind) case CTF_K_VOLATILE: return BTF_KIND_VOLATILE; case CTF_K_CONST: return BTF_KIND_CONST; case CTF_K_RESTRICT: return BTF_KIND_RESTRICT; + case CTF_K_TYPE_TAG: return BTF_KIND_TYPE_TAG; + case CTF_K_DECL_TAG: return BTF_KIND_DECL_TAG; default:; } return BTF_KIND_UNKN; @@ -201,6 +203,7 @@ btf_calc_num_vbytes (ctf_dtdef_ref dtd) case BTF_KIND_CONST: case BTF_KIND_RESTRICT: case BTF_KIND_FUNC: + case BTF_KIND_TYPE_TAG: /* These kinds have no vlen data. */ break; @@ -238,6 +241,10 @@ btf_calc_num_vbytes (ctf_dtdef_ref dtd) vlen_bytes += vlen * sizeof (struct btf_var_secinfo); break; + case BTF_KIND_DECL_TAG: + vlen_bytes += sizeof (struct btf_decl_tag); + break; + default: break; } @@ -636,6 +643,22 @@ btf_asm_type (ctf_container_ref ctfc, ctf_dtdef_ref dtd) dw2_asm_output_data (4, dtd->dtd_data.ctti_size, "btt_size: %uB", dtd->dtd_data.ctti_size); return; + case BTF_KIND_DECL_TAG: + { + /* A decl tag might refer to (be the child DIE of) a variable. Try to + lookup the parent DIE's CTF variable, and if it exists point to the + corresponding BTF variable. This is an odd construction - we have a + 'type' which refers to a variable, rather than the reverse. */ + dw_die_ref parent = dw_get_die_parent (dtd->dtd_key); + ctf_dvdef_ref dvd = ctf_dvd_lookup (ctfc, parent); + if (dvd) + { + unsigned int var_id = + *(btf_var_ids->get (dvd)) + num_types_added + 1; + dw2_asm_output_data (4, var_id, "btt_type"); + return; + } + } default: break; } @@ -949,6 +972,11 @@ output_asm_btf_vlen_bytes (ctf_container_ref ctfc, ctf_dtdef_ref dtd) at this point. */ gcc_unreachable (); + case BTF_KIND_DECL_TAG: + dw2_asm_output_data (4, dtd->dtd_u.dtu_btfnote.component_idx, + "decltag_compidx"); + break; + default: /* All other BTF type kinds have no variable length data. */ break;