From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4156246795 for ; Tue, 16 Sep 2025 17:34:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758044075; cv=fail; b=j3FGD3mE4aW9+dKW8dZ8jTfm1+tXUz+q7BromNZgDmKmrHqAU4S0aOTza1DhqZLjFYuY8KVuudaD9hqCQMkTavTcxlYsG03jZNHYCFRnAudzT+Nk9PjTBOtnCMZzwyjQ95Z9Z+fGin6IoCspld0hTnq75uLwrqIEQHwyfJoMq+A= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758044075; c=relaxed/simple; bh=QJbIzb2msexfoS1qLIhLovJpwHkK6OHPMXgg7fgfdLI=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=t5BlP/jAN4yYXbbNqNKevOx23yYjUWYgSqXlsCSDv+DLkZYX5MZlrJiCl7H8GgpHgpwgaq6OnfSOUlN4wloEt1QV7W3ZkAeNug11Khk9zu2VEP6Rjo3SxFkZkl5GKZj8UjNVrLbE+4ShB8zuBVZRdHKZZXt1GOhpNvrDLSnVnZ0= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=ea/YmMul; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=acZAVRNv; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="ea/YmMul"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="acZAVRNv" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58GGNGFO022891; Tue, 16 Sep 2025 17:34:14 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-2025-04-25; bh=iYh5e4yRnpadhkmeVYr679wRj3CfbQhYns1tEgMPtUc=; b= ea/YmMule0kYghruoOetluhmMHiFoLHB3yBdm4lQLbHa63ZJL2mJGps9g+YvaoRu q8ApjBGoVuIDZPnqDEIvWcRNLHR0AzcAoa9w0OQ18ebCNsk/ZhgYRssDRdiIJkVo hQuV6yLM22+rVUNQ56vAX0Q3BsBffpdscK+YP+ETYSYq0UlsYt2N2YIoT5aIJyj6 3cH2iB4AIm9gaxpnoGTB3mt4V4YsXD4t20mwwjEz+/jFBlQSe/IZAvkHgF/E7JfH +3bnyDl5BGQG56xxvXPBYKmthRl7ys8xY+YmhZWORzAlrjqaNKhcgLn1eoFo42No uZBD4Fosiqvu6ymeeyyXDQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 494y72w8d8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 16 Sep 2025 17:34:14 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 58GGgdYc001505; Tue, 16 Sep 2025 17:34:13 GMT Received: from ch4pr04cu002.outbound.protection.outlook.com (mail-northcentralusazon11013001.outbound.protection.outlook.com [40.107.201.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 494y2cxsk7-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 16 Sep 2025 17:34:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=w7lLkNFwe8c3k4fmgvUVGuPiycnE08P3QxSGDWxE1w7DjH1YC2Y58Ilbxcl4PhMhf2BishBsvl9pBweTjtevF3+hwUR79Wa1Kz9HBzAAVRKtkc8Gt8djenigitALRCmnlMSzd12hHPn/1EuJWpWyQPvgClw9RrUmwWoXrD5AyBTYMT7yHXwmAMAyylulhQEpC+l4yCNQBPgcbj7vcb6QurRNGsam/wYzT5Ivz8yJpkG9bU4B4oTTuPwsgy9zJ7lUwxf91buXJ16CKsM4HjFH9bzcC0xdtTW94GkEBpcy3K/HI/5WQFHtH6BLxhiaqCUu2vWM4y+dsKCYMdKp4/dDVA== 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=iYh5e4yRnpadhkmeVYr679wRj3CfbQhYns1tEgMPtUc=; b=ShE4x+jwGt4h4loIsknjnsRU03i+IE9i7ISr0QYGQva6szUSwocuSduTvRseBkHuFSYE8TDSfRbw7+0O7BLjxQK83z66mYrOUq6daM1QmuVNd472lBhkIDhmlYlN1o6wZcpIMvHU5GEqrradT14Q+4BlNcCsjk4yePfXjJvQ8SxH/7obHjDccT1qk5RQGgaD+IwXc9UF9WfTPcgEXLOUZ/h0enBv0fXOJBQnAx8tWDOh7NtFBGgb6cYE2ziDge3SXwc7lqgZ0JGCqZxqp5IkLmn7DV3dA6uKEKz0gnp0RwIg10WIpjhA27F7WxNuKBN7QxTj8OH8enw1lvjBgiWvTQ== 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=iYh5e4yRnpadhkmeVYr679wRj3CfbQhYns1tEgMPtUc=; b=acZAVRNvAwzr+GtF5+Slgjk1oAxzyhtekTR2KNQmNoiNnq8Tusre5lGiAd67dKI1l57hJW9msqORFg6pxf1s5H1aCSWwYYTd791Kkj6vzE4JoH/H/+uqaJb9zpBHLyY8orvFjJuwQ5eQY2iZcTDxy1ivrQzLhPXs7PDOocAP5ZE= Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by SJ2PR10MB6992.namprd10.prod.outlook.com (2603:10b6:a03:4ce::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9115.22; Tue, 16 Sep 2025 17:33:58 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%5]) with mapi id 15.20.9115.018; Tue, 16 Sep 2025 17:33:58 +0000 Message-ID: <332704dc-1e33-444b-afb3-8f3d776fb2a8@oracle.com> Date: Tue, 16 Sep 2025 10:33:52 -0700 User-Agent: Mozilla Thunderbird Subject: Re: Unaligned access trade-offs for SFrame FRE layout To: Fangrui Song Cc: Steven Rostedt , Jan Beulich , Rainer Orth , "linux-toolchains@vger.kernel.org" , Jens Remus , Sterling Augustine , Pavel Labath , Andrii Nakryiko , Josh Poimboeuf , Serhei Makarov , Binutils References: <9d104c46-855c-4b36-8226-1f59b59e455c@suse.com> <26895e7a-5d54-4c89-aeb4-bcd094ba081d@suse.com> <1308e9fa-90c8-4c52-b53d-afd24542b4c8@suse.com> <76b8c89e-5d80-48da-aff1-580d539d1b87@oracle.com> <20250915120742.7ff2f781@gandalf.local.home> Content-Language: en-US From: Indu Bhagat In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MW4PR03CA0251.namprd03.prod.outlook.com (2603:10b6:303:b4::16) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) Precedence: bulk X-Mailing-List: linux-toolchains@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|SJ2PR10MB6992:EE_ X-MS-Office365-Filtering-Correlation-Id: 88236e62-cc44-49bc-896b-08ddf54737d5 X-LD-Processed: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|10070799003|376014|7416014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?L2U4TWNaMUczdCtiaFJnT2tRaWg5QjBMdFA4V0NSVDlBMDFhTVJRc0haZEhK?= =?utf-8?B?a1lrVTVEV3hLeG1yZWZSUzNHdnNiaGVEd0RZVE1LZ1ZET0xPVFhSbGNtK3h5?= =?utf-8?B?UmkvYUNySW9BWkNWVi9aUlNrSXZGcHhaSGJBWG4xYzJxc1kyY0R1V3V0MEh6?= =?utf-8?B?ejAyOEU1dEFueUdHdDcyaDV5K0pPOXpQamJuK2ZxOUFFWTlsdXZwSkZuRy95?= =?utf-8?B?bG44TFhkZTR6N0xZK2R6VmNKRm55WHhhVTJvaGVHWXU4Tk0vQnp2cjFST1NI?= =?utf-8?B?c1ZMMEVjNTJuelY0MjhtWUZFTGNhclRoYVo2Nmx2WDJDMEZpVDZQRjFvYzE3?= =?utf-8?B?UDh1NjQ4Ukk4OXpPZDJ1OEx1TUZ4UlJOeU15SXBkLzlJOXBGUTZsREJNRGhz?= =?utf-8?B?ZnRFYnhyeEUveUtJcmNvN25zTVdiYW5pdHVqMExIdEY1MlFjdkt4L1VIQVpY?= =?utf-8?B?Mkk3Mm1jN1UwbDc5YlNxZVNVamdJOWEvR3ZFV21UMDNqZXJTMnBpZWZzOGFT?= =?utf-8?B?bk1RcTJ5dlB6dFZFVzYzUEN2RGR5dXVYWE84Q3pzQkZpb1BDKzYrcldPTDJJ?= =?utf-8?B?emRyc01MVGkzZ2xiNkxCcVFla3NkbVBsSjdhUmY4dEFRWDM4cVpTQlZrVEg1?= =?utf-8?B?RncxK0VxV1BvNDRyV1M5NnZQSWZzR0xRNG1xSVg3RWFtVnVERVNEV3NHVlpk?= =?utf-8?B?aDljdmd6WlRMVVk2bjVVZElFSFRVSnRMVEEyR21VaWROWFlQbzBSZ3RCaVJt?= =?utf-8?B?b1RBclB4M3lnaWRZclJxakljaEE5c0xJYWlxaFpHUnErNm1LY2lSWDRqV3RD?= =?utf-8?B?ZURQeDZFeitXb3J4dndPM05tRzhPZWR5RUdMTThJU0ZJOUtJNGVneE0zQ2Iz?= =?utf-8?B?WFd0blpCTERYK1JyWEo1dlFlcmI4c2VVUzJpOFNEMzhkcmRJVXd5MnlBR09s?= =?utf-8?B?cUtBUVQzM0lXcVBTaGphMWNIUWIyekFJUzVlNHgwZTdRMWRSR0tqZEhXVC8w?= =?utf-8?B?UDJWOHIxd0piYlVQMkRHdFVUZjZra2YvRllKQXBXK3doVFZOQ0JPZzVFbUxh?= =?utf-8?B?ZVRXQjhERnh3WkVDUExEUzhLYkVMZGZWTUFva3Badm90ek96a3cwL2FhWmVJ?= =?utf-8?B?anFSVzkybGZwQXFBak84aVUzOVRNRFlBcEphMytSaWdwUUlxSHRBR0pHeGVu?= =?utf-8?B?b3h6S1MzWDlLWXQ4MjhMTm0rOHEvWnU2TEpLRzA4cDFzVjRWUnRnekJqUjFD?= =?utf-8?B?Z2tDSlpRWm8zM1ZsdTdha3VXRWJPWUdUZ2JIenJ2ME5PVW9ESGtnNXdVNG83?= =?utf-8?B?YkFOSTlBQjREZmZtL2I3RjR5ZXJJSmdvZ2VQaHpsVjN6S2MweHhOWWxyQWxv?= =?utf-8?B?bmlnOEo0blM3YThzVDhGL2ljNUw0U2NhK3lob2h1elpGc1FKeVArNVIvV2hX?= =?utf-8?B?YUxlWWF0MTVBcGVxN2RqS0JYcGRNVi92Vzc4Q0hlMWYwdThZTGdNR3B3Kzdz?= =?utf-8?B?L3BMS3ZEVGdqNG1GMDBFV2FPOCszaGtDd2hoRUtKa2pBclUwdEdtcDZDYUtz?= =?utf-8?B?UDlrV003aGwxWnhBTTRlV2dhdkc0QStMVTQrYmpnSUZOOGd4dE1OYytIYkpU?= =?utf-8?B?Y3E5RnpIc3hGa2dsaU0rTUNDYmZpTStJeW5YZCsyd1psYjhldGdSMTRWQlJo?= =?utf-8?B?NGpyak5PbFl5blo3Ty91SjhWNUdCdy9CeTRSdXNCUUZQZVEyTEVzNHdiYkZG?= =?utf-8?B?ZXZFL3ZTM28zMXVLaDJaQlRFK3FpODVZcUVzeGljUXJIKzNablVNUFNqNFNx?= =?utf-8?B?Qnl3MzhuR2ZoZExwaXMxZWlDY2wxV252VVJ1UHlBY3JWTEJsaTlRZHk1TE42?= =?utf-8?B?YTV2cEcvbDhOZ29HOW9wOWxGRzNLZU5Td1N0YjNXV1dRU0JsUEc0cXNRWmM5?= =?utf-8?Q?Kt1kr59iriA=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR10MB6365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(10070799003)(376014)(7416014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cUZrRm42T0dEeitXSFVjZ25JdlErZkxLQUxGUHlkbXlydjRMN1pGYXlzYmI0?= =?utf-8?B?NExOMkdEeUhOUXNldWZyMy9yUDdYREF3bVI3R204TFoxcHBIUlBXOUNMVERQ?= =?utf-8?B?dEE5ZlEvVjR1K0ZoR2FEaHorQUdkSm5xa3N0SHViYU92ZjJSV2hXTUhXWXpN?= =?utf-8?B?UTd3S2tjMjZkTXBCRFFJV0RneWtIeVkyZ210cllvRitPR1RHWVRkVklrc1Y3?= =?utf-8?B?c1pCUmJSaWplRDJMQVZEaU1zMno1czBtQUlwUUdFbkJiUnU2bWJ0VnBUU0J4?= =?utf-8?B?NDN1a2NkV0hNOTdnMmVPOTRVQXlocGppNEJrRmpYcVVRdnZQYUNTZXUrT0ta?= =?utf-8?B?bStlaStMWVNaWUlTQUVHS0t4azRodW1JaG1MTXhwZXZ0Y2Joc2g1MG9oVUs3?= =?utf-8?B?dy8wMS85dGQ5UTEyUHI2aXR1WHhEN2RkMkpLMS9wVlBuSS84am10RllQc2VF?= =?utf-8?B?eW1sZGVjcWZ5MjNWTnQ0SFdmQVByRi93cmFmL3krcW53V3ZRNnVIeXVKMjh0?= =?utf-8?B?enZnVkhMb1A0K3QzWE9yc2xkRkRkcnUvZDlGSXpSOERhNktYdnlGUkxCaVBE?= =?utf-8?B?azZzMDdSM3VPeUdTeWFMQlBBMHhuaTFneE04VWE5SkpHYlFFWlkzd0FqNVZr?= =?utf-8?B?Z0g3bWZseU5Tci9rSUpZMTJLdm9wRXAzbjQ2Vk0vZUh1ak5JWEs5VFozZ2Fw?= =?utf-8?B?TVNpVVpVUHppREFEZzNLS1dic1RUNWxjMjhTM25Zd2wrT2NFZlMrc3d2ZFRH?= =?utf-8?B?Mjh5V3J2dnZta0pKVHhTSjhwVmNMK1ppMnNON3RxSHk2NDBNUFY0bXJwVEFn?= =?utf-8?B?QzJrbkN4czN5d0NVLzAwcDRRc1gzd25ZakVzQmVETFBqcnZCOS9iRUpHQ0tS?= =?utf-8?B?c1JWcCtFYlpqR3BJZUdONm4xWHpPdXZ2VTBIWmJ5Qm9RN3ZMUlVxaFYza1VZ?= =?utf-8?B?VW44bitvLzJPeTZ3WjczK0MxdEZuTG44SG1sL0JoQ09zTU11Q1FxdVlJQVcx?= =?utf-8?B?bDFJZzk5MGcweGdZNGRKaWhzWXQzb1Q2SEVFWjZ1THFJZk0ycFROR3ZSeHNE?= =?utf-8?B?R0VubGNTNU8vb0NWcUY4KzBPRE1ZOFdwY0hPdVpEYXBxT1VzMEorUGFpVUI4?= =?utf-8?B?M2MwdXE4UHlhYWNQWkVJaWw4am9lTDlneXpWQmdjUnRTVGJqaVFrYm40MDJl?= =?utf-8?B?VHNIWUlkbHB1WGZxNzZNcGJETTY2TVZLRDBnRk91Z2xPcnplVmtVK1cxLzBH?= =?utf-8?B?OUloMEhLNTdYbG9vTkx3ZGh4dSs0VEh0YisxUHE1bU5aKzE3VzIwbjhNbnk5?= =?utf-8?B?TElqSk0yU0E3Y3hMWnd0b2YwNXNYVEZEMnlEb3drNHZVa0lQWlRhc2hCQmdX?= =?utf-8?B?M1B0L1M4cyt4ajBmSUJJUjNZNHMybWNqQXE4UzlQT0M0ZW1oRy9zdGY0YnJN?= =?utf-8?B?QTFvZEJ6Rkh3ZVRHSXlQZG5QeXNzaktGTC9McktjV0NSemhmTFhSU3VWV0M1?= =?utf-8?B?UnBjWjNlcnFobUtXem9CUS9QNWRjdGk3SVpKNFN0Ulg4M1M1Q2dyRnRpUUJG?= =?utf-8?B?bUsvam42d2dwaDBXa0JLYXE5TGhjVm1qMSttQi9obUkrUmhhM20wZXFlNEJk?= =?utf-8?B?SnVzRjVMQ1V5MVhsV2llUkZMRnJrTHdxNXZvT25QTXpXaGpUTERla2hGSFpn?= =?utf-8?B?amVvN1pLNmJTNUNFUlIyWGFtTE00TUFWZE9jZU1YUi9KNTZhaUhXTmk0RmMx?= =?utf-8?B?N0MydytGNm4wVjcrUHRGQmRGemdndFUvTVhNT3ZGMCtOYUFORzhFS2hqUzFh?= =?utf-8?B?Zk1ZZGZqZnh1Z2psV2pjOFdzNlc5c0dNeVp0WXZXdU44ZjNraGNBcFpxSDRM?= =?utf-8?B?eWpoYTRnUnJnU0FWanZYRkZKU2Q2ODkrbk96YXNSQmFVQ0l4MjYwaWdlOGcr?= =?utf-8?B?N1JJdlErV1plSlJJUkVGemxNeFBPNmV0aUtMNHhqU1dEREZpbWYxUklReFRG?= =?utf-8?B?VHdzMWk0QndxUDRiSGtnN0wzRTN3OWtCN3F1Nyt3dy9VSWcwOUNpMkx5WkN3?= =?utf-8?B?c2Y5cEUvS3RoUGJva08wUVJJWER1cFNoNGxjd3ZoNUxyNWROYXZxNWN1U1Y5?= =?utf-8?B?d1o2Y2o0Wmgra3h3aTBJNjFpYm00MEkvOEJ1MEhmWWVNNlM4ZlZiTy83UStu?= =?utf-8?Q?9ygjMML7vP3ur26vrgFTlY8=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 3OvUBK5xIR4kNW7Gws8NV34IGp62x66l+c2vUo8kO4kU8WtDU2lKvBBxYx8F39LdvnHPMvDyjkWX0RcWHvnnlALfKmzRppU2rvlfR5y56UHAt1rfZP+jpVYPJa09SXxgmSVbrFqQUjys+zljsZusm2xsbwprqScM5IyS74+PA3dn0hs4Ykw1PIBgbHIe3w3YfBKdMp71GUG+NOEEtkT5szYdRd3svD1wyh9HiRFQksu3Wf4aWIuScjvi1XUMeIBPktO5o7Lq94aXzaTuu5CZ9wKRvsiuSINcGcAKcVT+FVUuxkBnqtltPShsniqW71aTH9gVh0cdfzE2j5BABdFLpoB+H0MyzZbzVvJVFaHsMwWGD5scQ0LjFkm1uixbzZ0+a/RjL5LjxSjK21eCRrW4oMH499SbmMGQuApXvGr6xIWW2o6j27AO/kJ12gsbj7Zlm6oTZIrnYVTTE+lSqbtJHLgT0SQiWAJclX40zeTFSWdey89IT29q94PIVtrWx5kV43706bxaJkXbeRREm9qF1/0G7T5BqZgqUrTL8s4Ef2m0pbHkqpNIQFxmPVmJFMKtKGo6/cykcty8JgNJpDem1VeLDJ+GQkluky10jaQ1YcA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88236e62-cc44-49bc-896b-08ddf54737d5 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2025 17:33:58.6994 (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: IzLMr6DHT1SZ9E2ZuTTN5gQy7QJmqFMeATjE/xFNzTn7X29EAgayhWI1iHbUMw79cbuc4ZBmfH6ZHdLny7Kk1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB6992 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-16_02,2025-09-12_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 suspectscore=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2508110000 definitions=main-2509160163 X-Authority-Analysis: v=2.4 cv=F9lXdrhN c=1 sm=1 tr=0 ts=68c99f96 cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=meVymXHHAAAA:8 a=8Clg1FBzztn-ZqoDCY8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=2JgSa4NbpEOStq-L5dxp:22 X-Proofpoint-ORIG-GUID: IesFgBvZ1Cyc2R-ilF-w7WlFLFQoknr_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTEzMDAxMyBTYWx0ZWRfX0541UFapyelG k8G0lMMJODC97Q46is2jWGcvGLH5kCiU6ADQnvb0cDbGMHYMM7yEhWGQwMNdQS6a2iD3+VWNBQV 1xFXJZtgIjFKgB34YrKzpfwmPrxQ/8iKbk2t6IfgjdM55xPYEK9jmjs/rzNXPBgRuBAX51m6i5P ESvF75AZbNYRESTdYdzlNih1nEv46pgt0xIzL0eEjwnErjXEMmjjAJiATvt2EeBNPSh+4xj1ccZ anU0o4MRR2mb93aPB2678NHWTJ/9tdmDm/UiGIBbvwdJ05DoUg/a1/BECAHj48PG21/Kpp8JMtZ sda48Dmfui/KAyWG3BKeq69ds8I8Mai98xEiwyJCIxIJNEUs1nHjcJnVh84atZ7r/7zeMY69q7F XJw3+LRZ X-Proofpoint-GUID: IesFgBvZ1Cyc2R-ilF-w7WlFLFQoknr_ On 9/16/25 9:32 AM, Fangrui Song wrote: > On Tue, Sep 16, 2025 at 9:03 AM Indu Bhagat wrote: >> >> On 9/15/25 11:05 PM, Fangrui Song wrote: >>> On Mon, Sep 15, 2025 at 9:12 AM Steven Rostedt wrote: >>>> >>>> On Sun, 14 Sep 2025 22:42:46 -0700 >>>> Indu Bhagat wrote: >>>> >>>>> In such cases, the routines reading the SFrame data under consideration >>>>> here (SFrame FRE start addr, and SFrame FRE stack offsets) from memory >>>>> will need to use a memcpy to copy out the data to an aligned location. >>>>> >>>>> In GNU Binutils libsframe (used by ld), we do the above. Such a "SFrame >>>>> FRE decoding" routine could be provided in a arch-specific manner in >>>>> SFrame stack tracers. >>>> >>>> I'm perfectly fine with making it a requirement for the reader of the >>>> SFrame section having to use memcpy into an aligned structure for reading >>>> if the architecture requires it. Let only the architectures that have >>>> issues with unaligned access take the performance hit. >>>> >>>> -- Steve >>> >>> I agree. Unaligned access has nearly zero performance impact on modern >>> architectures, provided the access doesn't span additional cache >>> lines. >>> The padding required for alignment would increase the size, likely >>> creating more overhead than any alignment benefit would justify. >>> >>> ( >>> From a linker and binary utilities perspective, I'd even suggest >>> adopting a universal little-endian format regardless of the target >>> system's native endianness. >>> This would eliminate the need for endianness templates in the C++ code >>> and simplify toolchain implementation across platforms. >>> >> >> (Perhaps I am missing something) Wouldnt a toolchain implementation need >> endianness handling anyway to support cross toolchains? >> >>> On the big-endian z/Architecture, this is efficient: the LOAD REVERSED >>> instructions are used by the bswap versions in the following program, >>> not even requiring extra instructions. >>> #define WIDTH(x) \ >>> typedef __UINT##x##_TYPE__ [[gnu::aligned(1)]] uint##x; \ >>> uint##x load_inc##x(uint##x *p) { return *p+1; } \ >>> uint##x load_bswap_inc##x(uint##x *p) { return __builtin_bswap##x(*p)+1; }; \ >>> uint##x load_eq##x(uint##x *p) { return *p==3; } \ >>> uint##x load_bswap_eq##x(uint##x *p) { return __builtin_bswap##x(*p)==3; }; \ >>> >>> WIDTH(16); >>> WIDTH(32); >>> WIDTH(64); >>> ) >> >> For AArch64 which SFrame supports too, this is not true. AArch64 has >> both LE and BE. > > While runtime consumers typically handle a single endianness, other > tools like linkers and binary utilities must support both. They have > to support cross compilation, producing a big-endian executable from a > little-endian host. > Right. Sorry, I am still missing the link between "complexity of endianness templates in the C++ code" vs what you say in the next paragraph: endian aware read/write is anyway necessary. > A universal little-endian approach simplifies code. Instead of using a > function like read32le(config, p), where config->endian specifies the > object file's endianness, or read32(p) with an internal endianness > check, the code can simply use read32le(p). > > The read32le(p) function is either a standard read or a byte-swapped > read. This byte-swapping is fast on aarch64be (thanks to REV16 and > REV32 instructions) and s390x (byte-swap load). The rev* instruction is in the data dependency chain. This means that using little-endian for AArch64 BE then defers the task of endian swap on to the stack tracers. E.g., aarch64 (added insn in dependency chain): load_inc16: ldrh w0, [x0] add w0, w0, 1 ret load_bswap_inc16: ldrh w0, [x0] rev16 w0, w0 add w0, w0, 1 ret s390x (same height of dependency chain): load_inc16: lh %r2,0(%r2) ahi %r2,1 llghr %r2,%r2 br %r14 load_bswap_inc16: lrvh %r2,0(%r2) ahi %r2,1 llghr %r2,%r2 br %r14