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 DAC03385840E for ; Tue, 31 Oct 2023 22:06:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DAC03385840E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DAC03385840E Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698789986; cv=pass; b=tuHox6lSRlrTHYJIJ4E7k7EZutjLX6SSGCl+f0mOHsaMwx2wXm/FrKizpbj2ZpZ8NX5u+pUNKHcTAytDUdKbhxR4WAELsnc2UgS1XV5TKe4MwXMWZuEU0EFLyQRBmU+gICIr5QIIf9OP5BWbWS2Me94ho8GW/vDEclOwrDPkm2s= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698789986; c=relaxed/simple; bh=tmjZwIRxAQg6Wqc3wO1InGj7pD0awRxXbMm7Ysd+Ens=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=BphlDoGwsW2z9fcfCu7rbfu3ANB6sgkOcGlOOLnEhkjgo0kyCwbWxRRuLArhKKkj5HLPm81PCpO96AeMJu43eUvl9RSJrIlPn54zm6KKlHHRPhIb6fvFJovJkLW4Om/QxfrVjYJT/pcjEDZwVxPIZQ+8uvoFuXxOW4t7iUr1+W0= ARC-Authentication-Results: i=2; server2.sourceware.org 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 39VKWLOa008095; Tue, 31 Oct 2023 22:06:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=Llah9mTeLdjRRcIa2nvClbFAVV76cTiC9IkTjSsMoB8=; b=hojxMIuAOw3Y+nWhxff8joTdD9+3tb0I2KOBbEiIX74bYsVxyKBx9P8KihfA1PYuYs0n DUBRMDwLpkWEJ3MR+yyL6R3zMY+AlGozAnP1GF26Abt7/EeLtu2tiDjoTpjOywrFXslN ELQg8vKhEUZvOuGy/ZCbafsmX6CHpLf7EMPGpQzCN6QDE6oIPbVbFmWW3hT5+uMXOhFi FCXBDxIQaF7nHXK9fL1nazpF3PGrt3ptSry0Ib9fvgxtjg8EW3Pze2++SX4w6qJ47UNj FIBDpryhSfkp8a67maquxZCua+xiO6Cqc0pGQTDmJjXXwxsmSwJk6AqAJ6K7idB5XcKU vA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3u0rqdxatt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 31 Oct 2023 22:06:24 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 39VLWNXj020286; Tue, 31 Oct 2023 22:06:23 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3u0rrchvxd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 31 Oct 2023 22:06:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IKumr0L5cHdOY+ezbCKiWuK2n3GKisPUQDgxXiBm+aI9GTNF43VGB6hcWhZeY1mvhWOwrv7xq07upQWXJkiERb92ADsz2LQAK0FKScRTf/aYkhIxHXSPV28nOvg8O1SAh7ghAPyFrubpNETz73J/tSfR4tZDRJFwcTiKvAqloP4bURHWu0ALCzfAmhRVGj2sEsqkL4i4l/a2WyDHGfD8gNwXI9PeMwoQuG5bSRRrFesQlDH8AfPhbypWkC6aXNPGpcIOHxCRVP0Xg2C5phLxJT1dJkOUBjcS0MTCjFTVI1kzOUXapcl7oxBuRL/0nOBWa4o0cfno3wTUR0YinRhyTA== 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=Llah9mTeLdjRRcIa2nvClbFAVV76cTiC9IkTjSsMoB8=; b=emOpktXk1iCwfJJymbV/sdZGzS6Y5YkwQUs2HrghgJkRGYViXqoPrbVtOIfTT28OsDOmT0cVYV7agerW3nPaF9vAnasKqgPVZN9JvqILJTH2Vw5nt41rnNhBHYWH8qkKEGT3x0v5XuSoAaKglSfH6qbkb+Ov6EWzqyTl0B1XnRosxpOuAHCwM5Dsox0YVcZwyr6RKFogWditqnscLjSN1YhpXOz0Wr93f+476mmrl0NJCYVywZMo2qQuAIK4jCopx3H0YMAUkwicAqtHsiWpsE4eeQaDSHhjwgaXZaIuNRmkM5RdFiDml7M7O3oE8bBByR+SYY5hpyRhoDkfGh8n9A== 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=Llah9mTeLdjRRcIa2nvClbFAVV76cTiC9IkTjSsMoB8=; b=ZessBgC/urRotZwQ7r96IZweUu/p96DSWyYN8liwLmr7Hb8J5Iezmd3HBXh+iT+O6qK3q3EMZ1fgWbx2s3VuqVwvv0VPlojthhRTfS/c+d1bfFqH12OD9NTGhjDEQdlJc2NAkUZnWmF9SUTEUVKR/vJkvm7uaI74POnW/N7poig= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by IA1PR10MB6028.namprd10.prod.outlook.com (2603:10b6:208:388::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.22; Tue, 31 Oct 2023 22:06:21 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::7f02:c28d:9802:20fd]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::7f02:c28d:9802:20fd%3]) with mapi id 15.20.6933.019; Tue, 31 Oct 2023 22:06:21 +0000 Message-ID: <7dafd71a-33cc-4894-bec0-9c6621cb8144@oracle.com> Date: Tue, 31 Oct 2023 15:06:19 -0700 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH, V2 06/10] gas: scfidw2gen: new functionality to prepapre for SCFI To: Jan Beulich Cc: binutils@sourceware.org References: <20231030165137.2570939-1-indu.bhagat@oracle.com> <20231030165137.2570939-7-indu.bhagat@oracle.com> Content-Language: en-US From: Indu Bhagat In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MW4PR04CA0335.namprd04.prod.outlook.com (2603:10b6:303:8a::10) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|IA1PR10MB6028:EE_ X-MS-Office365-Filtering-Correlation-Id: bdc209a8-ecf4-48d6-6927-08dbda5d9d54 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Q+U0vfxqkTQZUtUOZWuOfhk1pxXmphOmZElULZ1TJUGMy35GIuHh0m6/O9mjOD8L/VIUOXaXlcHq80/VyPaK7ZYYBKeYTtyk/iGl63fjFWuwiOKYbEg4F1ncCfFf+L17mgAZ0wzCSsJxnusPaNyOHuBnHuPSvgAE0HZxtT+k7c4IitJqebuqRi/ykr+Kb8h06e0TVXo4y2E1eZDO+Ad7D2eBAHFI9EfYjQ4iT/26naGB4R3e2VdwctiD59Ll2KaglWLpJXLNfSrvA1OnXIYirFqevoCGr+DQlXiBUBzlS5bmvdzJZfiRjhpKImLs+an7Pj9Kbw5jmihJvNYEDpxndkwjAQ6HcMJfDkpTM9/EZHc1ZP79H2cLrq6vFLOnOETkCeITBxPdXt4wkvP5GK6R7K7/WKrLRUVfi2w7Lhh5vOPMlaP0WBCOF7DY0U7qvJd2yQ58dD/0AgSetuAiW02jmTZK2A4btqD5z+7fqG5/yhPeqFUM35NC0YqGcFLXEjqVkMrHbsLR2O99+Lv8VHIR8/vF6G/VVSgXj/vtTCxlWFN2sf39Z04dPgZv72R3vt2fRAGXl1w1nmvGm0oQzaVlbmBVjWAe5F94sda55imH/opLgROyPqhRmG+6gSNnMEodiSJ3SClOnd71e7tcULPHd4id2pfKFbZf7y7CN5XTrms= 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)(366004)(376002)(396003)(346002)(136003)(39860400002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(6486002)(31686004)(6512007)(53546011)(38100700002)(86362001)(36756003)(31696002)(8936002)(4326008)(2906002)(478600001)(6506007)(83380400001)(5660300002)(6916009)(316002)(8676002)(44832011)(66556008)(41300700001)(66476007)(2616005)(66946007)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y3lKeTA4eFdIb1NTRGxsbktyY3VzZ1pxeno3bExKQWt4QjFrNUprYXdXUjVa?= =?utf-8?B?cGo5Y0xTSW50OGhBZ29KeXlkOEtDVVcyQmkvaE9uZy8xcmpjUXNVbkJtejhZ?= =?utf-8?B?eTlKdjRkMi9wemxOejlmUzZBNDdIeDJMK2hPQjRzdlYvalIzMWQ4Q3p2ZlJu?= =?utf-8?B?VFRoR0hiazBZS255K1g5eFN5SDI3QWg3MVlBU05ZbTh0Sk0wcEVFMjRpcWti?= =?utf-8?B?dnVpVHRaOTYvLzdZVDI3dk1sN0JsMG9ESnJ1L3ExSG4zU1Rxc0pLTGY4YUMv?= =?utf-8?B?c3k2UUw5ekN5RWIzOVJMdDkxZCtsSG1DSmVNaGxRdktQK29QSE9xSzg0cGJH?= =?utf-8?B?OWx4T0JVSEl2anBsNGppWWlQelJJaXJqLzRDc3FWcjJaeVl1YU92bmNSaUVw?= =?utf-8?B?KzMxYmJiT2tnSlMvSmVnWWR6U2xiOXJHWHNsYnNEYk5Cb3ZLWlZqVmNsSU1i?= =?utf-8?B?TGcvR1Y0V1MvR1VkSXlvdHpiVG1rYkpqNm1GK1VjZUMvQmR2b0NQZC84dXpS?= =?utf-8?B?YUtEQUZDN2hGaDZsWTVrZjZaZkgzcGxaQ2dWaTk3b1V2NDl1cTFRaThQM2xT?= =?utf-8?B?SE5TZ2NjSjZ6dkJKNng4OEhxU3FlbEE5b1RFRmpMQS9LL3UrUlVHYjhyMlBD?= =?utf-8?B?czhlc3dqSWJXUHBKTGdZU29VVW8remZzU1pjTm5DS09WNnJpbnQ0MmZvYVY2?= =?utf-8?B?ZVBWbitUa3VmdTg0amEwWlY0QU4wTk9La2pDLzd0UU9kK25aS0d4d3lkZ1Np?= =?utf-8?B?U0lYNXdPRFpVRVIrbWZQRjYzc2VLb0d1YTRpL2J0eU5aNUhLR2FxS1g5L2t3?= =?utf-8?B?RTUvRnBQaG5TSHpkWFYzMUZXNW9SenFnQ1h0QTd4MjZST0RDaEFhRnNvQmhO?= =?utf-8?B?NUJ5MEpiL3lpQkx5TnA4YTFNbGMweFUreS9BMEtaQklidFhET21PVm1URlJZ?= =?utf-8?B?VXZHdFUveUlMbDRPb0pBU2JtbWRFUHBGYUU1SSt5Rzd5WmNzWUVrRUZIQjBV?= =?utf-8?B?dTdGSVpWUWNsT0dqMTE0NlF3U0VJbHFsQ1FnZ3VrWDdLRnowcHBlb3VjbWd2?= =?utf-8?B?Y0dWNU5IaXFVN0VtL0tTZWVkK1VCMHk1UktQVGJCV3RFcVlnZEVOczJUUm12?= =?utf-8?B?MTlOemsrOGgwTU0rcmc2Um9XODBiZVkvOTRSTHhkVFZOYUNhcTBUV0ZyMEJz?= =?utf-8?B?OGZ6ekhKQ0hReFNPT0Q5QlJkbmI3cWxOL0RseFY3RkNBVXBicVZjekUzSEZ5?= =?utf-8?B?RC91V2Fva2RFWnNicHNSMm9HRld1OFBOalZnOHEvUjI4YzcvMGgzbldoa05P?= =?utf-8?B?Tld1Zmx4LzFDR3ZmZ09ZTnAvMkhHOEVVOTFZeXZGMGV2QVZvTkVoWnlrMHJy?= =?utf-8?B?MFhNcndrM2ptbGpmWGNPTXhqMk9aK2I3d3ZHY1N0VFFyb25kbUlOVE95NkdD?= =?utf-8?B?RXVlenlmUGpLNlBHUVZBdWtPWTNtUGxscWRVVFZIWWdoWGxLSFh2bHZVK2Jh?= =?utf-8?B?Mlc1Y3BsazNxVDlyZWg3OEl1bis0dW5DTnNoVGh4YW9USjVXeEhINkZHNm1G?= =?utf-8?B?TjZBakswSlZ5M1RCOGlaTW03aTRHQ3JvOGxVY2JaRmRYb2FpUmNOdVJTMDhu?= =?utf-8?B?K2RSZFV1SFF4dGdkU2tyWFF1NU53SkgvQVN6VjVGb0IvUk42Ym1WcXh0N0lY?= =?utf-8?B?eFNqZ0RDVWtMcWZhRUFlMXVpMS8rMlRSNEpyZXpHYm1JL2lqMXlWdGZTMXdF?= =?utf-8?B?Um84ZmFLdjFTYVB3aWtOZC93eVlYazFFcVZRMElnbFNZdXpmN1p6RHVDQkpL?= =?utf-8?B?ajFLeS9QRjhBWDUzVTVUdFR3Nk12MUF0K081bUZ5VWxtb2ZuODR0UGZYK2pl?= =?utf-8?B?dEJ0dnA5SU8ySlBocHN6WnJYZmUrRHpUOElGLzlLM2duSlBxUHBwMkYxTy9H?= =?utf-8?B?Q0M1QlhKWGVZSzU4RDFVRnBxQTV1b01yUXZQek5rR3c1V2R5YTZKUC83d05Z?= =?utf-8?B?b0dGTzFLUEZneit1aWFENXBQTExsRkRxQ3lXUWVKSHZNTDB4TGt0QlMxdnd4?= =?utf-8?B?T1lSSUZGQW9wSFhQbnA5dVh3UHFoNVRGVmJ3SXpWbCt3ZnpoNktkQmJmSjFq?= =?utf-8?B?eFZIU2ZKS2ptek1RdElCL2NzY25QS1NYV2xlNnNsZWhoRWd4aDRoUExLWW1R?= =?utf-8?Q?Vn4IhZKB+5rIdKR1tgco63A=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: LyYcDyEAW8YeyWuKRHEdn1mL3LXc3GGyHTDq4ufNTVV+8O7Ttx4TcQGXTRBTi1aadHgn77VQ6PPEpi2lxA5ME8VsIEdDHrWUGszbGkqrZ2Yyv++2Zx7l1+rh2TkR36nUBhI2cuTBLZc2jerhBN2VQz5CkuZtZ1SiRotwk8Q5wB5n1z9Z/cFjRKZh6YmfzD5TXpeDdl6spPn+lbUlFHCEx2oS4Tz8UxEJ++jPLihzhs9KZnL2T9rhvMCdBu2EyP6k0p0Tf/w4ZBKahpG5MU1c42N3wvMAIpAX0L31E8Y9RvRXAmA+r8nhal5DmqtnlQoYyh4PeTNcdJRJCAqMFNQvOScIOR/fEoZMTtLg8LuSGRyNw/xm5yBZXXz4ZptOLGCQ2LpsM/kslz8i2/O6zc7Zj0+TTT9yKbquJr1ZTaLt/dHhRXIV7ZE92v3l+0h8kke1ggCCotIXk1kDSnif8XxdiocbCcWZSobCBAZIPk4MM/84M78aXqFe7OJFQ630KR83YaqDoqr1kvqrxIv/0jUJMv3y0Zx3gODjwfcCro1vFVKii8AexEHlGuHYJb0nfsruh/PebfGgM71KE171vU6kdNmZOtQYZNMPU3cCliQIITe731RSuvs+4TTHbAt6jPDwnbS1mBJqtno4NYqE3AwJaJ4mIErO17Hqqb1Ngsw4GnNsT1SmKl8ba3aujYiiWhLy0oID8JnrWuLhwcDKq6oyfz7o2BBtAEYn6kElQSxoil5aa87lPQdkoXiXi/8SDA1ns3lZTH7NKRc8wkbh7hP0QvwAQqrEwpusuDH+WU3uDgI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bdc209a8-ecf4-48d6-6927-08dbda5d9d54 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2023 22:06:21.0687 (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: /6ndfVSMQMl9FgUZScowtK01SlPDp0+wGjdAVGrU9z5fmDViMTERV8IE6j6lRoZBc24enzDgf3EppbzmXQIm7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6028 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-31_09,2023-10-31_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 mlxlogscore=743 adultscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2310310182 X-Proofpoint-ORIG-GUID: rSpVP6mv_aob0HQ3srf8-9n9qodfAzWs X-Proofpoint-GUID: rSpVP6mv_aob0HQ3srf8-9n9qodfAzWs X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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: Hi Jan, Thanks for reviewing. On 10/31/23 04:28, Jan Beulich wrote: > On 30.10.2023 17:51, Indu Bhagat wrote: >> --- /dev/null >> +++ b/gas/scfidw2gen.c >> @@ -0,0 +1,305 @@ >> +/* scfidw2gen.c - Support for emission of synthesized Dwarf2 CFI. >> + Copyright (C) 2003-2023 Free Software Foundation, Inc. > > Is this year range really applicable to this new file? > No. I will fix it here and other files. >> + This file is part of GAS, the GNU Assembler. >> + >> + GAS is free software; you can redistribute it and/or modify >> + it under the terms of the GNU General Public License as published by >> + the Free Software Foundation; either version 3, or (at your option) >> + any later version. >> + >> + GAS is distributed in the hope that it will be useful, >> + but WITHOUT ANY WARRANTY; without even the implied warranty of >> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + GNU General Public License for more details. >> + >> + You should have received a copy of the GNU General Public License >> + along with GAS; see the file COPYING. If not, write to the Free >> + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA >> + 02110-1301, USA. */ >> + >> +#include "as.h" >> +#include "dw2gencfi.h" >> +#include "subsegs.h" >> +#include "scfidw2gen.h" >> + >> +#if defined (TARGET_USE_SCFI) && defined (TARGET_USE_GINSN) >> + >> +static int scfi_ignore_warn_once = 0; > > Nit: bool please (and no real need for an initializer). > OK. >> +static void dot_scfi_sections (int); >> +static void dot_scfi_ignore (int); >> +static void dot_scfi (int); > > May I suggest to avoid such forward declarations by moving ... > >> +const pseudo_typeS scfi_pseudo_table[] = > > ... this table towards the bottom of the file? > OK. >> + { >> + { "cfi_sections", dot_scfi_sections, 0 }, /* No ignore. */ > > Instead of three such individual comments, how about putting the three > relevant ones first, followed by a comment (serving as a separator) and > then all dot_scfi_ignore entries? > OK. >> + { "cfi_startproc", dot_scfi_ignore, 0 }, >> + { "cfi_endproc", dot_scfi_ignore, 0 }, >> + { "cfi_fde_data", dot_scfi_ignore, 0 }, >> + { "cfi_def_cfa", dot_scfi_ignore, 0 }, >> + { "cfi_def_cfa_register", dot_scfi_ignore, 0 }, >> + { "cfi_def_cfa_offset", dot_scfi_ignore, 0 }, >> + { "cfi_adjust_cfa_offset", dot_scfi_ignore, 0 }, >> + { "cfi_offset", dot_scfi_ignore, 0 }, >> + { "cfi_rel_offset", dot_scfi_ignore, 0 }, >> + { "cfi_register", dot_scfi_ignore, 0 }, >> + { "cfi_return_column", dot_scfi_ignore, 0 }, >> + { "cfi_restore", dot_scfi_ignore, 0 }, >> + { "cfi_undefined", dot_scfi_ignore, 0 }, >> + { "cfi_same_value", dot_scfi_ignore, 0 }, >> + { "cfi_remember_state", dot_scfi_ignore, 0 }, >> + { "cfi_restore_state", dot_scfi_ignore, 0 }, >> + { "cfi_window_save", dot_scfi_ignore, 0 }, >> + { "cfi_negate_ra_state", dot_scfi_ignore, 0 }, >> + { "cfi_escape", dot_scfi_ignore, 0 }, >> + { "cfi_signal_frame", dot_scfi, CFI_signal_frame }, /* No ignore. */ >> + { "cfi_personality", dot_scfi_ignore, 0 }, >> + { "cfi_personality_id", dot_scfi_ignore, 0 }, >> + { "cfi_lsda", dot_scfi_ignore, 0 }, >> + { "cfi_val_encoded_addr", dot_scfi_ignore, 0 }, >> + { "cfi_inline_lsda", dot_scfi_ignore, 0 }, >> + { "cfi_label", dot_scfi, CFI_label }, /* No ignore. */ >> + { "cfi_val_offset", dot_scfi_ignore, 0 }, >> + { NULL, NULL, 0 } >> + }; >> + >> +static void >> +dot_scfi_ignore (int ignored ATTRIBUTE_UNUSED) >> +{ >> + gas_assert (flag_synth_cfi); >> + >> + if (scfi_ignore_warn_once == 0) >> + { >> + as_warn (_("--scfi=all ignores some user-specified CFI directives")); > > s/some/most/ ? > Hmm. Technically, "most" is the correct choice. So, OK. >> +void >> +scfi_dot_cfi_startproc (symbolS *start_sym) > > This and the following two functions presently have no caller, and I > also can't spot equivalents in dw2gencfi.c. How are they (going) to be > used? This ... > >> +{ >> + if (frchain_now->frch_cfi_data != NULL) >> + { >> + as_bad (_("previous CFI entry not closed (missing .cfi_endproc)")); > > ... for example suggests that the function here might really be the > handler for .cfi_startproc, yet the table above says .cfi_startproc is > ignored. > The callers of scfi_dot_cfi_startproc (), scfi_dot_cfi_endproc () and scfi_dot_cfi () are in scfi.c, when its time to emit DWARF CFI after SCFI machinery has generated the SCFI Ops (See scfi_dot_cfi () and scfi_emit_dw2cfi ()). The callers are added in the next patch in the series, "[PATCH, V2 07/10] gas: synthesize CFI for hand-written asm". >> +#else >> + >> +static void >> +dot_scfi_dummy (int ignored ATTRIBUTE_UNUSED) >> +{ >> + as_bad (_("SCFI is not supported for this target")); >> + ignore_rest_of_line (); >> +} >> + >> +const pseudo_typeS scfi_pseudo_table[] = >> + { >> + { "cfi_sections", dot_scfi_dummy, 0 }, >> + { "cfi_startproc", dot_scfi_dummy, 0 }, >> + { "cfi_endproc", dot_scfi_dummy, 0 }, >> + { "cfi_fde_data", dot_scfi_dummy, 0 }, >> + { "cfi_def_cfa", dot_scfi_dummy, 0 }, >> + { "cfi_def_cfa_register", dot_scfi_dummy, 0 }, >> + { "cfi_def_cfa_offset", dot_scfi_dummy, 0 }, >> + { "cfi_adjust_cfa_offset", dot_scfi_dummy, 0 }, >> + { "cfi_offset", dot_scfi_dummy, 0 }, >> + { "cfi_rel_offset", dot_scfi_dummy, 0 }, >> + { "cfi_register", dot_scfi_dummy, 0 }, >> + { "cfi_return_column", dot_scfi_dummy, 0 }, >> + { "cfi_restore", dot_scfi_dummy, 0 }, >> + { "cfi_undefined", dot_scfi_dummy, 0 }, >> + { "cfi_same_value", dot_scfi_dummy, 0 }, >> + { "cfi_remember_state", dot_scfi_dummy, 0 }, >> + { "cfi_restore_state", dot_scfi_dummy, 0 }, >> + { "cfi_window_save", dot_scfi_dummy, 0 }, >> + { "cfi_negate_ra_state", dot_scfi_dummy, 0 }, >> + { "cfi_escape", dot_scfi_dummy, 0 }, >> + { "cfi_signal_frame", dot_scfi_dummy, 0 }, >> + { "cfi_personality", dot_scfi_dummy, 0 }, >> + { "cfi_personality_id", dot_scfi_dummy, 0 }, >> + { "cfi_lsda", dot_scfi_dummy, 0 }, >> + { "cfi_val_encoded_addr", dot_scfi_dummy, 0 }, >> + { "cfi_inline_lsda", dot_scfi_dummy, 0 }, >> + { "cfi_label", dot_scfi_dummy, 0 }, >> + { "cfi_val_offset", dot_scfi_dummy, 0 }, >> + { NULL, NULL, 0 } >> + }; >> + >> +#endif > > Is this really needed? Can't you simply error on use of the command > line option, without the need for the extra table and dummy handler? > Actually, gas does not even present the option --scfi when the target does not have the two required defines TARGET_USE_SCFI and TARGET_USE_GINSN. So I could guard the code in pobegin () in read.c (and remove the dummy handlers in scfidw2genc.c): /* Now CFI ones. */ #if defined (TARGET_USE_SCFI) && defined (TARGET_USE_GINSN) if (flag_synth_cfi) { pop_table_name = "scfi"; scfi_pop_insert (); } else { pop_table_name = "cfi"; cfi_pop_insert (); } #else pop_table_name = "cfi"; cfi_pop_insert (); #endif >> --- /dev/null >> +++ b/gas/scfidw2gen.h >> @@ -0,0 +1,37 @@ >> +/* scfidw2gen.h - Support for emitting synthesized Dwarf2 CFI. >> + Copyright (C) 2003-2023 Free Software Foundation, Inc. >> + >> + This file is part of GAS, the GNU Assembler. >> + >> + GAS is free software; you can redistribute it and/or modify >> + it under the terms of the GNU General Public License as published by >> + the Free Software Foundation; either version 3, or (at your option) >> + any later version. >> + >> + GAS is distributed in the hope that it will be useful, >> + but WITHOUT ANY WARRANTY; without even the implied warranty of >> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + GNU General Public License for more details. >> + >> + You should have received a copy of the GNU General Public License >> + along with GAS; see the file COPYING. If not, write to the Free >> + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA >> + 02110-1301, USA. */ >> + >> +#ifndef SCFIDW2GEN_H >> +#define SCFIDW2GEN_H >> + >> +#include "as.h" >> +#include "dwarf2.h" >> + >> +extern int all_cfi_sections; > > This needs to go into dw2gencfi.h, such that dw2gencfi.c will also see > the declaration (and the compiler be able to check that declaration and > definition are in sync). > OK.