From patchwork Wed Sep 20 23:03:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 76476 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 4594F386BFE6 for ; Wed, 20 Sep 2023 23:07:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4594F386BFE6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1695251232; bh=UD1cAe7R6GKR8JtidR8C1FKKfRePN7YrfDKUsrjB/2k=; 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=uJcjpx33DDFjx0GtUPZOOgNNaaMUKNC1vyCi6EQhf/Y6zfA2lPEVQU1lJPni9O88H OndzwEzMl5TpBK1Wi8MX3Bw3Y58Dr187TZkG/lzPBcN+TPwhr9PiPwW91W4LTDhUmt UTcc6LsTTfXdBx3ZHwE0bQiJv73W7KY4WOVeEd0w= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id B6EB138560A4 for ; Wed, 20 Sep 2023 23:04:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B6EB138560A4 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 38KKJ1D0004008 for ; Wed, 20 Sep 2023 23:04:50 GMT Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3t53530jye-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 20 Sep 2023 23:04:49 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 38KLDLQ4012197 for ; Wed, 20 Sep 2023 23:04:49 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2168.outbound.protection.outlook.com [104.47.56.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3t52t810ae-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 20 Sep 2023 23:04:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pca8yMQkzUtdUjbPXCuxmWCBLgLJGTVer3ZSi4ECVaoIhb9XuN8kqxAWGs1rYPQhTa0cH6XwYEHJarG6SfwOEtLCVmx7ItWrqoPrqNHqKHSVj50e97zwY+agCAEdnKXR3MG23triiV9DtXDXGuvF9fM5L/IoWKGLKREuJ1oHOrP8RRbA9bmVvMMcrNwjSWAHQ/A6w3jhu1kITfPiS+gnOz+1ZLmLANH7WhvJxZhS0XBItwpv/hlqOw5nULKpHlPFwmbAasgLkbzTBByxOFQ8ox2cpGq7vgNei5fWinKrzfqbkUZY6Po5LJvGNooXzZR8yQlb9bcFIC0YqAdHLD7nmQ== 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=UD1cAe7R6GKR8JtidR8C1FKKfRePN7YrfDKUsrjB/2k=; b=Lr58mN/YQrQNGJdCaZVI+98sp1/+qaZYIkVJrVRcjwTfBOANA4QY8GK532dD2TxM5ljMVt3hS9fMQAAz/PX3r1NJEMnR6coGV8NWGKvrqvxworPZ4y6FGQ0uaSs3HTmvQxtodaG6uHcTW1/Xi4NhllLZm/TC/T0/gK+7+7gLbkOs6NNPxJni7NBmOnOpYPCaBFsndixVlLGA1i1bbeVCOTJ7k7rrCLuGxok8feFqqpdSCG29ar44w8rhyR8XcyHeD0RTU4xrCaQJTB8X6is6VaBxtfZIJwrDDnpGtdGyHJTjuaYJAB9wnop7Q+gT3EFuYarvXqbOBq0sqcl1oyuitg== 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:46 +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:46 +0000 To: binutils@sourceware.org Cc: Indu Bhagat Subject: [PATCH, RFC 6/9] gas: dw2gencfi: ignore all .cfi_* directives with --scfi=all Date: Wed, 20 Sep 2023 16:03:58 -0700 Message-ID: <20230920230401.1739139-7-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: MW4PR03CA0178.namprd03.prod.outlook.com (2603:10b6:303:8d::33) 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: 4092dd4c-195d-4d22-fa2b-08dbba2dfb88 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TLZl4mynsLIqqug3y4DtjpFir286Qr63xDp8saU3G3Z60kLRmki5/InNyhHfXAWi/7+bwWCOdBpN4tjxGclxNqpRAzmsv1jk8Cvcws9oH5IEbvarX7sNSVKY1WA6TKY8e09KTRduykabw6XO+9XxM1Uj2B7CLPWbcPGo7Xjk9VJTtD39dL5dfJ7+byPY9iUweDKuForK1swmR4F59mU0Fjfn1Np0QzWJOTJVZ4dCwoqYMlBnq4TWLMfD4NRtKiKGj0VEJXU0XxAO4ipXwwpnmR0paPcpExubf13nkUFauhjMxpPGRum7rgjq2JfBled6tc83aRxl4GU88ZL/w/qxdsrBv+zv4urBEZ+JXLte8m4CeiGQ967L+VHEbPxjuBkl5jzb4iai5diilxp7qGh9nK9uy/eX1sESKNHo88mrl/0xIJeT0/dMj66I4shoyRnopsjnvK2zfU+r8IooljVSBLo+Q7ohJmkZrlfFT6GEPKJMRuhr8EjnOFCFtdq2s2BEQTcxnxG3SrUCFemzIdKj6UIC+bx7OKlLFatoJGjoOoF1DxhmZw3/fXiHiM9ImuorUSYYljoRJu7NXw1BvyoRDa0EGrFBxuFMn8BdIbFDFaqDVS4uWZLedUkvXclA544u 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)(142923001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5fJgi9DHVD/BOhVpUkb0eFNzaONGrbdKNZMxsu5vrFV8Xv7Xsh2FMtmN9OGzqavsSXgD2bhcA6Che71fUsBDyOYyFccwsz0sjSRJI5mE1PrvInGkW/FmzR5VDrgrMLM5n50G3decD79N8yTzH5NQBH7dusWiqb9IZYf1tpdov1phptsae2yNNvhcvh43O1CMrcYggp54TYbxND+VAXMNqSFA04Oo6PkZUbeNPCWk8HBPUd09WpaKGO078srryWAc1n0xhAnpV/0d1PCQKhJdXN63vQ8rLh9rcuvnorr7RwwK5gpPLyCGESTByHXQVGPDqJ8fKsvMuVIVf++umiV3X48aNQYweEmoVs2/FEsIi+x3YVKBQfsOBsM5FnPK9gdUl1KeyxBzRVi/LQW9Y9izcB0O+zHN9Qz+APCq5U1GdfHMmb0BdRg8PnYFzBkVrvq0PWDn8jv3GhSaoy2HoRgvJlJ9a1gRSmtTZQpKYO81+jg2dV/Q49EAp/CWlghsKed3ilA6qcMsMtUXz5frq8PugN9OZFWl03mNJbuwlQjYOAtWurbSqJcfEqn+Hk7S7vZziX99jhFwMsLyDOJobEWgf1SGBjON0XytL2ieqDstvD/LM8bdMLQ9z1K/FXL7fNl7Z/QbqxdTw9TmXvnVgpqGcZ3zRnIH/NeA2Yz+XGvp5h5aN4DTaRCqHbdqhGL32rB1Hxa03WQxxjC0bDCgCgAzEpFQN5Z5/BLwaOxEOe9wS2lClb2j4OUNLIVJ44bGVKhSKeNwX4nVF6xLd/gpgYXlChe4jNxsSDLnD/orTTtazi8wqHXl6x3UfXcPv41MOxJZKZHVq4U8SYPy0l+2/uoyQjr7gM6KltHRqJavofCp3fHrB6I4ZebZKiq3sUPOIY0W5HN2ohFOQeK4g+ngJoqpNq33wqk0PI9gpyZv4sfK+uPsO4yFtum5w/e8d+frgyOryOnQN6S5Esy57OvxwWxkV4JbDSNmzXHGn+KGr9b1y3BaXTXg3upImDWKDgKTfjIwvSzjwjjvyHJj+5zLHZnohociQDjFkLUf4HOA4AfyFzdacpuPtiSXPwG7bV5KMrPzgJcaAzIFtXlmv9Eo76CyPGZw6OxzRWgevwCHHFDNh2Rg8kTNEpNDiTgzcboxf9uoHHsCgdQ+IIHG2tEG7pM7ksjcCAhlBOF7gNNFStN894IAkphb3G6T7eP1Xs0axvX5SOa9ebVc7psNQJDwTj/5rspHCnCqH1eC/vER2v4GMpVQ9f8T5n+y5/Fy/PwUtWm61ImNa/TVd9geyeOu5y+YsYTDnjvYg9FR57u9+vjzjNcXuowmiUQmb7pnuEVMO+b5VJwQO5xOrfU1XCUeJn09tHXr27SC0rbuqmLZrVOZvOkdjWxUnZgH5OCujJNGlTM58f+UjUrf924iMzwDHOYGXPB1oNngpWAJVU8IJnxfYuS0NkA2YGNYggyB3zzVXRU/sqCF0mpYQCf+jZrCFmZ6YNLyduH7wCef9VNWqVoQN4mmquR5y1ysdP/1XkHujZvakMFxSSEl2EiYDYgWHNr2K2Pr5SPYWeUwoav/K2nJ/0Nz4PPF/B09I6CrRCz/HTTX0zFMzSU9FevZ5ZIiXUHtWpNLigQO1AUjIRHtM70r+yU= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7A1f/N4h5PMr8YVuHtTj7QhU7kfuhy1n7vKMXrEHG31k44GFw0JBzLiLsVJa0mKQ0+RwQMsmBzXlzPEf8bE/Qx0ZFj1jgJXQ3X5/brUJdXKRev2xJmO0zAulLIZ1pGwamyNw6er5qHItnHgER0A0dC+A7htKJ0WOKSDEI7YPnebPqvl3ak3Yok8R7ban0iH9fbXfjpx6H4QUgsyTc9Hlf4yT6x5j3XmedBNIqMdpUNpeMcx0AtL759UeQMfHhNSa6S+oVddbDXmlKndaDXfQAzh71M4HyzxqvmjOc0yJowR/b1ba2zA1wRbe7qwLvq1CtxQWh7qxynUISeAuekY5EIWQJCp8VB5JY+AcHy1Ck8Xg3+km2rzTb595568TKNEKz50KHp2uGt/tx3/+TD6PTx3DBQJ8JG80xrYtd3266FWbvTJigBLI7jZD0h2ygokhvNk0xDDD7E2Uy723EshZJ7HfequhkLOW4XndHH052qEFKEjXZQI1oRH7zMoLsZevwl5QIizD7VyyeHAOINicUi+Q3ly5f3XL/GBm6qZuuvmA2/mfMF6lClMui1nOyeYd1xF36sYFjGwBP7BIjY/VY9nemCysBkzPUfJ5aLRGFgamiTAkug4Ga3n5O594jXz7DWmB+lw/scQIpN9qbP0y89XezekTmNfdJwQ4xEo+gLMFZl+6J9RUnUav+vuRON8jnuM2++kivQfg/RyVL214mXBBhCCDRFV2Ff9p9/0S4X1SJfYUD3Wr4aFqKpXEx78NZy33jiA+Ex77ydrZttWZFQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4092dd4c-195d-4d22-fa2b-08dbba2dfb88 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:46.1101 (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: 5WNV81Y4vHqJvsiuKZLCVJchmbmxExoyBTOnHgNdkaJKEx7YOYgwQN/qaRCvGU8D0fJtFQPqQ8AJdlwBoBHQdA== 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 phishscore=0 mlxscore=0 malwarescore=0 adultscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2309200193 X-Proofpoint-ORIG-GUID: tVPJwr3SHsIaPBaddDt_s6Wov9jga2vC X-Proofpoint-GUID: tVPJwr3SHsIaPBaddDt_s6Wov9jga2vC 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" As we add support for --scfi=inline, this commit will need to evolve and more changes may be necessary. More specifically, we will need to explictly check the value of the enumerator flag_synth_cfi. gas/ * dw2gencfi.c (dot_cfi): Ignore processing when synthesizing CFI. (dot_cfi_escape): Likewise. (dot_cfi_personality): Likewise. (dot_cfi_lsda): Likewise. (dot_cfi_val_encoded_addr): Likewise. (dot_cfi_label): Likewise. (dot_cfi_sections): Likewise. (dot_cfi_startproc): Likewise. (dot_cfi_endproc): Likewise. (dot_cfi_personality_id): Likewise. (dot_cfi_fde_data): Likewise. (dot_cfi_inline_lsda): Likewise. --- gas/dw2gencfi.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index cdef8d09978..2a02752b734 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -806,6 +806,12 @@ dot_cfi (int arg) offsetT offset; unsigned reg1, reg2; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_("CFI instruction used without previous .cfi_startproc")); @@ -936,6 +942,12 @@ dot_cfi_escape (int ignored ATTRIBUTE_UNUSED) struct cfi_escape_data *head, **tail, *e; struct cfi_insn_data *insn; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_("CFI instruction used without previous .cfi_startproc")); @@ -974,6 +986,12 @@ dot_cfi_personality (int ignored ATTRIBUTE_UNUSED) struct fde_entry *fde; offsetT encoding; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_("CFI instruction used without previous .cfi_startproc")); @@ -1045,6 +1063,12 @@ dot_cfi_lsda (int ignored ATTRIBUTE_UNUSED) struct fde_entry *fde; offsetT encoding; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_("CFI instruction used without previous .cfi_startproc")); @@ -1118,6 +1142,12 @@ dot_cfi_val_encoded_addr (int ignored ATTRIBUTE_UNUSED) struct cfi_insn_data *insn_ptr; offsetT encoding; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_("CFI instruction used without previous .cfi_startproc")); @@ -1183,6 +1213,12 @@ dot_cfi_label (int ignored ATTRIBUTE_UNUSED) { char *name; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_("CFI instruction used without previous .cfi_startproc")); @@ -1211,6 +1247,12 @@ dot_cfi_sections (int ignored ATTRIBUTE_UNUSED) { int sections = 0; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + SKIP_WHITESPACE (); if (is_name_beginner (*input_line_pointer) || *input_line_pointer == '"') while (1) @@ -1278,6 +1320,12 @@ dot_cfi_startproc (int ignored ATTRIBUTE_UNUSED) { int simple = 0; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data != NULL) { as_bad (_("previous CFI entry not closed (missing .cfi_endproc)")); @@ -1318,6 +1366,12 @@ dot_cfi_startproc (int ignored ATTRIBUTE_UNUSED) static void dot_cfi_endproc (int ignored ATTRIBUTE_UNUSED) { + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_(".cfi_endproc without corresponding .cfi_startproc")); @@ -1382,6 +1436,12 @@ dot_cfi_personality_id (int ignored ATTRIBUTE_UNUSED) { struct fde_entry *fde; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_("CFI instruction used without previous .cfi_startproc")); @@ -1403,6 +1463,12 @@ dot_cfi_personality_id (int ignored ATTRIBUTE_UNUSED) static void dot_cfi_fde_data (int ignored ATTRIBUTE_UNUSED) { + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (frchain_now->frch_cfi_data == NULL) { as_bad (_(".cfi_fde_data without corresponding .cfi_startproc")); @@ -1511,6 +1577,12 @@ dot_cfi_inline_lsda (int ignored ATTRIBUTE_UNUSED) int align; long max_alignment = 28; + if (flag_synth_cfi) + { + ignore_rest_of_line (); + return; + } + if (!last_fde) { as_bad (_("unexpected .cfi_inline_lsda"));