From patchwork Wed Sep 20 23:03:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 76472 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 D369E3882050 for ; Wed, 20 Sep 2023 23:06:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D369E3882050 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1695251169; bh=UXo4XKNFFzQNf1ChDmU42wZsBIH9KNvN7d9wbV7+Xr0=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=FEZqTOmoTe/z9QxeUJx6TDlQRtmNdhNg4ImGeHMHYdtMqpDh/+NiXTXPC1wrp5tuZ ElYL4IRppBOi0LJ5GqD5Aq2kGKYPAr2yN0pgxZGeEuLpAFGsViKU8Zcvasm+to3foE 8O2lvN3G1gZleHHA4HVlaFjrJb/JsfK8qewfaXnk= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 597963857728 for ; Wed, 20 Sep 2023 23:04:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 597963857728 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 38KKJZHB031770 for ; Wed, 20 Sep 2023 23:04:37 GMT Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3t54wurgdb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 20 Sep 2023 23:04:36 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 38KN0Iru026992 for ; Wed, 20 Sep 2023 23:04:36 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2174.outbound.protection.outlook.com [104.47.56.174]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3t52t80bc4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 20 Sep 2023 23:04:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TxM8tZp5FOUB+1aZ2Po2ntMFFwhht1uVqRbHSwJ6fTwnpzzlx7Fwt+MRa3SLxT261EqH5hmptqQZBF39QyHy6J463yv96KZMtQodQ0ID+0ZScULk4+o5cBjOSWDeJ6dSELkMSEv14ugXP3PiV90h35CduaOTWGgHISC0izDB9dy20wB67jgkGMrVnz5CpTYQmByQ7t8Afmh7wpBPWqH6/2aGGNVSbEAI6AeAF5d54jCrBx2PKi85HPFrLl/gxBc5xbdyHTpajqkjUqpkZkAHLEEq9AeCGthqr+1l+amLpMSy9E/cSChdiD7BizVywXjMQyjSPO/PY+TjU9bGHX/IgQ== 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=UXo4XKNFFzQNf1ChDmU42wZsBIH9KNvN7d9wbV7+Xr0=; b=doNXKpa+1JkDdT1CPAZWpBIAN21keSIoBZuf+XPxFZoUHaMqmNmGsVPFMmm3GU2zbS6b67a7o6xXw03kSZ/XvGFJ0eEwHS3yo7FX8wbyhqUbH2ZUj0Y1+T4JMDVCVOBUwBuS1C2j5At79ayKJJiSNmcRK12DY6Xvx3hxhYkbEw664+LY/J2FeMtgQ+Cs+IAQw8hWunEgd5IxHioVhVakZlA96ZCvdmlAiI/L/HVdby7qUTrGbjdR6uElyv/89g9htxzgc3JeQenyZ8AONo2yrTsrv6lWAZnaAy74D+2+OQG4mJPs4qfEkhh1cfuztgvUe9Ot48hi3xAIBdIutN35Eg== 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 MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by CO6PR10MB5553.namprd10.prod.outlook.com (2603:10b6:303:140::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.38; Wed, 20 Sep 2023 23:04:34 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::44f7:ba76:db28:606e]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::44f7:ba76:db28:606e%3]) with mapi id 15.20.6813.017; Wed, 20 Sep 2023 23:04:34 +0000 To: binutils@sourceware.org Cc: Indu Bhagat Subject: [PATCH,RFC 3/9] gas: dw2gencfi: expose a new cfi_set_last_fde API Date: Wed, 20 Sep 2023 16:03:55 -0700 Message-ID: <20230920230401.1739139-4-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230920230401.1739139-1-indu.bhagat@oracle.com> References: <20230920230401.1739139-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4PR04CA0254.namprd04.prod.outlook.com (2603:10b6:303:88::19) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|CO6PR10MB5553:EE_ X-MS-Office365-Filtering-Correlation-Id: c2ea76e8-e74e-436e-5a8c-08dbba2df48f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MWIjcOV+9nl5YLcBW8ZGZ/mQBvV23akqvyYzhSSydAswU9SO7u9xcpK3kQxOfLJiGkBnAiQACmb1ayKYke+5V9Wy8KBNaxzOu5LAvCC+yMMqdLIkl5g8x6vohyEkJl5fP804BgaevGX8ublgX4UI0EJd/gIMJhMQD4ZXIux1uR8z8cxjhGiuRlrFiubabnyrKGmEZEOEKKOuvfQn0/XDkI7a9no2DywyJ6vMFyfsOnv0wrZsOvW7vqQwGWLScjw3oMWxT77jfBgNaf1wyez9RmZCm2rInkKkMa4JXDaCLuHQ95xZSzVyWz/5hAuFxOu2imWUAfBKinkvMhF4Tk0ry6cjhJDNHtfY98CMtCIEWYvfK4bQYcJnvoRwJKeNVS9iISF229vFzVbXdyUUruMYb5jlh3PC/glZw+Q+emNvCDKP1hX7hrpAFdFToi4G062nMnbAaUof0xF8rES3rpgBHMVU2gNJlmJxn7YR/BLClFczcusaFhE/4Cj5C7p6cWm4XFPtbmeetKW4s2trXwGE+8M/XMoYIMYWZUDrRRORuEqCI72yahOlff1n5bzVo7uz X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR1001MB2158.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(376002)(136003)(366004)(39860400002)(396003)(451199024)(186009)(1800799009)(6666004)(41300700001)(8936002)(5660300002)(8676002)(66946007)(2906002)(316002)(6916009)(38100700002)(66556008)(478600001)(66476007)(86362001)(4326008)(44832011)(1076003)(83380400001)(6506007)(2616005)(107886003)(6486002)(36756003)(6512007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7vOAOKgRWXgKoyhY2rOnc7wwbf5YqV0jVg5bIX6KAnlygQSi6HaVsr5jtTMqQIGbhCKS5ckjivCRU1NJRN73eDFAkRqJUCciQQO1HFzLrXA3L5TPU09FI6zcCIunDMxgu56AQMIPLzhlADxpli2hCGlFaQrAo48g+U+otRFjPRfmxHiqQz5Jg8HPAxIBZelOJhLcQFtVL2mB5fLFcvSeL+HqVVigP31PvrNufNlev0/y7kDvhsNMoapQURto+X/v3G50r7W+GIz3Vwi4nc4I58iuzBtDRLqHRKqsCZEeLWX76aAIU8+Ec4RSWCIk6HPapQegYqbhasbu65QdMfMS26X5HwpowouF6UdrV/ggC1VI1NqIqUBSZ5envlk9lWgcW+oIh81osQoVVz80d2Yu4d49OlcZ14iJF9uSw7onW0CuOLejv8qCOVRCpWJBsJ5WG514BAZg9R5Ez/4ZlkW4T1CprWG2BTuydAtn5+s5lclCxcGSUX0hlkbEzT4SaxIA7PCG/ew3JlzrLhcM0FGJamqRmvrDew1f8XjGYm3W+VpHKAQnqsPGxX4lW38xuQmXnifgOOpVpCRlPAO1x6Ouvoe01wcAe9ennxFFn7iedatb/MPBjDsp30dqPDj4UtnV9NZ8yrgOUM3P57HnlbeluNgUpO4gBVY0tGl0vBcNPfhyir3nAUzwK+lgmRK/9MqoMhNjmZnw4Zd4T5ByCXPITyIcfQYZMz4mlDmAA41IzTxsyglotAxx+mwIS1mYyPHkqs9AlpmDmBPMrQHRvmyl9tsElBt+pg7huk/gMzMBsoDVxipmwKIKdrwHuLHgNdoNq49w4U0eHrxJvvvvf6X/fD1tcpmhbWY4VF5zO2IVVngv3fUYGnDalYxvetis6TA/aAtjRoTckWtgP3MiralnUbxsiLFJ2KrMOkGwMdeLXsYS4s6dTFMEqUO1lhMkGFJ7sLaEhsXoBTPJsM8bFlR31GPMXXF7EPTzXiuTH+qM1/x36/ep0LGClqzTwWaIzaCFlY0WTkZQFTKKvt6Hrbw/036KMUTCqRqZsAfClMxXOdCDNwQOzdDDJZcL5YhfZPdrQFHa3IjSw36Kfhb5b+u89Q4J8zMnN705+9+F+3b55P68usynjuQwF7xWpWxdfOELtWVu5x+38EaEJLLDTc5BLOEQkEADxec01tKF7GAspZkLEDZPPp+wPsUFDkkkb/BzMNwO2uHbuqXqBFkQlLhioaWhEkMmNxI2DXxYcqxuva/Jg0oDtJ0cMfvS3WVcitkQR2BgwX1Zi+DVgVzQf2wB67+/9h+4cF20RMeEs2Fgp58WWYx1GWu+5f7Nn8c3ku8Zl8UOIwiIq4JogpoY0sbYzsQ59Xzxfhjd2alwIQgJNcAg9K1tfk1SwOdYG/973tQgu0cvtOzDoO3mWoW1CNIGHJ9/6VnK8VCa8DqhVSzpuk8MoZ4l+cfRz8cbTBlvLkoWAvdVzGiLHwrglNJ9fsTHnkYnT2ZT/8Slu/gzia0ylTLP54Pq8jZPsP6yDGrrN9waGXqk/0E1tR045rdgZ/vxIec99STQ/asj5tgQH/CnvBCBbtXtkIRdvES2JTILCvxNX3V+CNSYaj4+vmyGYQ7pts3BWXV57P6zSh8C5doQFCM= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: z+fGh6OSWGxcsOupSpwCDUymn7+Jt8qJpI6+u5U82sqx8tC3+ysol5qMJ9RdxeWq/jWGB6BgJ5tyiw6cbr2S4saNuBloIicReSZzY+xWHd6e+VCQ6xU7k7TehVtakWt/2AH2qAYCLM9ixYS9HDFrS+1Duu+Gu33PoysGvJJFT9NMzAuTzrGMLAuMlEzaGkKYgpBEdOKcQiSN3vL+/7AzIid9UMtvlS0eJ1IuZnbFl9L5OlpKhKr2Ih6biW9K8RnjN2I73uZq2mjvs4cju60bDvzQdXjd/ampwyBpahcgd2pq5hzNp7D9bacwUVw7/xOl/in7KIxu3YytyAs/FPWOzwulGf0l4YGw9nt3VIBKNLyaV0Zdit2mVT8shNJ/X1zpFxOPmmejy8+RqK/mgYSFQyIlxkmo4fZu71TwxB8SNbaMpdQqGnu6qnYom8K4QRYWeIoeg6OYIhZNSoYnLp0ZZMtQDouduKJzNE5vjqdaM849s56qoQtSywoTQ8j9GzUiNGqCRbyeJXk0ojXSFtU/PySE0lo7UNG7fT3MnYOo9WIWjp9SG8C+Vu3zzaQA/T0iRGG283Qdm1f5KqI7ijFa4IC67nQVTVb7GoCOeGmFsIUQ9KmD17QA+sJw73WjZX0i5XcupH4u6hR7Vqkzpdlt6ofeQueEesOsYT9+wialld1PhQK6XpbRx9z6ogiR6pRnW5YOT6mxmkkb1JF87fnAaFxYvOiZk+dx6rDBDMyZDxhTJqMVVHYk3aCQrNFlqKNlDIrheN9vs/wyqMdAC6rf6g== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c2ea76e8-e74e-436e-5a8c-08dbba2df48f X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2023 23:04:34.4452 (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: Wv25JHbjrOlgX18GBc5ibnwfGL48ITOftxr+rn3Csu9JhAgauBz9NDgjTK8K3wumUFnIgEfd1vsL+LlIYaP1vw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5553 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-09-20_11,2023-09-20_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 malwarescore=0 adultscore=0 phishscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2309200193 X-Proofpoint-GUID: c6wQPRIw9N-8WP-_GsdYgfZDvnq1ml5S X-Proofpoint-ORIG-GUID: c6wQPRIw9N-8WP-_GsdYgfZDvnq1ml5S X-Spam-Status: No, score=-13.2 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 autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Indu Bhagat via Binutils From: Indu Bhagat Reply-To: Indu Bhagat Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org Sender: "Binutils" gas/ * dw2gencfi.c (cfi_set_last_fde): New definition. (dot_cfi_endproc): Use it. (dot_cfi_fde_data): Likewise. (dot_cfi_inline_lsda): Likewise. * dw2gencfi.h (struct fde_entry): New declaration. (cfi_set_last_fde): Likewise. --- gas/dw2gencfi.c | 13 ++++++++++--- gas/dw2gencfi.h | 2 ++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 5fcfb373935..a69854ddc0c 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -481,6 +481,13 @@ cfi_end_fde (symbolS *label) frchain_now->frch_cfi_data = NULL; } +/* Set the last FDE .*/ +void +cfi_set_last_fde (struct fde_entry *fde) +{ + last_fde = fde; +} + /* Set the return column for the current FDE. */ void @@ -1330,7 +1337,7 @@ dot_cfi_endproc (int ignored ATTRIBUTE_UNUSED) return; } - last_fde = frchain_now->frch_cfi_data->cur_fde_data; + cfi_set_last_fde (frchain_now->frch_cfi_data->cur_fde_data); cfi_end_fde (symbol_temp_new_now ()); @@ -1415,7 +1422,7 @@ dot_cfi_fde_data (int ignored ATTRIBUTE_UNUSED) return; } - last_fde = frchain_now->frch_cfi_data->cur_fde_data; + cfi_set_last_fde (frchain_now->frch_cfi_data->cur_fde_data); if ((all_cfi_sections & CFI_EMIT_target) != 0 || (all_cfi_sections & CFI_EMIT_eh_frame_compact) != 0) @@ -1568,7 +1575,7 @@ dot_cfi_inline_lsda (int ignored ATTRIBUTE_UNUSED) if (last_fde->eh_header_type == EH_COMPACT_HAS_LSDA) output_compact_unwind_data (last_fde, align); - last_fde = NULL; + cfi_set_last_fde (NULL); return; } diff --git a/gas/dw2gencfi.h b/gas/dw2gencfi.h index 962fdcaed17..aa8693df342 100644 --- a/gas/dw2gencfi.h +++ b/gas/dw2gencfi.h @@ -25,6 +25,7 @@ #include "dwarf2.h" struct symbol; +struct fde_entry; extern const pseudo_typeS cfi_pseudo_table[]; @@ -35,6 +36,7 @@ extern void cfi_finish (void); /* Entry points for backends to add unwind information. */ extern void cfi_new_fde (struct symbol *); extern void cfi_end_fde (struct symbol *); +extern void cfi_set_last_fde (struct fde_entry *fde); extern void cfi_set_return_column (unsigned); extern void cfi_set_sections (void); extern void cfi_add_advance_loc (struct symbol *);