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 B64073858C42 for ; Wed, 29 Jan 2025 20:23:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B64073858C42 Authentication-Results: sourceware.org; dmarc=pass (p=reject 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 B64073858C42 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=1738182204; cv=pass; b=xTmPTOzQhISDwtOcXPioo6taLZ1V9Bx1Zzg+O4Ny01Nv+5ibsXj/ltXB6wV9FtNojMJUFBtb+Y7PBsj+FQu19B8rgtRcb1I/Hzo2weQM2SLACss/A8RXaoP0uA/XNlY/IgYu/oN/UiotDExFCUkGnjSUh3V3pTq3Fn2OxdcYmms= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1738182204; c=relaxed/simple; bh=qNprTwwyFzeVHyQuFx0OoMxFvUWKm1ZsCNlS3286Q/g=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=a3gz7/nV0s2nE8Om+VNcGH5BfEtNiLYdJ1b+JK7jUhltMteK+LJW4Dhly5ynXxrWE15joMhMSsSdEifAdD8+99WtgOEF2vZEW1wwo/fCqTebWraCddiZPN1IPIFnqSm3VlnXmg97e+NbPY3Taq2et+8q36zPkncpsXKTUeO91V4= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B64073858C42 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=QFoplglW; dkim=pass (1024-bit key, unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=JopnSXkR Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50TKMpOY021875; Wed, 29 Jan 2025 20:23:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=17KOEKCbl0aPdo3apZRwmj9duiDYhkvZhNPMMYtaBb0=; b= QFoplglWq8wT61JSqAt6ZVZtcvj/B/vslruiaPy3hC7+yIwLMHXNufpRqD9sXdmc FhnjMzvTkjvQLrxrIlY1njTtI6vwSSEsdOHATwbSpDzVDK5oQ3hS27SeuXfM8sHc 8j/Kt1TGuDKokgDEOwvkamMLuqmKHBzpmKrtjfuH62isCrzzlXvvWOTKpaPdaj3/ YoI9LO79dC44+dOHA46bebaibZtwX/uYB0w+hJE+Ysl9grhq0pC5CFCcACjCbHkX tuGqns6AEGhKwMa9jTWhuYTCyHeIDTqcitpHQzq+ATf2NJcf6H9CXjqsh6Wm6Vi2 5V2rd9JFC+HXKCVGHPK4iw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44fu0qg4bj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 29 Jan 2025 20:23:23 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 50TJgkJG035248; Wed, 29 Jan 2025 20:23:23 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2175.outbound.protection.outlook.com [104.47.58.175]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 44cpdg9pdh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 29 Jan 2025 20:23:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T2BK+5vYkKytvZlywtEslsL0253ETBk6UVloZqgtO1uH+3p5vyLib0oBH/yeeOU4UqchLbs+3g2NpMU5DfzXZVDpq0Qn1YY5zKlUO+KfBaBVbMVzWTSFOJ+Xt/tcXnAwk5aZCfoF0CncjeTw9/8VIHsguARycuudC7b/iq8OjUwjsmdvrPiIi4omANihe9FfZ+Zo9sJRJqUN8KI69jW19bMakG9QOd98qgzhgJ1KKC35s7m5cVIi2sbDmJYwecEAOKm2FQNh1vKByLLaS/GNq5u3M+2C2bhfX0vBgjuLQSzciP4UAKvNCH1BmNfEcU4SwZSW6WkV6qA3PTSxzK9DMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=17KOEKCbl0aPdo3apZRwmj9duiDYhkvZhNPMMYtaBb0=; b=hGbk2xS7FaBwlI1rXNmaKFEX7UbYegV8DUHgevzR+XgFcLIRzgXl9lqbnB1lLLz1FtubKCIC6qVfeMyLLeR2yC7KNj3r+jYse2/ik7iVyrcz0RpxwHv+t7P2s+Q0oesAFiyWV809dxkoHW8gAqgjGox6UPYieKkyp/7T6cFPSg/mWRj487sgyLwyo/0pOi9wsybFryUj0cYtLZ1auQA+E9HWR956qF9mSmCPOrz3MM1J7jnf8WYAcSisUQm8rJsZa/ouV63vTqa0mGiO8MSATW4GecfY7pHG7AvyRpa4nUDFqjLtBkF+CPNsbxkE4qIyEPvUX2aZ3Qx9cG45p2uK4g== 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=17KOEKCbl0aPdo3apZRwmj9duiDYhkvZhNPMMYtaBb0=; b=JopnSXkRUsq6dxxLNqnvQsr3zkwgYgezpuwq8AwdW6GBbvBoDHQP1hvh41Hezuc5fZ1JywdPCsiJsn36Qp/uV3hTZM1HWx7F+e73OjsthO67Z+Huxoiy7aIbxC+G8slz6mpD9vlYyk0RLIrLkjX8CXdq+o4yG9+uG5w/gtDq4X0= Received: from PH8PR10MB6358.namprd10.prod.outlook.com (2603:10b6:510:1bd::9) by IA1PR10MB7166.namprd10.prod.outlook.com (2603:10b6:208:3f4::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.17; Wed, 29 Jan 2025 20:23:21 +0000 Received: from PH8PR10MB6358.namprd10.prod.outlook.com ([fe80::5cca:51e2:1e55:7f79]) by PH8PR10MB6358.namprd10.prod.outlook.com ([fe80::5cca:51e2:1e55:7f79%6]) with mapi id 15.20.8377.021; Wed, 29 Jan 2025 20:23:21 +0000 Message-ID: Date: Wed, 29 Jan 2025 12:23:20 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] gas: sframe: partially process DWARF expressions in CFI_escape To: Jan Beulich Cc: binutils@sourceware.org References: <20250128005722.2970354-1-indu.bhagat@oracle.com> <0e2226bf-f107-4b72-a990-ea3982a398a8@suse.com> Content-Language: en-US From: Indu Bhagat In-Reply-To: <0e2226bf-f107-4b72-a990-ea3982a398a8@suse.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MW4PR03CA0060.namprd03.prod.outlook.com (2603:10b6:303:8e::35) To PH8PR10MB6358.namprd10.prod.outlook.com (2603:10b6:510:1bd::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR10MB6358:EE_|IA1PR10MB7166:EE_ X-MS-Office365-Filtering-Correlation-Id: d4e88127-2daf-4aea-0499-08dd40a2c677 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eEZSdGR5NW1HcEtCRmp3MHZBbWMvVXkrZkNOQ0NUc0R1ODIrSEQ0MWNmdW5j?= =?utf-8?B?Q2thUWNaeVZIa1dmQnh0bnJQRzZwYklmTllJdTRmRE5xakFnOUo5YTdHblpq?= =?utf-8?B?blJEOUhnWXAxZXRPT0R3WlE1ZjkwazJtL2tPOG1UMGFtb3RFNmV0cWxmS2h3?= =?utf-8?B?QVRLYXJFWUJoeDBBSVhSdFpCd0x3NDZ0TFZFYVpPUWFGditNQjJpdlEvdmlO?= =?utf-8?B?ZHc1QXBWeDkzS0JvYTlvbFdQclloNjBlRDBRMWpiR2ZsZGRVSXNmQTFNUDFY?= =?utf-8?B?Tkp0bmFucWJ5NVptSnFJamJWcUlqNUx1TzZXb29uVDl1WlpuaWI1RmtCM2VB?= =?utf-8?B?cXNpejRpNXpsdTAyVkNYVzZiNENManRIbmsrRU5DalNBOE5ZNVdMWTN2UXQ0?= =?utf-8?B?ZTlsTGNibXFzNE5ERW02WlFGRE83WEdudnBZRitoL3UvT1g0RWJTVVM1bjJM?= =?utf-8?B?d01ETWRBUVNwVnYvL0hNVkRYamtvY1BXMzhtdytWZ3oyZlpkcm10ck93Mnk4?= =?utf-8?B?R2VwbHh2NjZudnJ5SGt5cmp4OVNWZHRHZ1hPQnR4Q0JKdWl5bzd2TFk2b2Nn?= =?utf-8?B?SmUvWGNkTVlidGZEdGVWYVNlaThtZk9HZWpjLy9OL1NmdHpOelJjc3E2eTFR?= =?utf-8?B?OG5ybXViRGMxdmlxM1JicXU3aERkUFA3N1NzdGo5MWttaTZyVmxVZmRJNGZr?= =?utf-8?B?eFh4SzRHOWdTR0p6T3luRGMyalJjYTRodThSSDlhSVJSSW5YdXN6aFl1NjRT?= =?utf-8?B?QUlWeWxZOTlnNHNNZ20rZW1jVXYxMzhZTFBnbG5ZOEZNczNFR1VPUDJJYzBq?= =?utf-8?B?bXJOUGF6dUkzeFVaUjcvSzJCckRoYjJiUERyamdEcWlOdWtFYmE3ZXJIL1dB?= =?utf-8?B?c3dxZlJvK0ZPM1Zrc09QMkVDZHo0MFJja3Y0N2dBdTIwM3NBMHRoZEsvYlRz?= =?utf-8?B?cnpOK1ZPTkJoQU8zTjBhbkZUTVhuQXZobWFKcTlTa0pyRlorQU82NHpTa1A4?= =?utf-8?B?WncrRHErTnVPbjlpbFBYQTFsWmlBYnhIVWpQVjB6a2pyVXdHTXY4SjhqcTFt?= =?utf-8?B?SjlyejRiREdvM3VTYXByZFJmOW80Q1ZEVXdqS2lpTVRRaHkyL3FiRFE3UDV4?= =?utf-8?B?UHpUQWVRdllJQzFPQ3ZxeUpMNG5uN1Nsa3g5eWJpRHdYT2gySVppckFub29R?= =?utf-8?B?SVJkODJJYThNNElvM3JxNlFMVytoL01ENW5HQ21LVnhKUzlmai9jLzdSaVBM?= =?utf-8?B?bXAvOVhGOU9DUDBHRU9ZN2N4dllNL3A3aDFJQ2RwNHAvT3hmZHVJWGtuN1JZ?= =?utf-8?B?aUxwSUZSSHBCbmhxT2psMjRuMXlycUZmYy9ZSnVRZmNWQ2tkbC9QZzF1Wm5Q?= =?utf-8?B?WitMaDlyRk5ENncvaEVpenArSnRON1hKdTF1d2xjbTd5WGJVTXppU0tNbFJP?= =?utf-8?B?OUJUT3dyQzd0ekJVVGpoaFZva2FhWmVBMWlHTXhlZjZNb3B3RnVXb2tZZUJH?= =?utf-8?B?RXFkYURxd1d5Q2loejFHbTlXYmQ1UTVGR1ltTFZaWWxBRXR2czdYWTk1YzRE?= =?utf-8?B?dTU1K1J2MnFKUFZ2SUxwaWRiL1pZd1IyYTdIQ1RHbkFjcG1ZSStuWHJYajM2?= =?utf-8?B?TU53ajRoTlJoSjZ4RXJsNjY4UEtCb080L0NUYzU3TUdzK1Zoak81TitTUWZv?= =?utf-8?B?YlFrQy9XTE9FQThLSjBlSXZsWGZuU0FWZGM5cFdHYVVQN3VVdlhxb0NNdC84?= =?utf-8?B?cWkrelB2TStIZERwK0FYSXhiOGp4YUkyVTE4OGVMeWx5YmxqRElZa0NHTExW?= =?utf-8?B?R09JMXR0bCtHMlMwQ01sZXpjcncxdjcwRktjSG03d0NNSnh1bHRtT09qVGQy?= =?utf-8?Q?nOEmT3jax9fLP?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR10MB6358.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ajNZMzVpRGFWUzNYYWY4QWxXS0RXVGVJM1JYSEpFMXhiUVZFU1VzNHRQOEhK?= =?utf-8?B?Uk9uaFl1dnM3S2d2V0JVcEFyUjROTXB5bkpSL0xMQXNseFNrd29ONnQ4MGda?= =?utf-8?B?MWVtOHNuZHFEaUNEUWJKalRKTklFWVBMYmlLZmpSR01RQ0tWTjQ4ZkJUZmpq?= =?utf-8?B?U241MG9TM2tRWExwOW5OMjF0NCtobXpLblpSSGFkSzJ1T2NsMlZqMUZZYVNX?= =?utf-8?B?cU5QYUVUVTh0dUZQSk9heWhLbzRrMWRQUE16Qm5JaFlNbkcvdmVsWUc3MC9i?= =?utf-8?B?VW82RGxRRUIwN21tS0tNN2I2ci9wRUtMVEgza2RVaFBnVFNCMDZpd1pYVlZv?= =?utf-8?B?R3lMVVUvV3M2dVpWeVZ0TGIzSk5OaXJMZ2lPT3NtTUJYM05xTEhXSytFUHpw?= =?utf-8?B?Q0ppQ2k1RXRBc1BGaWVSd2thY0FnNEVjUloyeGFmYkMxYnRQbHdTWlhmSXZo?= =?utf-8?B?K01jWkdVZ0MyZFMrb2QwdzJDczNSZXVPRWVVRm9PMmErL1M1Vk5Ld3hiUy9Z?= =?utf-8?B?QXJjT0haZ3VNN2RSRWlrTldvT2xIL09FTWthcTByWTEwNzMzb21TMDNxVjFi?= =?utf-8?B?SmVaS2VFZEdMbEViY3VPUXVROUVxcFJ2OEc4WEtSY3NTTmx1Y2tMc2crNHlB?= =?utf-8?B?OXNpUG94RklPalF5RHB4OGM3OGNUaWxRV3Q1VHFrRnk2S0k0M0ZJa3pFc2Jy?= =?utf-8?B?cmo0S1IwMTNnMkxYYXVvbjNmNDU0NzZqSEFwMDdidTZPTms4QWhvQlJwMDJl?= =?utf-8?B?bmNmTTVPUU9GbE5kR0JlNU4rREVpK1g0TDVKSGtGY2hFaWM4cVlWMU00Qlo1?= =?utf-8?B?MnR3Y0I4dmIzd3hFbXhtMHFZdUpTZU0waHJFanh0dXBjS3R6cnA1ay9KeUpG?= =?utf-8?B?V2FBVDRNSVh3UjhQQUtWS3FPd01sUUMyeDBycjZTUDJvcnV0RDE2UWdKb21D?= =?utf-8?B?SzhuMXZHeTJOVnM3MVRjckYydDBjcWlpUkhMR0dzZE45TDBvT0h4TElWZWJt?= =?utf-8?B?N1hRbFJ0SGFIaFN6Sk52Z3ljd2o3c01QaWJZUE9SMUlTYXlDSmwxVnVMNmU1?= =?utf-8?B?MTdMWVViMk0yMFdTZkI5NjhJeFdxd1VHcVBTdWV3YlZHZTVqTjY4NTdabHl5?= =?utf-8?B?SXQ0dHVUYkoyTzJkR3pRQjBXLzFIdHlrN1BlajlwbWxRR2h1anhRNjNlTWI4?= =?utf-8?B?eDF6UmpJVkVMN2hHSmtWNG1zOS9mRXlGSHFGUUtHTmhRMFFiUllCcHJkNTdH?= =?utf-8?B?cHFOOFF1MFk3UHRsUkswWnViOVREc3ZEeSt1UjdmS1JtZ1RuVkNmc1BpOUZo?= =?utf-8?B?eERYMGdvNVVBVXBCWE5kb3hsMGpaNk1ES01vWGswKzhDckl0eExwVnZDVk5B?= =?utf-8?B?T1dFWnlVNlRGRmlUSUNHVkhJdjI5WHJBZWpVSnJrYmFMeHMvS1hHQWNmS0dT?= =?utf-8?B?VHEveWh5eS9qQnd5b0JuT0phUEdyYkpwTHJka3dwQjJIdWRxMjZyOEhxbzMv?= =?utf-8?B?VEMxT3hWeTJ2eDU1L0dlWFFyNkdYUjJRbElTaXBEeUdhazRsUlRZWkVvdnBa?= =?utf-8?B?RUNMYWMxZFBMNy9vVlUzdzJHQndPWjJOdW1zeFhtS1dlTlhQZFErSmUxc1Ji?= =?utf-8?B?cnJCejM2VTJyTzJZUi9rcCt6Wkw1dGlacGdSaHcyb04rRlRpWTJPdFBybVp3?= =?utf-8?B?YWIvaC9zdjY5OXVEUFhVTy8zc2NqeGczSEk3MEhjS0lmVUhIUTMwYTlaeFpS?= =?utf-8?B?UU1temQyQ3V3RVRBR0RzRURVRUU1SS85WVN1eGozYnhUbTUydkRGLzFrWE5X?= =?utf-8?B?VTRUazRzOU5VaGI0UThBdTBxQm9tbFhCWHJkell3L3NxVElMc3JXM3AwR2V0?= =?utf-8?B?cTN1b3ZVcUxldVR6eElBZktXeVRnMk5ndXhEMDVJcFdaY2J6eGV6M01uekkw?= =?utf-8?B?WFRhcDl0STVycUJZWEJwVTJQQnZFb3EwVE9INFB6Z3Zlc2N5ZXBiWlRaZ2xG?= =?utf-8?B?Vkt0aERnK2FROXNJVlJHM2lxYjZFcitJOGQ1M1dsMVJzemgwMU5oMkI1VW9p?= =?utf-8?B?TCs2NXZDMThISnQ1NzJCOWVhS1psTyt3cUtUVlVpeG9KZElhV1d3OVFiTGpp?= =?utf-8?B?VC8xQVhNZkQvSWwreWhldlZONktJVXVvcVFQZWZackREVVJSYlFPZVdyeUdR?= =?utf-8?Q?Rz6fe0c/+tfjwsC+qhX+IHE=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3x36E7Yo5ZNB2nw3yf19UE1g02u+TN4aRICICj5qPqNPdLTMKU9vb67iCYSkVhj06HEdWz96y+f4YjKWKsPn0LOckwMeBIUFFd0N6b5yIMPJxaDatNgOVmUoiSPnnspPghBms177nFKmCOXqkTH4Vy/Y3EalbcWRCnck8GQ5Xmd0tWxBLU+PPoGppjyQ7XKXqlXXLyCn5P0Bc38ffdSRCRLR5JCqL99AZQ+kcJYNBk28cCr88Jvpy6Wc0OTBM756IdeJNcCU5svExokvYTv/EDapt5vtlSobtYXohMPucd/0yhY2RxvXCM9CfiSd01a1nALZre+/a6O7NhitrqGEzSKKeJa1pwsbOCw37bVA6s/+urC7aqIyjwDfhM+beNq454EdoGB2laY1w8k6JiD2cJQv/fLk4TC4/M0NGnj1LbpiLg0WNRRDsdu7sfIK6aS10gGtzrxpfxtFHGSCcJ7IElhIHfKq9tqKysDnxo0fQl3phPyZTG56C6XbViYikuyfSJ9uxk5jGFmxUPWdbLg25H2kazkpEsyUVhMPvd3hEtFUWu4LKmhyFbXaAp4xYVN3RvYJLVB+2X9dHbdC7EeeoBPuc6KJHUn+ZUu+iIy6AfQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4e88127-2daf-4aea-0499-08dd40a2c677 X-MS-Exchange-CrossTenant-AuthSource: PH8PR10MB6358.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2025 20:23:21.6965 (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: /YImjA85Yp8BSpMSPkk8oPutYUttlkBvVzUBIQALFOsZ8yKGSABB8jEO+PgM1EABBV0dnYoOuHd33WXeqoT06g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB7166 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-29_04,2025-01-29_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 bulkscore=0 phishscore=0 suspectscore=0 adultscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501290156 X-Proofpoint-GUID: DYnI_qHswznSWkh09sFPJQP0q6IW4A8L X-Proofpoint-ORIG-GUID: DYnI_qHswznSWkh09sFPJQP0q6IW4A8L X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,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 List-Id: On 1/28/25 11:22 PM, Jan Beulich wrote: > On 28.01.2025 01:57, Indu Bhagat wrote: >> --- a/gas/gen-sframe.c >> +++ b/gas/gen-sframe.c >> @@ -1310,6 +1310,77 @@ sframe_xlate_do_gnu_window_save (struct sframe_xlate_ctx *xlate_ctx, >> return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */ >> } >> >> +/* Translate CFI_escape into SFrame context. >> + >> + .cfi_escape CFI directive allows the user to add arbitrary bytes to the >> + unwind info. DWARF expressions commonly follow after CFI_escape (fake CFI) >> + DWARF opcode. One might also use CFI_escape to add OS-specific CFI opcodes >> + even. >> + >> + In SFrame stack trace format, complex unwind info cannot be represented. In >> + such cases, SFrame FDE generation is skipped and the user is warned. Recall, >> + however, that SFrame stack trace information is meant to convey information >> + about SP, FP and RA only. Hence, some DWARF expressions, are indeed safe to >> + skip. >> + >> + This function partially processes some DWARF expresssions and returns >> + SFRAME_XLATE_OK if OK to skip. */ >> + >> +static int >> +sframe_xlate_do_expr (struct sframe_xlate_ctx *xlate_ctx, >> + struct cfi_insn_data *cfi_insn) >> +{ >> + int op; >> + struct cfi_escape_data *e; >> + unsigned int reg = 0; >> + int err = SFRAME_XLATE_OK; >> + struct sframe_row_entry *cur_fre = NULL; >> + >> + e = cfi_insn->u.esc; >> + >> + if (e) >> + { >> + op = e->exp.X_add_number; >> + switch (op) >> + { >> + /* Of all the possible opcodes expected here, it is safe to >> + ignore DW_CFA_expression and DW_CFA_val_expression, provided they >> + do not impact the SP / FP register. */ >> + case DW_CFA_expression: >> + case DW_CFA_val_expression: >> + /* Both DW_CFA_expression and DW_CFA_val_expression instructions take >> + two operands: an unsigned LEB128 value representing a register >> + number, and a DW_FORM_block value representing a DWARF expression. >> + For the current purpose, we simply need to know the register >> + number. */ >> + e = e->next; > > Another thing (quite the opposite of my concern regarding the chain being > quite long): How do you know e is non-NULL at this point, i.e. that it is > safe to de-reference ... > We can know that e is non-NULL because we are doing this only for DW_CFA_expression and DW_CFA_val_expression. The DWARF standard says: "The DW_CFA_expression instruction takes two operands: an unsigned LEB128 value representing a register number, and a DW_FORM_block value representing a DWARF expression." Similar specification for DW_CFA_val_expression. So the code is assuming that after the op (DW_CFA_expression or DW_CFA_val_expression), the next one up is the register. I think assuming next one is the register is also OK to do because the DWARF expression evaluation is based on a stack machine model. >> + /* Keep in sync with the behaviour of cfi_parse_reg (). */ >> + gas_assert (e->exp.X_op == O_register || e->exp.X_op == O_constant); >> + reg = e->exp.X_add_number; > > ... without checking? Much like a single .cfi_escape can comprise many > DW_CFA_*, a single DW_CFA_* can also be split across multiple > .cfi_escape, aiui. > We have checked that the op is DW_CFA_expression or DW_CFA_val_expression at this point... For all other DW_CFA_* in the .cfi_escape, we do not decipher them, and simply warn and error out (and not generate any SFrame FDE for that function). > Consider this example covering both of the named cases (without involving > any DW_CFA_*expression, just to demonstrate the possible uses of the > directive): > > .text > func: > .cfi_startproc > .cfi_escape 0x0a > nop > .cfi_escape 0x02, 0x00, 0x02, 0x00 > nop > .cfi_escape 0x03 > .cfi_escape 0x00 > .cfi_escape 0x00 > nop > .cfi_escape 0x0b > ret > .cfi_endproc > > Also what about in particular operations that don't affect any registers > (other than perhaps PC)? DW_CFA_nop being the most prominent example, but > also any purely advance-loc ones (and others, like remember/restore state). > Wouldn't you better skip those before deciding whether to warn? > advance_loc, remember/restore state in .cfi_escape are important for SFrame stack trace data generation. GAS will continue to warn and error out with: skipping SFrame FDE; .cfi_escape with op (XXX) But to your point, surely, there may be more "harmless" cases when it is better to scan the .cfi_escape data and if it doesnt affect SFrame stack trace data, we do not warn. My intention is to take them on a case-by-case basis: target the easy-to-parse/process and commonly occurring ones first.