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 0E7B3385770D for ; Tue, 11 Jul 2023 21:59:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0E7B3385770D Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36BIDAvY015513; Tue, 11 Jul 2023 21:58:59 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-03-30; bh=3oodLy7eAVQqJPRPB4WnCDJ1PtF2tjxgfI0DYBu+U4Y=; b=TYxILk497sgerUxLglSUa2Eqn7ccPB0KlJAf+UMqV8mdv9G53k9g6XLS43gK07Gq/UNk wEYrVPQi5CYlqtwVDcFSJMjngH4HYQ4hMHZVcMy5GeuSYpN0Cs/VRKbLgqlb+UAiRkSc 6fD1oVr8an7hKxly7H4AnrVVi3lsHrrQsS0YhEupZTOw8nEod/4y0Ecgw5mf+s1QmF/p 9sytluosH6cAP12lmZvW2rCOgNZ7yH6O9JCzyotxxAeYIyKUI0l6D6aO2TUHZnt15ftz SYnZSkWcOqHVJSzDasob581BCtaxf5h6LSZgqdew1PEg//UjAyp1agBynuvpdrE2VJp/ Rg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3rrea2v170-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Jul 2023 21:58:59 +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 36BLw8RH027105; Tue, 11 Jul 2023 21:58:49 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam02lp2046.outbound.protection.outlook.com [104.47.56.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3rpx85hhuw-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Jul 2023 21:58:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TLRo9gacddvJkfHATViSbqshLVMBojsnVRHPiGuPrPjgd+WO06kQpgj/53uvLACrvliAGH7iqG4I/aX8pLYaPTqs5ITMmN4lFU6I+2g6ol4CMMm1SVxXAmyHevYxDQ4SLTMD7IxSmpd4B5Btk5d8VZObtxHQgKq+gU6Zu8PYejWqzbA9vHjo2LjSECLno4K7/D6JkQEptepYRbu8lCrj82MsqcSeQer5YU7XXxAZZQ1fm1uRHd2RxCrg2HLK7ipE+zHUgrpF+PyDLbzbyKApBrLDeVTol1tdtm7wVwEezJ7/0lQTRfMiIWNbzWfomHv8lpgkmPg5j1tmhAuLFHj5fg== 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=3oodLy7eAVQqJPRPB4WnCDJ1PtF2tjxgfI0DYBu+U4Y=; b=N4pg4G+hQXXexLLZVv+P3OM/ux8QN8/qUMqFiQzLzjqhR25si/XkNBwlZ2iOfLXZkX+eWWBJXgSLT+B0hViPEPic0quqsVkr+u9Iq2IE11fBt/HRhloWgNbNZFGOWDvLGZoV8EkljjNb1h8ebFcnaYdTvkRIEWQ+mMtvMyCY9X2fSwEJ3gq+0D08ijwUdzXAVS1p4vxrwWivYIDh+DoydzYUORUf3SB+b+gp1qKLtZ5T6fe9wlgaI2nJ+sJZNnw8YXTSWxKfY+KrNi/gg/FZm/mW/wKR72aDSOsjHHSnYhSO0Vk79sVBfCAbvmWq3ce7MODa8Mtl/QvR6Mjquy00WA== 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=3oodLy7eAVQqJPRPB4WnCDJ1PtF2tjxgfI0DYBu+U4Y=; b=XVa9upNqISoVwUVSK4L4uRQK/1KmUrTp3NowGO/VLhuXglWq85mlngGgcBvdmPx2MCOTxQM7i5CkHDQpdHj8EG5KVNeW7Fe+x9JPxey1A8TLfQa0VuoyphO27d7ITYKHZTrMsxsidRIiZELpaNDVyh4CpB+nStLjPGOkrYI2idc= Received: from MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) by CO6PR10MB5650.namprd10.prod.outlook.com (2603:10b6:303:14f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.30; Tue, 11 Jul 2023 21:58:31 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::1797:59c3:a40e:f8ab]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::1797:59c3:a40e:f8ab%4]) with mapi id 15.20.6565.028; Tue, 11 Jul 2023 21:58:31 +0000 From: David Faust To: gcc-patches@gcc.gnu.org Cc: jose.marchesi@oracle.com, yhs@meta.com Subject: [PATCH 3/9] dwarf: create annotation DIEs for decl tags Date: Tue, 11 Jul 2023 14:57:10 -0700 Message-Id: <20230711215716.12980-4-david.faust@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230711215716.12980-1-david.faust@oracle.com> References: <20230711215716.12980-1-david.faust@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SA1P222CA0042.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:2d0::16) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|CO6PR10MB5650:EE_ X-MS-Office365-Filtering-Correlation-Id: 22c056af-afc6-47f2-0340-08db8259f716 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: P8/49Z8CbhrIVX9bQVbwUk2Ah5//rT03jOMYuwqalcR/oSKqIhYQSn+e4J4M7+hTYB37q1ciBtGKUkz0H830IE8A+EkPm4VCKZLCs6OGhbYgA96g3by5yH774CFCrhz1LvDrD6mLCze39BuSnyC85nQw5kpJWTa3a90wDOXDSl8eHfXxdvHKL2mo9jqOLGRKGf+/2/svDLIW4KE0H4uKCD282YgRKBauppjcpyjsguaH88AAQFqIA6szHRWATvR2cqevQPyRyTeaubYoqEF/exxaXNvu2t4Gi9Ezt018LEnzzHCrCDdO0/VF7+pO7zlaCCRoqObmuCvcuXsjB5Ud9YNU4X5xVZmqWIJO2lZBMuheDfMMz/oy7yYXEWwrvoxLP8o7+VvDLIbBNDnot67yFmVlTjKMwd1/BxzVPDxoQ+lxhf6xONruouepSvkBeJrIjTnWZvYXe7onbHCmF2rIltY6Ov++DYS+UsTsYnZCN/RJfePBPw5wxKcHswvA7N9T1ReyNAO5ECSJ+PH3OMskQzEa1YUYyPHECGj6brZuRm9HGQRB6YUlWHLD5OpQImof 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:(13230028)(39860400002)(346002)(136003)(376002)(396003)(366004)(451199021)(86362001)(38100700002)(36756003)(6486002)(6666004)(6506007)(26005)(186003)(1076003)(6512007)(2616005)(5660300002)(2906002)(316002)(66556008)(66946007)(66476007)(8676002)(44832011)(8936002)(4326008)(478600001)(6916009)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fIpNSyG88aXqtIdhqY60rnMMqi/yxqfTQkUXSxHcOgCXdyEVElze91btY/X6?= =?us-ascii?Q?KX1mz7iP81NIUggx1aNM7UoNxnmx7JDQ1wpHkRMeqwl9/142gQZfdBSYrBhl?= =?us-ascii?Q?6MiI5EyQUpz7n2wUXI7Xsl1yhEPI8HUwoxcJS1v60xamuDq5jvmHqOgz+S1w?= =?us-ascii?Q?dRQxBonkyqoxnSe2JD67VrAJ9BKMi/I8tPacCrjPGKNtEuw13BtwxBrGiSTF?= =?us-ascii?Q?+6f+1a+ZUQGHXNLI9s5lOkz+vMznwlk1mIURmkaa06eQyTpZQFbHjaq8DfTE?= =?us-ascii?Q?xNbVxghJeFP4VVpwGhbtcosz1sAoJZC9/PVfQfmeMwDNVqxg+CpeVSnfbZEm?= =?us-ascii?Q?0yUun7BqtYSQ+65Kfb630fec1APS0u59ubwpB51pMxWlehAd9ZIegkkvVbMU?= =?us-ascii?Q?/gioidXQvOhDMhKxM8Kyp2UB8ggkxshuAqVBVH5a6yAzSFonZNmxL/xBaIaa?= =?us-ascii?Q?EJTUU1qgglD5TcwIvxaPkTnEuHrAFaxupsiYm8qfQiPUMA+PT9envWajTTC8?= =?us-ascii?Q?QANBBxjJ7jEgkixM2drFa5K4kSM9Lhdnknk+A4v2pTUV9h0BZaczMJsOXRkA?= =?us-ascii?Q?7G8fpigUDMfn5BHnxd3FgG3KJ9m5FhdlsWBsDlJAfLh2C1RFJOWyTI7g5dDJ?= =?us-ascii?Q?ASjFXDnM3p8/pLRelQC9UHfPcvV1PdcIpUKEE5BQuPvAP9y+wnl644SSCvni?= =?us-ascii?Q?xSn9Njl0o3LGiTZJ0NEaLdelxkMtkCnzseJ/r3nAzPabFc/fzs8qQ+t5h7xi?= =?us-ascii?Q?TcozaWVMOICBFU69SIlgTnDZDh7cjSCK2lgpF9MKAAGhT2YQSwC0Pb6fUpoL?= =?us-ascii?Q?g7l5QHPbE4fXJhomEnNxqYbkHAum5edOOfDZX2wvFJDaRh2Hfxy64Ad5wc3M?= =?us-ascii?Q?ntqDNMeOkj2+CrviNIsrh5vlTmdoar+rTnIOmVy/AOOuHNSMfqpqQki/xxIY?= =?us-ascii?Q?tVqLpzJnvx+DBMOwvnkkehQrWpSNcbrbOSSTHO7WGlSId9pKjC1jqPtgJmCi?= =?us-ascii?Q?Pfm7Ta4VkDMrf/5WaQEsGQsWprCYPuzu0OLnX49pJhDrq/e9KbaFIlmEUAAp?= =?us-ascii?Q?wKgtfvPRPDZAjYu/1HF2/p/rEIxb9o0u3aOzmFPyqqS0Iaq8kfKOwK2hbL0/?= =?us-ascii?Q?ve4rSvLlhku0y+BZW8CCIitpuojmYSNPjXdO+BWtr+WP7MphbCKbmcfII6cH?= =?us-ascii?Q?F1yvjV41lRwRHoRSiesIq2L3XslZ4RC+2H2neUUWWA70aN5GuCyEiUc+XOje?= =?us-ascii?Q?Af3uFOPFusjU9p8G/GF/aj/GKw4svbhuepxKADbsg57KCyRls5j3KWxOKwcy?= =?us-ascii?Q?uW6w0p53XwlL9zX/YZ+d/z3cLxuMOt3dBt7NHzS4LVAqnzG3STyj8go5pL6r?= =?us-ascii?Q?NrU0yYnjFzbgaVjIyLvmdZ8vgl82FxLgLnw5OoWOfxBqpFQZpuYPhU1Hmg84?= =?us-ascii?Q?1Ur4bpeNBr4ASsBRTI0BwQuVrjGKSBUeJe0KQSRimTr2nyp1FJeXYVrIyHuB?= =?us-ascii?Q?z4mrVAELg1y0RqujLUSYm5v6fRmjkbmCxubulk3DQQPw//qOV5vTOqT8RmaF?= =?us-ascii?Q?T4vUc4Sb6StexiuhlY+lYkRb32YDsIl3NTYndknR?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qGqCY6eRplnRUsmY9T6x9zhOO7ACeF/rCviw5cXHXD5SHPbAI7MvuGOE1kepUdFANAqT6C9DWWSzq5Z30bu3kDEnsR6bAqPWmYGjphkZJa8fGh6kgM2G5hLCvWUn/c8tss6uf/rMfoK7BxgtOCfAZeXGQRKgZwab4t54yKHTgz5IlmVGwCe2WoIB+0LVN04psoQciN1xSHAZdxyfan9pHT3TN42eeaRwcqRoYGpaeDkaUbMeUdTsfBFvPd9gPqsZBKpdp4o4ws4w5AKehSddYEpqILGYT7ljl+D7gIJ1w1qhIyHtIAeD8gINJmWrUL8wurO2ozdw/R8S7qtpFmq0BYi7iUxmqr5WtuQBPkSKmNt9UvTcyY2s2jMZcg28y4fdC75rQf+BDzp3F2KFdUD6aoolbxsxYKWMzyFiEx/9pMmxBnPJdwvt/UIBj3jzikDjmSm2wu9g6++HGRJfXRWd7FIoFCAJEnE6rKT34wJkKD/dVoD/V14KAPomgw49A28pSvjLgw0UsGFSL/CyUmHjvnYusSbX2GM3Zlo6G4wH7licVzoD/oA7RvoOcZEmAEG0LV5DAaGhOpVwmEeN+Iz0WIbM4zLjijymVc0Aa0uVU6+t/0l0ukALqjvgSJuZY3NPLS6lk/TD7XQLJWyJ7z6UVE4VE8h7Qa45w9v+5HOrA2u2rqjfAL/Yfv80J2IdPiDYt7/jFr1qXiB9ZDc+N0Q1N7Z8b2fe1Wcs2hSbkdxL7hpVzEtLo6rYgtA2DQwtwDKYMNrJ+0F/xS0cQ/mwxyOAAQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 22c056af-afc6-47f2-0340-08db8259f716 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2023 21:58:31.4814 (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: tLv5udagOZEBiCLswSdxKGxDwSL2ZSmIF81bfsM9iOvxsMKxARurxB11uHd85ThcG6Kaqrw5N4kZkn9DxreVAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5650 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-11_12,2023-07-11_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307110200 X-Proofpoint-GUID: g-kBJVWDfyqjbD2CVfgJp1MS-3Ro53je X-Proofpoint-ORIG-GUID: g-kBJVWDfyqjbD2CVfgJp1MS-3Ro53je X-Spam-Status: No, score=-13.3 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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The "btf_decl_tag" attribute is handled by constructing a DW_TAG_GNU_annotation DIE for each occurrence to record the argument string in debug information. The DIEs are children of the declarations they annotate, with the following format: DW_TAG_GNU_annotation DW_AT_name "btf_decl_tag" DW_AT_const_value gcc/ * dwarf2out.cc (gen_btf_decl_tag_dies): New function. (gen_formal_parameter_die): Call it here. (gen_decl_die): Likewise. --- gcc/dwarf2out.cc | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc index 238d0a94400..c8c34db2b5a 100644 --- a/gcc/dwarf2out.cc +++ b/gcc/dwarf2out.cc @@ -13620,6 +13620,35 @@ long_double_as_float128 (tree type) return NULL_TREE; } +/* Given a tree T, which should be a decl, process any btf_decl_tag attributes + on T, provided in ATTR. Construct DW_TAG_GNU_annotation DIEs appropriately + as children of TARGET, usually the DIE for T. */ + +static void +gen_btf_decl_tag_dies (tree t, dw_die_ref target) +{ + dw_die_ref die; + tree attr; + + if (t == NULL_TREE || !DECL_P (t) || !target) + return; + + attr = lookup_attribute ("btf_decl_tag", DECL_ATTRIBUTES (t)); + while (attr != NULL_TREE) + { + die = new_die (DW_TAG_GNU_annotation, target, t); + add_name_attribute (die, IDENTIFIER_POINTER (get_attribute_name (attr))); + add_AT_string (die, DW_AT_const_value, + TREE_STRING_POINTER (TREE_VALUE (TREE_VALUE (attr)))); + attr = lookup_attribute ("btf_decl_tag", TREE_CHAIN (attr)); + } + + /* Strip the decl tag attribute to avoid creating multiple copies if we hit + this tree node again in some recursive call. */ + DECL_ATTRIBUTES (t) + = remove_attribute ("btf_decl_tag", DECL_ATTRIBUTES (t)); +} + /* Given a pointer to an arbitrary ..._TYPE tree node, return a debugging entry that chains the modifiers specified by CV_QUALS in front of the given type. REVERSE is true if the type is to be interpreted in the @@ -23016,6 +23045,9 @@ gen_formal_parameter_die (tree node, tree origin, bool emit_name_p, gcc_unreachable (); } + /* Handle any attribute btf_decl_tag on the decl. */ + gen_btf_decl_tag_dies (node, parm_die); + return parm_die; } @@ -27170,6 +27202,9 @@ gen_decl_die (tree decl, tree origin, struct vlr_context *ctx, break; } + /* Handle any attribute btf_decl_tag on the decl. */ + gen_btf_decl_tag_dies (decl_or_origin, lookup_decl_die (decl_or_origin)); + return NULL; } -- 2.40.1