From patchwork Mon Apr 7 00:25:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 109937 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 22DEE3851AAF for ; Mon, 7 Apr 2025 00:28:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 22DEE3851AAF Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=WSWE5fDS; dkim=fail reason="signature verification failed" (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=bwn1sX2j 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 1903B3851A9C for ; Mon, 7 Apr 2025 00:26:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1903B3851A9C 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 1903B3851A9C Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985587; cv=pass; b=KgFhquMrUKqIZhQNkGPM1vsnf4cgen0WEiZK3h9XazT6uaCMK1SwrRs2IgqvLHnRR4p8YeYmaLFPMObFWjjTgx5zFI4QKWF15Gwb6HrNuZu+NI5uil0xr+OxTCl1VAi6zhGPbtHopDPXCBuoNiKXxN/e6NWBuFBC7TDvHkAjC8M= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985587; c=relaxed/simple; bh=qyNh3wKO5D/3yv1wyxxBMkYVe9lXrcF0+wCDFnvWVWY=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=HND2OW87C0gmACuwOMPT8QOipgykAbBGkTGAIh3wqOOVCw6Vcmdjfi8SLzM2o7y6xPemgaHc5w1gbM/16+C1Hxg3hj9OVlmwo9TfB4nl1taI3uD4Ya9KSMjA8EmjH52DOC485JfYtaGsw/suTEKMYgLRnY95KwH2ZlT8vuD7ouY= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1903B3851A9C Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 536Nawgr025755; Mon, 7 Apr 2025 00:26:15 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=Zb0IPEYm95qyDJV7vEyj5vUWRP1QK0MsHnPs9cAiecE=; b= WSWE5fDS+PAXdHzIP1muJIlBEQ4aLEFwpz9tw/CMw413/sp1lw8f7CSl8BXI5Ysh +rvyKQoFxM0UqgoHD5Us0+ar1wccTcyEadqGFVhUnzWhSJC673gSnuoALmOWTIZ2 wBvX/pa17rg7kfgR+9WxwOOLZx1yjSV7v7ZhZ8lGb42GhVCO7Dj0lNucQRl+Em2A nUqKQaH/vAXuk1hvdXq9DKNssStXwAnGOXWS+GY9PgrSN5OtajYfodbQ57G+pYk2 bm7iDDuH8tX0ZuzWitxZnlDVyPjasxDMGaU7RuyTP+SV+CMM5r38lMVgd80Q9HHy sQlj0cYphVNNf/NpkiPfpQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45tuebhk0u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:15 +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 536KHAIV013679; Mon, 7 Apr 2025 00:26:13 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttydbgp8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lFnRp3VTIOOqDbtMnGnrnbwS75FjKzZpqSMJNlNlegqLtu/pww1/Ikq64asWmte0nAb4vi9pSKoIQ8f0MmX1WpAlhYgvMuLDbERzXhIdB+KDLVWufR3GcZRcz42Ybj0wiWv1leaqvHmvd77U+ZSQlj0J5edS7UacwLNGRefUDPFmOGJT7TjfyEboOf47e7K1FboFnQT9+MaKo3KFiiWeJguYkawPi8xKSt2nzSNb1uwESRtjflEuJtTG2RT5wrWI4QDsd0Mm1uztpx5btnZW+ywNrBW5DLv+ijedSaftEmATLw7nxhbYNC+3J+X1XlgeSGPT/QZlk3/b7zMBoTzGWw== 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=Zb0IPEYm95qyDJV7vEyj5vUWRP1QK0MsHnPs9cAiecE=; b=QSkobr+IW1ih8C0v9AOEaaHepuVZrteX/uSUEg2Bf1Cn1Ge4zt6E7/U7VF4kICRMPWnE6ym06jPsgVT0LMbD1f0jQrgyYGeGAkOkptyzsM4BMDpZZkf07lOrme8MzBw9WeAt4Iw0kBV9Ct26at9QSUWGIFjtbBaygw7clemKNsWudXyBfVoqkoPc/et7NWejdgT15cfvRMsuvESOAtubzLJ6+Yc8zjvJ02qEeSw3JwU+VJMMORKwWtuJ2a+4ymILKo58nnis5Av+hTgEh9CRSS4sd235Fdo1GyL+VvLABdvX1ocfpC0oNFDchR2dyLrGqXz85u0w2bxFnFZNyHnM2w== 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=Zb0IPEYm95qyDJV7vEyj5vUWRP1QK0MsHnPs9cAiecE=; b=bwn1sX2jXf52rRY4k9Q+aUEk9n7aivxoQLavXOqkX4qejBINenEd0+1v8176hhQ5ipeU1RalIqVufCdzHpnlGMQJQi/1GfL1aggCuS/D6A2V266NIO3eAKu8yZEOIEoNHp/kkJIarmyUMVZhP6m9Pi28FDpqZXzexhp6W/IC7go= Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by PH7PR10MB5816.namprd10.prod.outlook.com (2603:10b6:510:127::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.46; Mon, 7 Apr 2025 00:26:11 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%4]) with mapi id 15.20.8606.029; Mon, 7 Apr 2025 00:26:11 +0000 From: Indu Bhagat To: binutils@sourceware.org, jbeulich@suse.com Cc: wnliu@google.com, jpoimboe@kernel.org, jremus@linux.ibm.com, Indu Bhagat Subject: [RFC, SCHEME_B 1/7] ld: sframe: emit function start addr as offset from FDE Date: Sun, 6 Apr 2025 17:25:53 -0700 Message-ID: <20250407002559.6593-2-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250407002559.6593-1-indu.bhagat@oracle.com> References: <20250407002559.6593-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4PR03CA0066.namprd03.prod.outlook.com (2603:10b6:303:b6::11) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|PH7PR10MB5816:EE_ X-MS-Office365-Filtering-Correlation-Id: 9fe914b5-fdb2-445a-816c-08dd756acc6a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|10070799003|376014|366016; X-Microsoft-Antispam-Message-Info: pcTXE66YAXW+VOUYQT63/47Gz5N+ioGcYvJjR/bBsFYHnvSvJi0P7piT3mQV1llrpH5AdgUQJmlyevMB1wYU/E80czy5YyIFk3Y1c0QSHYKKsE3o8VtXjewF1hj/AuvhMCaa3ScIc6mEp+QSOsIpnxhfAYkdJziVqac7B4HgH8+Yt7j6yaccjXfcqWaQreTy5sXBGe7Efp/QtRZL6uYjHCAw349RyJWldVuyOV5rmj4q0h1jLYTfH85yh0C8IDTxRAz553FOfA6cYT7hdCJ+cSMSx2LrtahvaHwQyLE9YDR5TgQX6RpqugihEzKSMOiWDu20IP5+0Q3kiiWzo266jwxoxXxLjHxYYcRAKW/1zg32OGUz5JWodHZtUoD5vgExDp3ElNypE+9qOr/a0b/bdz636jESD7FFXRmj6rolRIgX5jkDgXwvJ0oKCqwtFX0I0A3Tf/++HP98lfajfzNtkS45Z6Eq3JGbP3qUjpjL/Gz8ba3jZzpiGGCH1eAs8XxratdB7rPw9CcgjT52Zqwqh6mNwjqGIAEWZ99xBQpF2ymwt5PQrPgAi81nJCD9gQLvfCED1s3RcRtQKQEBU8aIV0uAYrYe7n1qDvZk1p9bPGbXQRyKl97oviJFdTfVNzeXkdSKh67+TQwo6ViS20+JPMRx4tjedGePmOI/AzVyM7S/DztUBfRggJnDAG7x+4AH3zyJZkYzXi1jn2qER+4R5JcNoiBvoQuN7BqLSqjTNH3PkM/aP0kLNDt4u+OL5gAaz6AMFF+IzVG50k0Ve0t2M+y/PWs390bmDato+g7g9acUOjGOAXSd5YBw2pcAWw6nmE4qQMLi/2Y5ErSItLO40V15w5xXGz4bY4tGbu+RMTPP3qiOo1lNOg1ii8UpS/0hlzXSerovgGUnuqu0cDetTwYvbMfBhUoBuQzm6sMzwO2nK33mi7/aLmXmd+B4iPFhUpUiAqpzK4LIdFQPnsgzc7kQsYnZ2+7sLsGVS7oxsfXVO+ZVycFLsNylAeQS7q1mE1cmb0M/hW5rGr+2oMe6hlLV3I6nTAwI0cCs5rAB4t4PCEFphijPngHakC3/44XMCB4cHg0RXrfLnayL+0NwA/ayQ7NsSofbHVy443Uhti4mlNT44YQh+59C5xE4/yk7K43ClKt4ENRffOFbRy/laEbpY1GMjqHCrB5zbGcA+fpWsDjEMTBDyr1S0YytcB9nSKmI+cGtgSoQuTknPtrgbTwu0Cyacav1DfBBF9Tf5fzyDBBMJTWmOBROITU69wZcPP8s2F5Hhl2tVGEMrlFDTSG1VrBJfHl59yYkyrI7XkvU7PQtXnSwFLLVaBf6xwjO49YSC4lj4GRytBcXp/pRjuranXlEPkRHFOJ+Xl47DGIEP4YF1kCEb/W15Zjl6973 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)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wDUOnNzNzXD0A839thHYgf2myXlb2M0/4coo92mETxfDYXyg3Xd6FR75QIA98KCE+WmpMW2MMhJI7Zx8EXHfnLK3ABuxSJmVlqSZrDCDvzfXfMwMWE9SPzc7EhU4bok/sj2l2KOJukZozszBKNE0p/nKC7p5EBbh+ZPTCXGOTUZpR0VllY5Cs5bOm7/uPwZjiXdwIqGpgJMVIKyM9CcpX+HEq7p2xrGBSS9Ikc0EdHRzoj1ENzHFMR/aFfQ9kWqsLoZgcPJob7/xfN9+yJthKFjEXN1PDFQL6wd0SQmbnQDXU8CGYbLriV+zHSYSOaCna5NvUHWnCSZR/U+LJYgCuMtRyBooJPwkxcWpuUyyIGsucjbwugNRjteGRtjteK4GBMGeJvFAYl+3Lgk+OATW+x7z5mre5rwohd1qNBg3iHA0WwRlcpZcH2PeIGKD9wzcx/OPLWrI5XW20wtFanJV2EVt3hnAdRaSycmypakZECjuvsHFSTQQbdu2wvFTrp0wqzBB4q/HnfoHVsH2ZI2xixzJYQ/U5joxi1iXfB5LZLlxY6NM6fdPWm6KNaA+fj/JUl4gIw7P3m2SANL04q9Z5g07TW+jSOkLePKVqOjzQEfLkbBSiK0gqMJ35MlQ/UnZQdjgiqGfekfv6eYEaADZvSU+i6vJX2lz+3kNeMcLza0bheRvpTKJO7aCf+Rsnddt0IbX+GC3kMwLp0gEjPeUtrbCY02rON1jR4kOqWk6ceDHUsU52qq5TNcVY95HOxKdB4ZqR6iuFIUMjlKpH90gALnWH0yLoIQH23Ql0vpv/K7R9LDrRNRK3kYKVTg2qsKQ9JPP+er/KsXLrFrDHBySQNDe3AjHTOYNdn74JxtQzTGrOFmZYIoEBLCFoqFbiY7CViugrYP7DgAOtHK523TrHC2dLmiSNHt2+eF6/JJinq8IfghNHeDdDcaAimwU9fzVZk64iBiuFOuY51MbD1sD78kcEtFKvAlfO4I178p77s0Rb//Ygfy1tZ4lr+u83XTF3IPV7foXgmgzHbAmpWO7Ly9P1kh3kwVJPSEXqkIh8VvUqyTFoA1rZVe7UDQzf9CsrdcGu4JwiHIiuL5TioIusfW5SUphw225tNux/wNbTYEL8r1i4cuC8N0VMy1HqfXBqCquOg7vKu1PisLlA+X3dBv6zuc0X6xApO+1vLnwAPNorIAeSW4RAfPNW58oYwb3hpoTfmS2+NwnqGhX4V5wrpk53WdODpApmYfUbjgXO3m2+ZLUlBwiMtjlNMosVqGYyoGas0wAWKEybQwWrStJF+LbaxfsMNvLzqSe1QgEoYcb4HNo5Wda6ndGRv2km7UiN/GJyQL6SyrJmSBMN7Sx2N2q2kxBtfxXV3qXJB7HEeCSsui1qaHfyrBPqwI3/ZW21Xh6qM09WjCFdFm+7tPgYSiE3lDF8Dcbrep5sv3ltulWdl5eURZFhYdwDyfh2UZzYOrO2DZjsoXxQpFumKytLPdTubMOia5oTFV0dPUvWhq9rvDkq7zpIJbwBZKbsE76AB5s3J+H6hijRhH9rD5qyf6k4hYjQ8JzTXdWNGtZpAToBoaXnzSx9JmJEnQBHVBIm/B6mQrxXWQoJRzRYg6P0gzeUk40kfgSd9wn9Ed144M= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8vTZEw1Y7Y1dd2EufNfdwJp1LS/4lmia9xbJ8wNncpjgIeNCJWeV5OKtMObLKLK6uO0C4b9tOrZd2T8dpP8Gm8mZEfpNwxcDlzM9ZKVZdiLHC2LqWftws0WNUypsuk9pWxTZOqL6bTkKpmu5vA5zRrl+07An/dxbFSMSvuDV3yQzyfPRyQSy826xsiQ34e3LFx0MRH3pAChk9uEwF3zuSN7ScH0U6YiQTzKW0Ha+ofsEbpoczjcG8j2vZL5mOOgpB/EvoDTJnJkLEcul1ERpIeca3unWcuu6nwOGnwjQwv+tzZA4SDj5QS5fRV1R82ysQzdMNZwBYJ+WFyz3fuBbqv+cMIVPTPPNTTdzvk2b7UPWovPKKhpjKv8glLnIPNQyzWBKY52f8eCm+M3JFGjsf1TwU9kTU39MzH0GaPutfsx3HVxaVF7MEBKSBd1wPpKtXNTljz93mLntaeSmVJ2+3SgK3+DVOzK4aW89JXLmhJ5xfTx+MAmosihTXv5IA9wB8VMZ1MH2Q2HipW91z5qEtgIenZjR56U63uzibs5c5B150I0QS5RRcQYwXAUzt3pEzIUj8satL1C6v/RgdOd+xCNGasx6SMzqDpHu47P2/hk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9fe914b5-fdb2-445a-816c-08dd756acc6a X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 00:26:11.4308 (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: djW+4ExM7oFDr/MpJkrVXbTUaFsBNkVWbRh2Wq+RzJVFnWUBOppn5meRMHOnsCEUeSobU8S9oXBYBkXiYXgbrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5816 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-06_08,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504070002 X-Proofpoint-GUID: p0R7Sq5cmwjQEScaLET6drcXUiD37FF_ X-Proofpoint-ORIG-GUID: p0R7Sq5cmwjQEScaLET6drcXUiD37FF_ X-Spam-Status: No, score=-12.8 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_H2, 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: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org Adopt the new semantics of sfde_func_start_address consistently. For ld, this means even the in-memory contents of the FDE function start address (buffer passed to libsframe sframe_encoder_write () for writing out) are encoded in the new semantics. ChangeLog: * bfd/elf-sframe.c (_bfd_elf_merge_section_sframe): Adopt new semantics of function start address encoding. --- bfd/elf-sframe.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bfd/elf-sframe.c b/bfd/elf-sframe.c index 97e00734515..e5e4c09b72c 100644 --- a/bfd/elf-sframe.c +++ b/bfd/elf-sframe.c @@ -481,6 +481,13 @@ _bfd_elf_merge_section_sframe (bfd *abfd, address += sframe_read_value (abfd, contents, pltn_r_offset, 4); address += (sec->output_offset + r_offset); + /* SFrame FDE function start address is an offset from the + sfde_func_start_address field to the start PC. The + calculation below is the distance of sfde_func_start_address + field from the start of the output SFrame section. */ + address -= (sframe_encoder_get_hdr_size (sfe_ctx) + + ((cur_fidx + num_enc_fidx) /* FDE index. */ + * sizeof (sframe_func_desc_entry))); /* FIXME For testing only. Cleanup later. */ // address += (sec->output_section->vma); From patchwork Mon Apr 7 00:25:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 109939 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 098073851AA0 for ; Mon, 7 Apr 2025 00:32:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 098073851AA0 Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=NiEJtA1U; dkim=fail reason="signature verification failed" (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=TeaDDQV7 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 58A253851AA2 for ; Mon, 7 Apr 2025 00:26:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 58A253851AA2 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 58A253851AA2 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=1743985600; cv=pass; b=t4gRqENuukD695VQdys5Hj5vcPWFQM5LMZ8MTJyMNtjauvX2favsQ7lSG4zU+afchvMzSDy2tFEob+wYKXqcdKwCnfASzTtRcvxgoLKAewOMjcGygsXig0w0NkDP7f9fZcS78HX3e7TgMdAw5MXpAhZbB717XU+LV0DIO9CN5Nw= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985600; c=relaxed/simple; bh=BToQbQgpeEy3xSpbXhh/wpTXiPww4QZ7JRSgCyMl/TQ=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Y32zwXQKPvyrleXtLbVfIepO7sxhlw/co4BGzGb4h/RhWO9YMrW7UzeyF4DB6bk+CVCUgQpUW5DxGXT1o00WpBX9ggqPjFi+FuZUSkCfaMs/mD7oqs5I24YWfg36ak7a9Gb7xhwGjbFgrfVG4D5ZiU8IadgN+1WbAqrGd7zSSqQ= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 58A253851AA2 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 536NqvRa007348; Mon, 7 Apr 2025 00:26:29 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=WBmTcK+RqSH9QCuWq8eihNARXKFHBfGYJlWQasU1gbw=; b= NiEJtA1Up/VTHzDTtLWvF/vcbfODtQ/oFMdMfMh8fWKXj0bFvJ34Mnm6aXXS8R1U dNAfInB515L0IT717zItDeV0ZsIrzjgZEvm8IVFfCVv5JNlsb/vAmLH2sPZoooTB yO1EWBj0LtJgYH2LlM3GTXT3RvjSkdkYZJfg+Rv9MdU2CF5zJD3D0IKxNoJ1tLBk mBMDFLsN67djq2VGjjmVSJCJeXHBslx2Dx3gwB+M9fYmWMhRt7YuG89imCXdUeRH Xb/XxWp1NiJHQyWCqEWjGIXKIYP5sw2I+amhs8FOZGCv42LzTq884PRzk793pVl1 hiiimqf63Dj57X4WH7T74A== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45tua2sjk6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:28 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 536MaWcQ016533; Mon, 7 Apr 2025 00:26:17 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2048.outbound.protection.outlook.com [104.47.70.48]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45tty739s1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Xqt/kYSjdYEB8fe4Qix2ROe5tcZg5T+vD9uIiplCO/BEd/pF/52rmWqfAMkL7NH0ISVcyIGW5hA3fp7G/tTXOGsBJ2aBXQX0Sp5030Y9unvrE9DRUF6UOjWeJLMVTSMSHo8BGGwqDKp7Xzts7G32yxfkyUipeIcV/YR4lfjzJql8jFy5pgERueemmWlGF9eOGFkdiNXoBZNVTkAgl7EwEfd3xZ/YRrN/12PBz8u3jwjk3+UqtdayR61LZcWw7/15GV84ILLqZwx1FThu/9rOfmVw2r4Dz5x5CcLyZR+NVJAAuCKvruTJNCjkc/fyasiZpPHT0cv+EB1deuzRSMYqSQ== 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=WBmTcK+RqSH9QCuWq8eihNARXKFHBfGYJlWQasU1gbw=; b=knd+81JQvKv5vSAgfF+OOXm2E/1O2+pNWRM54UrwI8kdsfijGQXbjncXw3qs7Xb4LPtvtRwCAJgSCmYQhGaLJbKXA3K6OFwKSJ+1NOI5SdV2uv6ljf9q3x06nyM0uJJ0lcDl+LVddrNB9NbJK6Bgp/aAOtXbVF57mTm62ZbwSqZqvSM9oFpC2UXnm7WBczcrEr0VxbHPYWi12C5nY5N4twm8zoVf5c7dyIk4iAX2K7xmFsfdDMK458PhpADToExMx0CkNKN39kT2OQWjAaky6qxPYrGq1Q/p4v8GQqe5q8IW7PiOh+IkpBu15kmR0npiIOiQ/AVt4hQmiobakz5Gog== 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=WBmTcK+RqSH9QCuWq8eihNARXKFHBfGYJlWQasU1gbw=; b=TeaDDQV7ruEAa0uFA1PrLqxVAaT4IqSbOKKRlW7ir+2enTMl7AA8Va/a4uER/6QHhN0eduPbc/67iQj2elwn4ehZCFUyKxSsI1MffqS9pC6UD2SD16i8IHgU7N1hedFOrzuMA1xzs3fijP+9vrGJTV2j3Mb+eBc90hnrkObS0cE= Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by PH7PR10MB5816.namprd10.prod.outlook.com (2603:10b6:510:127::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.46; Mon, 7 Apr 2025 00:26:13 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%4]) with mapi id 15.20.8606.029; Mon, 7 Apr 2025 00:26:13 +0000 From: Indu Bhagat To: binutils@sourceware.org, jbeulich@suse.com Cc: wnliu@google.com, jpoimboe@kernel.org, jremus@linux.ibm.com, Indu Bhagat Subject: [RFC, SCHEME_B 2/7] objdump, readelf: sframe: apply relocations before textual dump Date: Sun, 6 Apr 2025 17:25:54 -0700 Message-ID: <20250407002559.6593-3-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250407002559.6593-1-indu.bhagat@oracle.com> References: <20250407002559.6593-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4PR03CA0305.namprd03.prod.outlook.com (2603:10b6:303:dd::10) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|PH7PR10MB5816:EE_ X-MS-Office365-Filtering-Correlation-Id: 79f489e0-854c-4514-6081-08dd756acdda X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|10070799003|376014|366016; X-Microsoft-Antispam-Message-Info: F7gF7tlaYvRt4vMcvDon4wljBhJKZUK6mz0BehetW6ilfdVLfyF4EhpleWiy/CM7vgToJRWPn1rBwBvQwLiF84sEGU1JvSj1zYkjirGMfMeKRGS+TgpF2SZAKGsZqXtai+Za5P33Xk64LQBVqDhgu2SQIXTGxSV0hfdPCGAy8l96rCUUjcAraPCbCL3/9/YtML6qq/lllyraspK9OFzDxCxJkvsyUKSzDl1sAuuMutaCpPoPTLZBJ9B4I5XfaZ2gM1CrXH0DXAety5fIZIijMJkSw+8PVHGGldMZ3Fv9cw+H1yk+cwnlyGgeurjQ4lQr+XGzD/hSy7m9QYF4Ss/msCHiNgQEtYb23W42gcIa6l7k3I0ViGy/OY3pdN8BS6iqbmQjwEoizvVSQMBfHXJKHxAJorWzFwek92pnfJmS/u5rsbRA4MxjX3u4tYPPm/kN8O/rFx35VcFcK8DukKXRYfIJMfLQf4MQDKM0MSRAIRh4BazTcYmUTsrTw1oxEEoQIh/E0KjawzoyL8qVUWtXe9KnJp1GhexvRmt1MC7Xo5bE5pEmZc3DyGW5RzfGMqWlL6i1VW9Nu0iTe5Hm7zLjy/i40ivzw7qKzb+6zdrCxFeNdtY6XpGKGjLAJA+JDH5HT75OF57SBxLwfKUHj6yd6ECU0tArk1bXMj9Fq73r7Z2I62YEhZ+oZx2MruC+D+/PGGMF6ZdcBp9vDZGGK0gEsM4c39wcipIxcVGQ6yU6kwtmZNycqoHz7ssgcgQnfM3CQaq/AFS6xmGOgTupAmliiTGCOAQBsLLQaV0JK+PJ8YtaQSyfAdl4iUGFFUXMIKRw8MsiBSm4nKta1ABITtSnoG4DI8vo9TpSLx4L6yIYci3L7F7+4G53gl1xqoI5mdEr7R84vAj6VS4Hw+0fjOT+3W4KhKlN2AF+Dg9HI6xlu++OGN/IQctd25nj2+UMRUxOuc7yfyLMk7eWM/ZltFzd1h6Pq7Ysywxph2gOd9s3xMU0HqgmUDLrpT9yNp2un/Q8gZuRQqdVgvm/uMfbXKUrnsXtCdWXA7Zg3yZZgdKnIu/XxXQze1pTpuXRwS83V6O2qNbgjDEWeJb/sk/9g5D+J5/eavvt0knJ+1zQfpqBVJRSWgI35ZSoWe4gzieB5bKL+aPZAq4UX1KbNCMFYF78sw5qVy199TtB62hTkMKOIx/ODtXMMoinK2oa5RLfXeVeQQUdJgaG6VGtgkP4dlWphiNuKne4F3XhlLcPttn/fPHCQoc7q5olUypRDUqQfS2322/qB19XZYwELp9qw/gcqYvxXAAMJTLMopKGfXn3fnj06at5QK6Y9UPh293LnLhkcf/vQVsfXVK9TlYzBcK+asXQoad0CCFtda1knI6lJdBcfFKVna9BsUnBlghowrPk 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)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6XBYhkfhi63GDAFi92arDRfOBtedxslgBPPL+XUA14gb0YyUALlciFZHCO6ijHUKRcAIuAPRWl+mwwMlMeOuOlKegmz8tBsn8JcWI3M5uEOmo3rb3Y5/wb7V0FwuppAxbejzL6XJAaTTbb71pNfuuGaTmx3z+ovrUp6NQF5JlwXHRrnlO6MZXwMxUm8KiPSbiHgELbel9yQa7aO+QmGeDpq2QU18QBo5HUslbvZG6rEFgtmU5b9extXqCYtlXA3PXX6yitDO5U3Kvm+OsSav7ZdcqgRJOCI8Ysa2BRXniOFDm0QscG57v7H2bByBaUE2iwwaLuBj91y67sUxPpSylhXnoyYhTJPdsZENntgDoO+0OugVCV/gg2rdzECDjT7ENVrmX5D60LCE7aLKfaTRBPCtIiXJxi7DTrLtyM+6K0nRsr0MeHXMAKY73Pgom+S4tJ5z4dGWYPjROhtqeVA8gEkim5NZpvsHRK9QXhBsIYUCKakfySQ1jUdqnGJC9Y0gShJr6qQiG6MLxH6AwJeKzkpOgomTajBC8UHriW33CfWOZYPsjmq3BuJfNikXRS1ksCBt9Ul6ZunZptmKPLyQ7H+83Kq9jSz0BP+56M9cr/UD3BEILCkBOxjd0CMF44GEhTkwwwGkf8liyRVyehD4hX6VazlCO60Eal4EU7c1gN8yGmMKTfy6lJaW6YiGGltfpFqCVNtfYAcZU4IsmbMmbVLuvl7f5XyPyYxvSPis8mmZFM+YeHq+ncHOLwRAuyf1nuArXUFfl2KePWS4voALTRYkkW9JKRrwf6HiPQ1Q3UIxrrK3ZGpsFbAjxVSrf9GlhW9i8A6jNrbt31O+6vyg7Ss4zrdlMdz2ZPGkmu5Ny3tARHRrEvHcoer+RfoTpGlVJP5WshBIImC0n3GK9D+f0IOzy27a6vFfHNqnYYGuBtqSPWDhzdEgUL+S3EiRnVfo8DE1uNEJ3GxTBvt+PVka13ql5kvOmdcLh6Sug3INPKuJYYjY9Y1E9GxGYFZPrNgAtIRtASOdgJrp9xM8Keum/xgmmDX0X9FP5W/gMvD316KX6sLQ6XXQ0ztxSZe+BEhuKQqnIjPzHDELZhjkIqykEqy1VfPlNMfHluMwNfHvJ7OkB8EQnlfrBdd2nEBsSXGGvdxMElDtnOskM6iL6R+EvYNWW5W+41GbkBbcFLuPemMxdPeA9mKAx+Xlu/OLPWtYwK0l6bvzx7gns4YF7nZDmNCxVYB35q7IQpkh5ioFgy7MFoLAODv5K4r4q6Vy1baJQPyOce4j7cT2QvyHyh7AMzNri2OkM2uMjp2xRqgnNgnyM5sZVTGFnsEzjFJFx23I9ms2GeThDX0VWelTZcSC/r91l70S54fryp7Sacx/O2oBLjf+F/y4U2qZ3YChoZoAYg9kKm0h+O/qCNQd6m9zniu0im9PGj02kkmNFMjRYW9GPvULv5ogoEvMjkHhb70XooDVf+gr1qVh5NaoMsBJ/TKBJ/whqEbOuBbvlkY10pmzvG2VWBSc+9YCAUurIJvpP8X9zpY/YxxzTASwymz7fj9JtQZHam0eU6zwwx/OA7L9nKF54B+QJD2Us839a6nchFUQwY9dwF54mS/mxxfk1oHJZ95YLd7C3E6YjFO1Cno= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: BXaVGy8Ii3dMpwdM+/ABegMowM6y5JnGtM42b0cXK4q5eoCKUHhVIjG2KzFE9VSkSAxopKIJRiyIU0NBR4Ah4aDDwmn3RsrkHyYVO7lal5wkCJqAtbIlwhdVR/UDlxZSq2jx4THZCnTLDTQMlTHIKPpybqR/wEtH1bY2deoG2Mj3frIsQ+g22kBm8/vLn59QBJndZaBoE70hPjBprSyKCf1qXMf3At+PxcHOG29Ccbtbrca7lUCLZpvKiHajIp01RrDxhcyNRGegv+57msvQv1CT1fLwW8fuGBtpaS3bx8VPvov4MZQoCPxZc4Z5iGK5ZHZnEztbmvsJn33j9Q1VReD58cwq05HfEAiq+mnbCIneIk6fXhMBEqlLFiQdZX9ERTUe/AqIYvvQuw/cNArr2lhUsLoqCb1T+Q+X2PsTNuLH6L1bAQQP18f8cm7EbVfY/LsWJ/tpjn0h18FN0XdiK+r4tJisDbi1+TGunk/iPTBAY8pvP8omYvtESw9eltVXssWwVZByvgQeZbWe/6xT1Lo8EleH/FoV/SQHOcLWMt1KQ9PxW9+Trk6zbS395YYtm8FXgwJ46NJ9iNGDM1C7Hm92RHjv3HSCJIVyJuZx2Sw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79f489e0-854c-4514-6081-08dd756acdda X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 00:26:13.8133 (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: +hbyTHnCzCBqnvQXTAcuJz4N4Ld9KkUCJrMt6KNrHYVSCJdMIPwSgJc/KXXmoqcZ6/da84OBGHTVGM7sEBSpYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5816 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-06_08,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 spamscore=0 suspectscore=0 bulkscore=0 adultscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504070002 X-Proofpoint-GUID: MLFB3fRRacdWCib8CGXcL5aRzHthwL_B X-Proofpoint-ORIG-GUID: MLFB3fRRacdWCib8CGXcL5aRzHthwL_B X-Spam-Status: No, score=-14.5 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_HOSTKARMA_W, 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: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org PR libsframe/32589 - function start address is zero in SFrame section dump Currently, readelf and objdump display SFrame section in object file with function start addresses of each function as 0. This makes it difficult to correlate SFrame stack trace information with the individual functions in the object file. For objdump, use the dump_dwarf () interface to dump SFrame section. Similarly, for readelf, use the display_debug_section () interface to dump SFrame section. These current interfaces (for DWARF debug sections) already supports relocating the section contents before dumping, so lets use that for SFrame sections as well. When adding a new entry for SFrame in debug_option_table[], use char 'nil' and the option name of "sframe-internal-only". This is done so that there is no additional (unnecessary) user-exposed ways of dumping SFrame sections. Additionally, we explicitly disallow the "sframe-internal-only" from external/user input in --dwarf (objdump). Similarly, "sframe-internal-only" is explicitly matched and disallowed from --debug-dump (readelf). For objdump and readelf, we continue to keep the same error messaging as earlier: $ objdump --sframe=sframe bubble_sort.o ... No sframe section present $ objdump --sframe=.sfram bubble_sort.o ... No .sfram section present $ objdump --sframe=sframe-internal-only sort ... No sframe-internal-only section present Similarly for readelf: $ readelf --sframe= bubble_sort.o readelf: Error: Section name must be provided $ readelf --sframe=.sfram bubble_sort.o readelf: Warning: Section '.sfram' was not dumped because it does not exist $ readelf --sframe=sframe bubble_sort.o readelf: Warning: Section 'sframe' was not dumped because it does not exist binutils/ * dwarf.c (display_sframe): New definition. (dwarf_select_sections_all): Enable SFrame section too. (struct dwarf_section_display): Add entry for SFrame section. * dwarf.h (enum dwarf_section_display_enum): Add enumerator for SFrame. * objdump.c (dump_section_sframe): Remove. (dump_sframe_section): Add new definition. (dump_bfd): Use dump_sframe_section. * binutils/readelf.c (dump_section_as_sframe): Remove. gas/testsuite/ * gas/cfi-sframe/cfi-sframe-aarch64-pac-ab-key-1.d: Adjust for new output. ---- Notes: This patch is the same as that for Scheme#A RFC https://inbox.sourceware.org/binutils/20250331185205.3755087-1-indu.bhagat@oracle.com/. The next patch in sequence ("[RFC,SCHEME#B 3/7] libsframe: process FDE function start addr before dumping") shows the diff necessary for adopting Scheme#B in the current patch. --- binutils/dwarf.c | 35 +++++++++++ binutils/dwarf.h | 1 + binutils/objdump.c | 59 +++++++------------ binutils/readelf.c | 50 ++++------------ .../cfi-sframe-aarch64-pac-ab-key-1.d | 8 +-- 5 files changed, 72 insertions(+), 81 deletions(-) diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 08bb623e405..50e8d480716 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -30,6 +30,7 @@ #include "gdb/gdb-index.h" #include "filenames.h" #include "safe-ctype.h" +#include "sframe-api.h" #include #ifdef HAVE_LIBDEBUGINFOD @@ -102,6 +103,7 @@ int do_debug_str; int do_debug_str_offsets; int do_debug_loc; int do_gdb_index; +int do_sframe; int do_trace_info; int do_trace_abbrevs; int do_trace_aranges; @@ -7678,6 +7680,37 @@ display_trace_info (struct dwarf_section *section, void *file) return process_debug_info (section, file, section->abbrev_sec, false, true); } +static int +display_sframe (struct dwarf_section *section, void *file ATTRIBUTE_UNUSED) +{ + sframe_decoder_ctx *sfd_ctx = NULL; + unsigned char *data = section->start; + size_t sf_size = section->size; + int err = 0; + + if (strcmp (section->name, "") == 0) + { + error (_("Section name must be provided \n")); + return false; + } + + /* Decode the contents of the section. */ + sfd_ctx = sframe_decode ((const char*)data, sf_size, &err); + if (!sfd_ctx || err) + { + error (_("SFrame decode failure: %s\n"), sframe_errmsg (err)); + return false; + } + + printf (_("Contents of the SFrame section %s:"), section->name); + /* Dump the contents as text. */ + dump_sframe (sfd_ctx, section->address); + + sframe_decoder_free (&sfd_ctx); + + return true; +} + static int display_debug_aranges (struct dwarf_section *section, void *file ATTRIBUTE_UNUSED) @@ -12648,6 +12681,7 @@ static const debug_dump_long_opts debug_option_table[] = /* For compatibility with earlier versions of readelf. */ { 'r', "ranges", &do_debug_aranges, 1 }, { 's', "str", &do_debug_str, 1 }, + { '\0', "sframe-internal-only", &do_sframe, 1 }, { 'T', "trace_aranges", &do_trace_aranges, 1 }, { 't', "pubtypes", &do_debug_pubtypes, 1 }, { 'U', "trace_info", &do_trace_info, 1 }, @@ -12806,6 +12840,7 @@ struct dwarf_section_display debug_displays[] = { { ".debug_weaknames", ".zdebug_weaknames", "", NO_ABBREVS }, display_debug_not_supported, NULL, false }, { { ".gdb_index", "", "", NO_ABBREVS }, display_gdb_index, &do_gdb_index, false }, { { ".debug_names", "", "", NO_ABBREVS }, display_debug_names, &do_gdb_index, false }, + { { ".sframe", "", "", NO_ABBREVS }, display_sframe, &do_sframe, true }, { { ".trace_info", "", "", ABBREV (trace_abbrev) }, display_trace_info, &do_trace_info, true }, { { ".trace_abbrev", "", "", NO_ABBREVS }, display_debug_abbrev, &do_trace_abbrevs, false }, { { ".trace_aranges", "", "", NO_ABBREVS }, display_debug_aranges, &do_trace_aranges, false }, diff --git a/binutils/dwarf.h b/binutils/dwarf.h index 3419027ac1e..6f693b1eac2 100644 --- a/binutils/dwarf.h +++ b/binutils/dwarf.h @@ -102,6 +102,7 @@ enum dwarf_section_display_enum weaknames, gdb_index, debug_names, + sframe, trace_info, trace_abbrev, trace_aranges, diff --git a/binutils/objdump.c b/binutils/objdump.c index 8fdbe03c4fb..343c5530c1e 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -4981,44 +4981,20 @@ dump_ctf (bfd *abfd ATTRIBUTE_UNUSED, const char *sect_name ATTRIBUTE_UNUSED, #endif static void -dump_section_sframe (bfd *abfd ATTRIBUTE_UNUSED, - const char * sect_name) -{ - asection *sec; - sframe_decoder_ctx *sfd_ctx = NULL; - bfd_size_type sf_size; - bfd_byte *sframe_data; - bfd_vma sf_vma; - int err = 0; - - if (sect_name == NULL) - sect_name = ".sframe"; +dump_sframe_section (bfd *abfd, const char *sect_name, bool is_mainfile) - sec = read_section (abfd, sect_name, &sframe_data); - if (sec == NULL) - { - my_bfd_nonfatal (bfd_get_filename (abfd)); - return; - } - sf_size = bfd_section_size (sec); - sf_vma = bfd_section_vma (sec); - - /* Decode the contents of the section. */ - sfd_ctx = sframe_decode ((const char*)sframe_data, sf_size, &err); - if (!sfd_ctx) +{ + /* Error checking for user provided SFrame section name, if any. */ + if (sect_name) { - my_bfd_nonfatal (bfd_get_filename (abfd)); - free (sframe_data); - return; + asection *sec = bfd_get_section_by_name (abfd, sect_name); + if (sec == NULL) + { + printf (_("No %s section present\n\n"), sanitize_string (sect_name)); + return; + } } - - printf (_("Contents of the SFrame section %s:"), - sanitize_string (sect_name)); - /* Dump the contents as text. */ - dump_sframe (sfd_ctx, sf_vma); - - sframe_decoder_free (&sfd_ctx); - free (sframe_data); + dump_dwarf (abfd, is_mainfile); } @@ -5840,7 +5816,7 @@ dump_bfd (bfd *abfd, bool is_mainfile) dump_ctf (abfd, dump_ctf_section_name, dump_ctf_parent_name, dump_ctf_parent_section_name); if (dump_sframe_section_info) - dump_section_sframe (abfd, dump_sframe_section_name); + dump_sframe_section (abfd, dump_sframe_section_name, is_mainfile); if (dump_stab_section_info) dump_stabs (abfd); if (dump_reloc_info && ! disassemble) @@ -6304,7 +6280,9 @@ main (int argc, char **argv) seenflag = true; if (optarg) { - if (dwarf_select_sections_by_names (optarg)) + if (strcmp (optarg, "sframe-internal-only") == 0) + warn (_("Unrecognized debug option 'sframe-internal-only'\n")); + else if (dwarf_select_sections_by_names (optarg)) dump_dwarf_section_info = true; } else @@ -6345,8 +6323,15 @@ main (int argc, char **argv) #endif case OPTION_SFRAME: dump_sframe_section_info = true; + if (optarg) dump_sframe_section_name = xstrdup (optarg); + + /* Error checking for user-provided section name is done in + dump_sframe_section (). Initialize for now with the default + internal name: "sframe-internal-only". */ + dwarf_select_sections_by_names ("sframe-internal-only"); + seenflag = true; break; case 'G': diff --git a/binutils/readelf.c b/binutils/readelf.c index dd1871d8c75..e902c744177 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -6538,6 +6538,8 @@ parse_args (struct dump_data *dumpdata, int argc, char ** argv) dump_any_debugging = true; dwarf_select_sections_all (); } + else if (strcmp (optarg, "sframe-internal-only") == 0) + warn (_("Unrecognized debug option 'sframe-internal-only'\n")); else { do_debugging = false; @@ -6583,9 +6585,15 @@ parse_args (struct dump_data *dumpdata, int argc, char ** argv) break; case OPTION_SFRAME_DUMP: do_sframe = true; + /* Fix PR/32589 but keep the error messaging same ? */ + if (optarg != NULL && strcmp (optarg, "") == 0) + { + do_dump = true; + error (_("Section name must be provided\n")); + } /* Providing section name is optional. request_dump (), however, thrives on non NULL optarg. Handle it explicitly here. */ - if (optarg != NULL) + else if (optarg != NULL) request_dump (dumpdata, SFRAME_DUMP); else { @@ -17101,44 +17109,6 @@ dump_section_as_ctf (Elf_Internal_Shdr * section, Filedata * filedata) } #endif -static bool -dump_section_as_sframe (Elf_Internal_Shdr * section, Filedata * filedata) -{ - void * data = NULL; - sframe_decoder_ctx *sfd_ctx = NULL; - const char *print_name = printable_section_name (filedata, section); - - bool ret = true; - size_t sf_size; - int err = 0; - - if (strcmp (print_name, "") == 0) - { - error (_("Section name must be provided \n")); - ret = false; - return ret; - } - - data = get_section_contents (section, filedata); - sf_size = section->sh_size; - /* Decode the contents of the section. */ - sfd_ctx = sframe_decode ((const char*)data, sf_size, &err); - if (!sfd_ctx) - { - ret = false; - error (_("SFrame decode failure: %s\n"), sframe_errmsg (err)); - goto fail; - } - - printf (_("Contents of the SFrame section %s:"), print_name); - /* Dump the contents as text. */ - dump_sframe (sfd_ctx, section->sh_addr); - - fail: - free (data); - return ret; -} - static bool load_specific_debug_section (enum dwarf_section_display_enum debug, const Elf_Internal_Shdr * sec, @@ -17706,7 +17676,7 @@ process_section_contents (Filedata * filedata) #endif if (dump & SFRAME_DUMP) { - if (! dump_section_as_sframe (section, filedata)) + if (! display_debug_section (i, section, filedata)) res = false; } } diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-pac-ab-key-1.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-pac-ab-key-1.d index 599d4c4e795..7e3fd8ab622 100644 --- a/gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-pac-ab-key-1.d +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-pac-ab-key-1.d @@ -18,10 +18,10 @@ Contents of the SFrame section .sframe: 0+0004 +sp\+0 +u +u\[s\] + 0+0008 +sp\+16 +c-16 +c-8\[s\] + - func idx \[1\]: pc = 0x0, size = 20 bytes, pauth = B key + func idx \[1\]: pc = 0xc, size = 20 bytes, pauth = B key STARTPC + CFA + FP + RA + - 0+0000 +sp\+0 +u +u + - 0+0004 +sp\+0 +u +u\[s\] + - 0+0008 +sp\+16 +c-16 +c-8\[s\] + + 0+000c +sp\+0 +u +u + + 0+0010 +sp\+0 +u +u\[s\] + + 0+0014 +sp\+16 +c-16 +c-8\[s\] + #pass From patchwork Mon Apr 7 00:25:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 109942 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 2C91F38515F3 for ; Mon, 7 Apr 2025 00:38:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C91F38515F3 Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=VOvco86O; dkim=fail reason="signature verification failed" (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=x37/5330 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 1A4513851A99 for ; Mon, 7 Apr 2025 00:26:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1A4513851A99 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 1A4513851A99 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=1743985604; cv=pass; b=C3clvEqnuhic8BBle53N6mfAPwR5A7ZReYBsbUiDMArqDrjKPEnSv4eTHZSaQWheq5FAmcoDyVTtk5OJl0Z/UVPlGjXsyc+ijZ0iMf2L9BbyWlsCaLUueuerdFO8Gc4F9by/r7TjLz4UzONuPYr7Sz9umdfStTqfn4MqL1W8e1Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985604; c=relaxed/simple; bh=yRmFbiJDXqdSn4k2MNEFXTeDqF89qeUQZLsZPD9BTus=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=ggwgsb3VrT7waQV33DoQeNcdH1BIs8gklY7cKm1aimEqFebU9PL409XAFBEBiwBLTAPmIMe/Lc/rTmaoFTmNowXy6SMIdlhCTw5KVDa7vwzS9sA6faXH1UANDttoWpJCv2aNjfYngfDqZzaIFSaJC4y2YKHIPo5E6ajRjL98SRc= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1A4513851A99 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 536M1eXX005919; Mon, 7 Apr 2025 00:26:32 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=6cmVxN6vlycgdTRw2f4VcD6MNUAo/1DdZslFFinHDDs=; b= VOvco86ODplVKtOrxgbJiXxKSCCTFcM/nXcTvkwSAkKJojPaDBYdL1srTVyDipF9 QigivlUwBSOIQua0EFlUqx+D3GWwwdLpG88FO4xPwyIukUB21gfp0jlVFehpJjM1 k3eG+spoasE5R+Dsyyk0ri8xYa4Wjwo4r35La7VZLIqj6jH4sWxX9Nc7jnBCqhl0 l6HAIOSTGhCh6j2i/FclYdNCQ8Nk4SiOo8OcwDlXtR0wbA2bwF0+q5mxiZyslD4L xil+OyQbHPw4FGWf8Tp6jUIe+Z9cTebcw1sop0ghOxRI15L1u82o1Xx7hOHDiyCq o2k7o/3AqEco0kOjzB3ICg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45ttxcsjm3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:32 +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 536JjKew022282; Mon, 7 Apr 2025 00:26:19 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2043.outbound.protection.outlook.com [104.47.70.43]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45tty7ucy9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UT4DAJXbUSiWYsqV9Uqb7MjaK1rdCkHSWem113rNpYShlaPb9wavcVFDn5MXrC1V0N2auc4CqitvQb7xBOL65Sj2SG4OBcTSD7+pFmNJaaGlz2nlLLfDF1qUexGlszIxjyDWk3aHBoOwaPYKA9+SVbqIiBIU7jqdQvcZBT74Ov1VheBkbmVNV6gUEbG3idVPYmh3kCwLZhOkpY+3lFbFAXk1rdrQ04a0yzmoIFw6+xlgghynAC+TwLGAQACaQYR8eFLlgOohdl0p40nMm2jnWA8ZHZbviqLo35KM3EwN3KkQ6BXpOfGODFqb/7SKHRfkVx4707qUF37AyHZ7W7kFNQ== 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=6cmVxN6vlycgdTRw2f4VcD6MNUAo/1DdZslFFinHDDs=; b=Ggjj/Y+ay4Bxg1Wsij8Ds92tuQnjLgILLTVab1zoLSeQBmrfJuV26A4MS0Zh7nSwzgVYJ39ASl2bz3puB0efMrw8Nba9ErTozSzzNOQ0ZVH50PRBA1mHleMyStv2DbMhBvtXMEH8cd4QoSQUvF2Ev7BoSCzF3K4U+DJFT92rDyfRvOfUUB9E2T7QR9uGPLzXnIyyXb+OmjLq5uis9f6vKdZYAnl1FduFA6k+cqdVizvQqkOk+pUhpLaUVJWtdTBx7Ej6qiLhtxw+35awsZzPhrK76chClgYZdkQRks/8zV4+mG0TuA8l6hwb1IC5uRnlCm+Zd0XoUqyU586VqV2T1g== 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=6cmVxN6vlycgdTRw2f4VcD6MNUAo/1DdZslFFinHDDs=; b=x37/53301vL1uZJ9ocmVKJ2BfHjMqP/xidM/YWzg5hvQdRkzv7onPPwaUom+xtrngL7KRggcRLoVyGETnpNDRXvsS7zevryyJsdmNd/nN4w8ujHKH3zpQtLyacLtd8DIjdppIx18vbPxp1grii0RSH6Xj4L0uCknf58e61EbuPI= Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by PH7PR10MB5816.namprd10.prod.outlook.com (2603:10b6:510:127::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.46; Mon, 7 Apr 2025 00:26:17 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%4]) with mapi id 15.20.8606.029; Mon, 7 Apr 2025 00:26:16 +0000 From: Indu Bhagat To: binutils@sourceware.org, jbeulich@suse.com Cc: wnliu@google.com, jpoimboe@kernel.org, jremus@linux.ibm.com, Indu Bhagat Subject: [RFC, SCHEME_B 3/7] libsframe: process FDE function start addr before dumping Date: Sun, 6 Apr 2025 17:25:55 -0700 Message-ID: <20250407002559.6593-4-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250407002559.6593-1-indu.bhagat@oracle.com> References: <20250407002559.6593-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4PR03CA0310.namprd03.prod.outlook.com (2603:10b6:303:dd::15) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|PH7PR10MB5816:EE_ X-MS-Office365-Filtering-Correlation-Id: ef6dd64b-ffef-494d-2779-08dd756acf68 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|10070799003|376014|366016; X-Microsoft-Antispam-Message-Info: k4Bb/5hV71I8O2UTe5IlRi4muKGImvbMvLIAFMBe4k0uyKbmCSj2JxGlqS67BuxBSxQPaNkZoNpRTBElxVkcDfpcUYOZkxcZYQaSARpyfy3L4vlHWKDYrsnV83p42RM9t5w8+1ZcciqwrzN0asRf8W54sEF5t2p10etKRrAqXPsY580BjMl6zM5CV4xB/Aai+fkx23p3PtBBpB+EBtlLcw74XviSxv4gUzXQ2EKkhbKaH03/qtRVhD2q1IpA/UCbC3kWc/GUJj/rPZzcmoBwao0mT95TdBYkEo7fDfPTumznsUsmm3sF44FTU4KE3RU5bk3GMzrLfF1dH1PkOnfznAf3hiAQuRKHn5U261KYiKw7espTySIcaPMTMhqhXqTx4wcecVJHSxghT3ju2JnSt+EFK38QdNlyYAIhL4aO34xieGD8YgiXF44ZNmi0xbj8o8BCeUrxQJ5ir6yqtkEMXCKI7j8usOaOn+oyAZHuWWtLOwhblA7HLThxRP10PlNn9Ktoe3dNjWYO9qGaRtB5wmso5FAvc5VgIb7NGtQodQKMw1RBnawo4oraIiWVxj/IBD2TBvdjNWfoHro8oCwu3VVzpR5G3aoNQOqLdM8PxKE0e1Joeu+A7GxdkNO24Oi0S86CtqvBf8e36P8SbPK8RDl6DYj7k71M5JkCnD314A+gbx8jHnM2paJftChwwSUOcOk4JBRLtCRarU2J541P8iIwHQDKmMZ/fsj9+1QarlXik6N1ZVpQTKF5myTVBpvpmFzaj7FYVcggO3VdpnPDmeRWFEnex7x+BuLOrALKqbv1OuepuTUhbLuHQGxSnimiMGxbesTENwjq5veXVvP5p66cIsgzbL3EgZF5C7mzjtNe+hSBL1qX1nMGhrBCmLRVryRculPiDhIHnSRdQtvQSH2pqa0ILnprjWBNipjR4w8Tl/OOaaJN6DHjllE7Q4oskuIOobtTgitBMtcxgpJhz+SyIGvPJXrBlBHQV3XbYXBMlgSO+eWhxp4/xejMZt3/ZYGgXKU9Kd0Mya73aLLfytvt3nvSSocDMjZhKoW3fOqHg8JHv021yuWQTI55bkaZpo8CDx5SOy6l54yKBq0AjHGHW2tLrLn7m8cdYGqN4pX+dPRkgnXPRjb+22jUNYd2NGa+QXNtx/vyOwdlMCtujR2Ovtgg8CjrsplzBCLZxrD5i1lgR2dkChHLxolXHplqf8Ny7TrX6yvj1yJOZ/+QrRKsE3vy1h1c2GTNpJ6bLpEEpKSidfZXq7lZCUg2I4W5ThPeDWx1VuTnYfQ8lNLoMvPlNSlRaLa3T/sd9bKBnqvZ6GCUJCgwVNb3qhYB7ZDYnY8U66FxStjL2bZP/r2XyeOAojU7oAHU7XCvOJ3GuyCyp4BNyObkWv6FH5hzuGPn 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)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RGMf4WTL/aUcc5hfsxRL5bh015CcuZRvykkGNlKiwza79D4xkdqMwtt+/hUwWo3jhGWz44RHWnXA7mETDbW2zdTC7o1bSbXc5zsbYkjAyQKF3nZA2JAoJW21BkT3aNqk2ITrimLrew+IWxWkwI6oXVznOok7Tb2UogiNxi2CqJCUaQevhMmFuWukouOwqDdlpoHDlyWZG+IuMMREBrnObyIaiKZJsEqtctgWoAIJG6E8/Ya3vRSdvOLpgL4w9eeBYyMKp4jQioaHZDEstMka55+cbt22DlPU+3gCDIBvG+QepowRV6bVl13uRfAPSYrYzJ7o+9i9UX2ptDT1o2pnILNQSs7cPLUAo87MiE3IFGo1/DkmjhX6Qdw37kIJrkO1ztR9hxGugQyUZ+LhowC2OH/iyRsbGfR466ywN3WZn/q7HMUENcpLBXCNfp95YjPwI+cIcPjc5zI5ZD9+k8pCwL3e6neYTeom+3CHQRYtMgmbi5YgjiI/DqqexBmzabATtNxUdG3inQ2YfrnKjMrFqDJQm4RocaJD9n0O8WQWYGRCG+A30jBwbHKmY1nqd3hG+sH92gjJcuSIk46o/dt5FUPNYVDMqPUAZY6PDnKY20MAK/OQN0zzPfaCacVwUzpUNco2hqzj48KUXoIGqeq40Ag4Awlx69pBYK7p1elzSzKBSFwujvcubWy1EuI0MoWx3W1pWgYCyASBaWnmTtmhMT64VXITVkFZNJ2hkkYzdOuxRtDwk/XOFurClCobAhnDJLNzDSAk9ZzdF+L4RcAg+amZOyCGlAs26DE2B+0OztlsjZ99c2B2k4Yx17ZDvl6fYio6bjuu9OXIIAr3Ozs0D/Vf5zWNuc7DjOYG8G6rJ9A/Jkqe5EDmr+ffGxEMhSJt6AQHAG83K5LhdtBvtGp02jSjJhc8McN8HH0u9oPvWJgxQk5g+pXO1On8o2ROteFq/jHkuPzjYwACJfyIeRULVTDhLiBC2dKeac8j0eOXDTsTOZcNwRW57ZxgQy+fDPIigONwQN/kXx3cJYa5I4LET9Fbpm9+CBz7dFIjJfmFz10zyEMjKFXAxucxtTjw5G7HbvQcC7KVCEs5Jqesh+7JZ7GmI/oOjNWbZ/sBDkBcYO/viUBBzJPx5ulHnR1xHUHd/AR1FXQxu9Uz4S5GXGogP7LUh0LNlzpHgJ5wroavsSBwnZet22Kyv2tOQ2wxk1BDGI10k2Un42tQthN8vMVk1XGlHKcyGg/BwX86Dt2WvXR7gbgyIW6XGnKTi6ppcRgm2nylwq49TmDAd/wdpqkt5SZOXt6jq2mI/PzdGicC7NcB+P117OINAhJYlhgqhDW682ZKWEyKur7aTMFnhZ48fjZy3fPyKks8koY3ijKZiDUZWhxBTqNsAT5I3nlrb0CQmtYLq+beAGziIaUO0/A9XECSD5taZeUP1/5yiJIQqcC+KE+erNBm0RCtTHjpckv/VNTlr7BlzCv0uWvvKh6sI2erQkKBm9uSTwIlvSvvZIMhXQbubSmH8BL1Uzx1IX/5mA37/RrfFrCaXb4W9A6dEI5o0TVUKymRF3M3Ir2EaGk6mxaLf0k648hiBIrKQaHD54AWS6nk3J4BZ7pDnTj5r5orVlkxzDDtss4lM6WSvxk= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: kMsM514UHlDRYbfky9dfd3ZeIEMGdjlCsM4MvMADXgtInQHbVkBH3hOZYseLSwZfc1HUo21GdpNi7vdpHxqPn6LzujOVM1Adyl0wUlNrT+oXHkQdyAKxR7ap8K/nPALiqAoF/KuZ96madhposKHYGc1yZuGln2Mvb6j4Y4nWtf2cPIdL3EEuvn0oSK7UedeeFm3sMRS3MA2O4HsyW9RWFoqZ4jb4PDVCHcdsJHQoTF0boIn0gNrkjzscBRYnuqVYdSV87cHHbMg6SSoR9cHiLMU4wkFpuGXtsWy6a+DmUqnTNHTu7XyoBEnzgnrDM+mxzWJ6g8tOLf3fPlm8s0jbqJUGDfHBIO0LRVsP3CDN6HKaCeUyj70UK2EPt80oBcYtIekeWNeMiQ8dyUJy19S9NOEpC+icN7/8+1AJ4/Yo11nt3WE30cVZQ38RltW+EKOQjwxfF6uv2Zb7GmHBAHlnMKIiwkOeJmM5zDqKCrC15oh8wgMdASUWFvR3/mA1MNyBY+nSgdGlnIsDfvKjqE/yGX1taSyTbNG63TVDar7NmXGr1bj+vbY7osef4VvqrYEuz21GzB/0oyHggWhyzoVAUhZ8f5tLdtlXQLP9R05CALg= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef6dd64b-ffef-494d-2779-08dd756acf68 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 00:26:16.4635 (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: 0eqS+iO1cXe+l1txfcyyhmZqHJ3Rk0ZB9iO0v1vpR8+16iQkkWQuw6qoviB5Mg2uXUcNsFKZ9BEAIs0c2XOuJw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5816 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-06_08,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 spamscore=0 adultscore=0 phishscore=0 malwarescore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504070002 X-Proofpoint-GUID: KzUzVFmnbPJLkKs3M-HSiRROi8hpsz4X X-Proofpoint-ORIG-GUID: KzUzVFmnbPJLkKs3M-HSiRROi8hpsz4X X-Spam-Status: No, score=-14.6 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_HOSTKARMA_W, 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: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org (This commit will be merged with a previous commit in the series: "objdump, readelf: sframe: apply relocations before textual dump". It remains a separate patch only to aid reviewing in this RFC series). As SFrame sections on-disk and in-memory use the new semantics of sfde_func_start_address encoding (i.e., function start address is the offset from the sfde_func_start_address field to the start PC), the calculation to make it human readable (i.e., relatable to the addresses in .text sections) needs adjustment. ChangeLog: * libsframe/sframe-dump.c (dump_sframe_func_with_fres): Adjust the function start address for dumping. --- libsframe/sframe-dump.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libsframe/sframe-dump.c b/libsframe/sframe-dump.c index 1fa508d9bad..9f411a67a4a 100644 --- a/libsframe/sframe-dump.c +++ b/libsframe/sframe-dump.c @@ -130,7 +130,9 @@ dump_sframe_func_with_fres (sframe_decoder_ctx *sfd_ctx, sframe_decoder_get_funcdesc (sfd_ctx, funcidx, &num_fres, &func_size, &func_start_address, &func_info); /* Calculate the virtual memory address for function start pc. */ - func_start_pc_vma = func_start_address + sec_addr; + func_start_pc_vma = (func_start_address + sec_addr + + sframe_decoder_get_hdr_size (sfd_ctx) + + funcidx * sizeof (sframe_func_desc_entry)); /* Mark FDEs with [m] where the FRE start address is interpreted as a mask. */ From patchwork Mon Apr 7 00:25:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 109940 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 6D27438515DD for ; Mon, 7 Apr 2025 00:35:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6D27438515DD Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=KZjIgiEb; dkim=fail reason="signature verification failed" (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=Fk0uYoTm 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 70F993851A96 for ; Mon, 7 Apr 2025 00:26:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 70F993851A96 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 70F993851A96 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985602; cv=pass; b=euc9OyX4GjvvtBpyQtQQfBbd4IoC6ZsS6ZUdWQV4faNVkFzQpfjMRUHBFQfEURXR/Eyxjk+NhK54z7URFMmgK7/1QSb7t5b1C907kk45aSzIIyZIi9vObny3LkRIPNR1lUovS/51XG2iXtnB/MDrvrsEsZVYtbU5O6KteV1m7z4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985602; c=relaxed/simple; bh=XAzOIoKTbyZCSlZcXWzfKr6/8Al+OFxrLaa+jCyfCmw=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=p+uZVRA8uAZQhnYYX4ygZKoJPR0J0p9zm/bELabTOHQBrqSQxXTClDP0QksDdZO+WwhuK5eG7p89P4GaLpL0YSNpVOc9TRgepbHK8FKZ/QChfkPi4/zO1Z7+r8+1og3wMjj6lG1emL8Zl2Tndoigk9GEt/fd07yJw5O0qQ5diAs= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 70F993851A96 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 536Mmr3D007635; Mon, 7 Apr 2025 00:26:36 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=603LlLyafRtxNqdo7COpPmOvL+B1u2LXj6r+3jVeFQo=; b= KZjIgiEbyGWt20TBgLF0YIwFC3nn88jJGQwp18G5oMmpvdEbS0SmuYUrjUOdbu3n Gu68HtrzMiM6hz/C4rhnTBMoQWMHOEGXAhYlY7e5X4JKUjqMPGCg6tGOMbh4kyG9 IqoVmDQoPKY0EBxYqwDtpqozDIxUjvY8uPffuBuRJeZ1gAukZtjTJSDkGlwydEck tHpU0TcrxOXUOT7tKj2S1vjJc0SBJRk2U7XR8iFTF9x2zpPFl0IIpdhfqom8c8dC F9h93MNpfAVBVS5bW5PHxq7zC8L+q6ncVpk4M1usiHoQ+RVN5JFzJMRw/OD8149v hkkIqLgPSX9q+Lk1wVRZcw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45tw2thhfk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:35 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 536LEmT0021102; Mon, 7 Apr 2025 00:26:21 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2049.outbound.protection.outlook.com [104.47.66.49]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttydbn8k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Nj3YxcNnwJVOg4ifZHCcfhwct+ETPRZHvsFKxLSawZPcZBjPO7uHkIRawdv8YPj+m5WZMTiqnTJThqSOWaldw1KJPgNUtVzNlhhP3cF7nk5mijJUl9q0OmZRLpxHBvYT4Z38oq6pp1zXCxaltqqct7WkSGZlg9AOWhz0LiymJ/H42+cHtFyd4CzxWVzrSrqy3HN46v4uoeyZt51am9echDTTZ2ZondyKuGSZuJXFqi+AO0nyLgej1Hm4qKHo2oPVA0P5lbMNZB6mBPDOvzYK2XXYPm6c6egdrb5en7GA34ZR5TjvG56vrbSrFWeKOIwH0ffcppP4+dn/ewTnO8U+GA== 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=603LlLyafRtxNqdo7COpPmOvL+B1u2LXj6r+3jVeFQo=; b=PZsFtzNoT9PhSZIarKdiC8RqMsKcPILOmN/QGwXNq5Fc5uVqbOOaHH0PDQeKaBYBr0pJPdRUIWddy3IuHRw1M2Dp8am9yUM/vXrKFFJbmV2jkwToMBi68SY+yvBa7TS0pdE+juVKZvI0xKnC7ec8yiI07Lvsj0ALma64d13MHO2duwWMWyccgPuDC7nk8vy6kWC3T/1UVKE0/Ojv2S1UPsuFlka53vI6YYka0TiXwj/fg/zL/MNDAVnKjMRZqAv63yYMrXW83wpc47+zTO0MFhtCwnY0tXYFNcSxOQ7TbPzXaaoUyY4DxTPNhKr1bdSfyPehQ2yQXVmLGpWwU6OVlw== 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=603LlLyafRtxNqdo7COpPmOvL+B1u2LXj6r+3jVeFQo=; b=Fk0uYoTm421FFlrxlBrnDgHvP92/abemXwPXKgilYUrBAimfJ7/isOovVW2Ilh9mPovRyyhnluKQr2Sl/bHHwVhMxRW/cNXsDAkn18CjRWW+5uRN3qSdKgJltRQ+D/NrvstZC2uKLMK3e/fxLRvJJSWFEWFFavTbQNuBoP82/qE= Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by PH7PR10MB5816.namprd10.prod.outlook.com (2603:10b6:510:127::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.46; Mon, 7 Apr 2025 00:26:19 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%4]) with mapi id 15.20.8606.029; Mon, 7 Apr 2025 00:26:19 +0000 From: Indu Bhagat To: binutils@sourceware.org, jbeulich@suse.com Cc: wnliu@google.com, jpoimboe@kernel.org, jremus@linux.ibm.com, Indu Bhagat Subject: [RFC, SCHEME_B 4/7] ld: bfd: sframe: fix incorrect r_offset in RELA entries Date: Sun, 6 Apr 2025 17:25:56 -0700 Message-ID: <20250407002559.6593-5-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250407002559.6593-1-indu.bhagat@oracle.com> References: <20250407002559.6593-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4PR03CA0160.namprd03.prod.outlook.com (2603:10b6:303:8d::15) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|PH7PR10MB5816:EE_ X-MS-Office365-Filtering-Correlation-Id: e8f35388-f674-4db4-5e66-08dd756ad0e9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|10070799003|376014|366016; X-Microsoft-Antispam-Message-Info: V8ly8syN1j0OWgbqBhWjOUfLtI/K/2AsRCVXrkdene9a0wDDspfvLD2dhochsYEtpT+5WIxRRjchD4aWnl1Z+8v+iA6dlr/KLIiBPG94pcychRX8GlfjBaZ/zUef+VeJEzf5xcs125DhRjveTwZJENi3/Pl9x2F/S6Y5F5tA31CZntYUT2N0F+mfKW4YrUgY6/0NCsZKD/iCnaTSklFCanGD20Cvs8bIWlwc59M9Gb4vgmSHEhKEEQlyo7HjP7hsTtpPhms/DDSem/WFUWPo7qU2um5vqJe1ZVQyxgKhraNFHhEJC8nKkJoF+p21d8mfc7QbrY1HvFXKw6CJHwMj4al+OU1vv5NesRTvjTdsJcQZiz5UOd1oi8UVIuLZKR2hLN2ZCNqksnOS6Yh2V/l2LdRWNOqZY+r8cYsJIIcTb8BqCfaNgYK9hqERaHuYAJKi2QhvgjufjpDg9uoVWK6HWNGVOv+ixcSsjYxRjVkMYtM2I0ntMdxFdLYVQfgeLyI0TK09vzJGzP6V/Z44QazM5+Tnu9Pw4UGG9wkdP0V3HkKkxdChPOgVTf8GEpAsrL2siUUyZ7NooUM0Pm1ZMMsJHV3KhxWgCIt2+L10flfM7ru+ojN5nEvmRTzf+MPhBVfBcmQArwx2oz44Bl9U7hP0PIOfaalcU68QCk/tdLpsPn/Ijt0AfWvtTRlfyP7OEDQ+0sAOGlige2rrfm2Lk3mrzZAc98x4Rgo+MEG/55kcDU4KuRZSzwy7j/Y84zBnIa+3+dRxhGT8Yhms1F4GI3m3ebfniWLAjHLh5hmUlJpFiUmmDblvRYieUF6dDS6SXzdjDxuTRQNSL9UdkF9Tbx6uJ97B4+o8cKiA1aP06VHFkk/KSx3HkUGTceiCb40lrL98rXkmRfix5nvh92FebmQvGp7UYwXicpPDfHxawnIPuy7R+oBGe3ZrOJDThWeYZhVCRRD+Dwd4FlE1kBrXVjETqduMxYJjTUIV0wb1FTLJ4lB2nHMbWFrnCvngFC3uJS7Vmj6O30SJQuVCuZTHQHQEquSDmPn72l6ETRlpRMpcHiKc2lhtHTwkBMeiXI/f+UgPr6OCxrDOypv+ohFhvIn5ntxnZ8IrLkbqVDpwKuAAAQXh/2/9XmescLMK4ROJBxbOxtFfujdfMCdKZvDcH8D1iSTWtUplF6BMSKT22DHuevrL47do0gof8hxhzK6GGj4TEqHzeyxG/Buu7WhW+NSIdaPyCdbgyqkl69cwehkGsXzhpJo7tfs2E1h5eKPnEv6MxuRaXDxxtfis7cPOa3mJaGvVj8YJnHyVJiZ3dM0yA+9vYEY2YK0n6oDsj+yzWs/byzlC8vqVjU2Ic2/DRJqYS3rRTmssYYtbvZ2s/NO5vH5pBZjAqD6A2NyQ9WDSfvcn 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)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: B9V/Q2/EZwc93F344BqQFi4G/+MUmnWSWWxTFI8RPoNJTkyezowbrf4tQJ/5yOhtuS/SGyw863+iHPgYJYGqmd6T5jHKRj9wbeK9P0c4pEJxlOglvMJ1AeXcnXTAPuFLD5pElK1voAokbcXTgqw1NAmX9+WGH0G29JczrxcKChiQJ+hbCpooxyGoIOpckH6UsSPK9Tx/31dqiCpZEQYqjIXWAp4+H99WREWdv82rlKVV7Cfpoyv3XocZEnStcLxP0ZQ0u9f8X9XGgIsDxLdKo3jvAmzhV1yzEohWoYLTg6hbM+szfGdDZlm6iCIHK+OSQmSM38FluG0deL7EPFmCprf2hejs5LT701X+Qb8tfAtcK20hGOOWCrQofguyd0+KIOLjMnjA1gZBtCH1Kk0gQQYa2kttq9UbqqJPwXjpFtAgVEnMMjdlXlTmW6SiL2OZqUtalTbpxL7vGwf2V7M89lS4JQvgXYucJQeewDRinteTQfYwWfIa0mOlRbYQXxMYOmMDSdxcNdtmiLIIVyXyIsMzKBbjjxEhtEfi+fg4DBKd1sZx1KASDvk5n//GFoElDMevxhgjS8PqUYM5+couIXo/Rc5pobnrIVbYKqhV4lMIzWzSnqAVvCeyq7ymMS3atX3eoO4VEcMlBjnZKJernt3HMLDiq1RhuRyjg3bcKMSzRwvOZo66ZQxZn+21Ui+DCeatOcfrn//5nxXIa8llRM+VkV9gsqPtWjPoJnLTIQXnjtiD18BQsHPYxn+z7BvczCN/AV9aLQghMSTKLhuMHNLyTvMRa1AzhzRy84m0ducI4nVXEIPoEMzJQ2hp+gcYUBzvvB0rqczDENm+0/oPdEKfUpYnM41wEy1KgJdAoT3ax6yNs3vZ+gH1t4GSqcqEAPopsHrmWYS8m0y6MpKzlcCeF6nnYFflqoES7fwYZrfkZ2+8inYCa+CoRIWhbFcXyV+xEEQbU/4jCRUXs8iNavrePKRToR3pUBctqazoGl3AHsZEK6IK1f6t5HQZ1Gx/kgAcvrKOhFgG7jsqpY5Oq+GXORmRMrqoG8yJ6XmluhYtEPvVS8tVcXbsJALtYiV8yug3AAgLyCinVqyzdHYAl0JIVlfejoVe4SRcyMdNF55z4BGgz1QLTK0LK33q+0rITuLpuKSFNH5RxVEWod/m2/D1vKch0STgCMqn79HbSJWPvW1hfrt1PJ0KIbx1qOzCx9+Vz9etGAlvYqeikdZ4NnhEtowJfvjrENsMmbRX5FNJOcnaoZrGMWikPuqMAOOUbL21ApvsQz+jRPw2T0Uc/mgpURINmlKfUqKj/jS5TBsCkGQPu6sC6qhSE/jjLl+kRmZgq513l9nsi5QDtNWOVcMOhE6qmX88f76WRcssRS4xSL1zt/HbmkS8zF1n80jtk4ZzDJef4Nzx5JnHjNWEY6NY2FbnyI9liQdrO7ObSvTR8irxiyB+729l+lcj6ydgcw4eTqnzP3GbfxO6m0sgTi1kFwnS+NjlR3hoe94/xIx98W8tu8/H3LAgjAuXpNxhTcw8QmfEHyPK38N7RIaR7eTX/7nbHD8kTg4fG40Hr7Wpc2lqQVZ9982AG1x1NMZpKvmudorSpvQTOVBwXd+ddRLPyewdVkLPvxf2H5Gqqpo= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: aubATkvMiIX13EO+LIlaQSgjHOnoqZ9nmDlKJ12K8teco910MNvcQBHg/mgSHsNhHN0IqaucSy8lO4ZmkOmOXKDu6YxB+7vcsTmYoH+ykCIkf3CXk4QKUuiwA5c8rWXBzYp1FtxiISaf8z9S8g6mxs7m4amkKAi3RZ4lApRu6gFiiNpzLPyPW1J4gCcj277ZGsJ0eA0SCbNq+DTcg8yVCbAyk2NN0QutOUHfpjf0qEZhSbAul21nC3oOwszLyKJMVaO40W8LquvtQZkhrsjQptws3kV3DJ92eDmPUSQ+eJq9GVVJaS2BmGDPo9022fiO7FiE5PRYbHrB99CxhseTCYPHLfNPm5/Jsj3/A7fDeplYfV/R9b/MlwpSjk0uOPLispdKvXEWjXSEJsdemKMp7D/r3qoKSWL+aX3smIiQBvkNrjKtsYDdJq/6pHTRc2JJ2oV688aNU2FOyHb75qHM8s5L3MWvfQUreXsPfrg3AHnZk8mFQRSnRcXvMjccHUHRCfJb0bsQNpI1QQdV6YSM8QirUv9fTBDuE6HOUmNgLFlXdk82Q7R11KlLImPQTjlIR2c++NtzYtmUdTCsKFBMl1kpDpR8ozSY3gioodrkxIU= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8f35388-f674-4db4-5e66-08dd756ad0e9 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 00:26:18.9606 (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: 1mhrJpKYEy/EByRNzTcIe4Dqs4cBIMtIjzP15VzjrY+WbRlc94Feg1uClrT022QxOZkfrihbR4e1PpexV3+fPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5816 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-06_08,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504070002 X-Proofpoint-ORIG-GUID: phpmUlQU_VXwRb4-raLgczYvpE2jdVK2 X-Proofpoint-GUID: phpmUlQU_VXwRb4-raLgczYvpE2jdVK2 X-Spam-Status: No, score=-12.8 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_H2, 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: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org PR/32666 Incorrect .rela.sframe when using ld -r Input SFrame sections are merged using _bfd_elf_merge_section_sframe (), which clubs all SFrame FDEs together in one blob and all SFrame FREs in another. This, of course, means the offset of an SFrame FDE in the output section cannot be simply derived from the output_offset of the sections. Fix this by providing _bfd_elf_sframe_section_offset () which returns the new offset of the SFrame FDE in the merged SFrame section. Unlike EH_Frame sections, which also use the _bfd_elf_section_offset (), to update the r_offset, SFrame sections additionally need : if (o->sec_info_type != SEC_INFO_TYPE_SFRAME) irela->r_offset += o->output_offset; because information in SFrame and EH_Frame sections is organised differently. In case of SFrame, the SFrame FDE will not simply sit at location "o->output_offset + offset of SFrame FDE in o". Recall that information layout in an SFrame section is as follows: SFrame Header SFrame FDE 1 SFrame FDE 2 ... SFrame FDEn SFrame FREs (Frame Row Entries) Note how the SFrame FDEs and SFrame FREs are clubber together in groups of their own. Taking the above into account, the correct offset has already been calculated via _bfd_elf_section_offset (). So for SFrame sections, the r_offset of the RELA should not be offset further by the o->output_offset (offset of the input SFrame section in the output SFrame section). Add a new enum to track the current state of the SFrame input section during the linking process (SFRAME_SEC_DECODED, SFRAME_SEC_MERGED) for each input SFrame section. This is then used to assert an assumption that _bfd_elf_sframe_section_offset () is being used on an input SFrame sections which have not been merged (via _bfd_elf_merge_section_sframe ()) yet. bfd/ * elf-bfd.h: New declaration. * elf-sframe.c (_bfd_elf_sframe_section_offset): New definition. * elf.c (_bfd_elf_section_offset): Adjust offset if SFrame section. * elflink.c (elf_link_input_bfd): RELA offset adjust be done conditionally. ld/testsuite/ * ld-x86-64/x86-64.exp: New test. * ld-x86-64/sframe-reloc-1.d: New test. --- Notes: This patch is the same as that for Scheme#A RFC https://inbox.sourceware.org/binutils/20250331185205.3755087-1-indu.bhagat@oracle.com/. --- bfd/elf-bfd.h | 11 +++++ bfd/elf-sframe.c | 63 ++++++++++++++++++++++++- bfd/elf.c | 3 ++ bfd/elflink.c | 6 ++- ld/testsuite/ld-x86-64/sframe-reloc-1.d | 34 +++++++++++++ ld/testsuite/ld-x86-64/x86-64.exp | 1 + 6 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 ld/testsuite/ld-x86-64/sframe-reloc-1.d diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 5903d857faa..f62570919d5 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -503,12 +503,21 @@ struct sframe_func_bfdinfo unsigned int func_reloc_index; }; +/* Link state information of the SFrame section. */ +enum sframe_sec_state +{ + SFRAME_SEC_DECODED = 1, + SFRAME_SEC_MERGED, +}; + /* SFrame decoder info. Contains all information for a decoded .sframe section. */ struct sframe_dec_info { /* Decoder context. */ struct sframe_decoder_ctx *sfd_ctx; + /* SFrame section state as it progresses through the link process. */ + enum sframe_sec_state sfd_state; /* Number of function descriptor entries in this .sframe. */ unsigned int sfd_fde_count; /* Additional information for linking. */ @@ -2540,6 +2549,8 @@ extern bool _bfd_elf_discard_section_sframe (asection *, bool (*) (bfd_vma, void *), struct elf_reloc_cookie *); extern bool _bfd_elf_merge_section_sframe (bfd *, struct bfd_link_info *, asection *, bfd_byte *); +extern bfd_vma _bfd_elf_sframe_section_offset + (bfd *, struct bfd_link_info *, asection *, bfd_vma); extern bool _bfd_elf_write_section_sframe (bfd *, struct bfd_link_info *); extern bool _bfd_elf_set_section_sframe (bfd *, struct bfd_link_info *); diff --git a/bfd/elf-sframe.c b/bfd/elf-sframe.c index e5e4c09b72c..053aa070370 100644 --- a/bfd/elf-sframe.c +++ b/bfd/elf-sframe.c @@ -212,10 +212,11 @@ _bfd_elf_parse_sframe (bfd *abfd, /* Decode the buffer and keep decoded contents for later use. Relocations are performed later, but are such that the section's size is unaffected. */ - sfd_info = bfd_alloc (abfd, sizeof (*sfd_info)); + sfd_info = bfd_zalloc (abfd, sizeof (*sfd_info)); sf_size = sec->size; sfd_info->sfd_ctx = sframe_decode ((const char*)sfbuf, sf_size, &decerr); + sfd_info->sfd_state = SFRAME_SEC_DECODED; sfd_ctx = sfd_info->sfd_ctx; if (!sfd_ctx) /* Free'ing up any memory held by decoder context is done by @@ -515,12 +516,72 @@ _bfd_elf_merge_section_sframe (bfd *abfd, } } } + sfd_info->sfd_state = SFRAME_SEC_MERGED; /* Free the SFrame decoder context. */ sframe_decoder_free (&sfd_ctx); return true; } +/* Adjust an address in the .sframe section. Given OFFSET within + SEC, this returns the new offset in the merged .sframe section, + or -1 if the address refers to an FDE which has been removed. + + PS: This function assumes that _bfd_elf_merge_section_sframe has + not been called on the input section SEC yet. Note how it uses + sframe_encoder_get_num_fidx () to figure out the offset of FDE + in the output section. */ + +bfd_vma +_bfd_elf_sframe_section_offset (bfd *output_bfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info, + asection *sec, + bfd_vma offset) +{ + struct sframe_dec_info *sfd_info; + struct sframe_enc_info *sfe_info; + sframe_decoder_ctx *sfd_ctx; + sframe_encoder_ctx *sfe_ctx; + struct elf_link_hash_table *htab; + + unsigned int sec_fde_idx, out_fde_idx; + unsigned int i, sfe_num_fdes; + + if (sec->sec_info_type != SEC_INFO_TYPE_SFRAME) + return offset; + + sfd_info = (struct sframe_dec_info *) elf_section_data (sec)->sec_info; + sfd_ctx = sfd_info->sfd_ctx; + + BFD_ASSERT (sfd_info->sfd_state == SFRAME_SEC_DECODED); + + /* Identify the index of the FDE (at OFFSET) in the input section. */ + sec_fde_idx = ((offset - sframe_decoder_get_hdr_size (sfd_ctx)) + / sizeof (sframe_func_desc_entry)); + + if (sframe_decoder_func_deleted_p (sfd_info, sec_fde_idx)) + return (bfd_vma) -1; + + htab = elf_hash_table (info); + sfe_info = &(htab->sfe_info); + sfe_ctx = sfe_info->sfe_ctx; + sfe_num_fdes = sframe_encoder_get_num_fidx (sfe_ctx); + + /* The index of this FDE in the output section depends on number of deleted + functions (between index 0 and sec_fde_idx), if any. */ + out_fde_idx = 0; + for (i = 0; i < sec_fde_idx; i++) + { + if (!sframe_decoder_func_deleted_p (sfd_info, i)) + out_fde_idx++; + } + /* The actual index of the FDE in the output SFrame section. */ + out_fde_idx += sfe_num_fdes; + + return (sframe_decoder_get_hdr_size (sfd_ctx) + + out_fde_idx * sizeof (sframe_func_desc_entry)); +} + /* Write out the .sframe section. This must be called after _bfd_elf_merge_section_sframe has been called on all input .sframe sections. */ diff --git a/bfd/elf.c b/bfd/elf.c index ee89dd909da..581787628e8 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -13492,6 +13492,9 @@ _bfd_elf_section_offset (bfd *abfd, case SEC_INFO_TYPE_EH_FRAME: return _bfd_elf_eh_frame_section_offset (abfd, info, sec, offset); + case SEC_INFO_TYPE_SFRAME: + return _bfd_elf_sframe_section_offset (abfd, info, sec, offset); + default: if ((sec->flags & SEC_ELF_REVERSE_COPY) != 0) { diff --git a/bfd/elflink.c b/bfd/elflink.c index 13993527e3e..895fbb0206e 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11974,7 +11974,11 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd) continue; } - irela->r_offset += o->output_offset; + /* All SFrame FDEs from input sections are clubbed together + in the beginning of the output section. RELA offsets are + already up to date. PR ld/32666. */ + if (o->sec_info_type != SEC_INFO_TYPE_SFRAME) + irela->r_offset += o->output_offset; /* Relocs in an executable have to be virtual addresses. */ if (!bfd_link_relocatable (flinfo->info)) diff --git a/ld/testsuite/ld-x86-64/sframe-reloc-1.d b/ld/testsuite/ld-x86-64/sframe-reloc-1.d new file mode 100644 index 00000000000..308f94bd76c --- /dev/null +++ b/ld/testsuite/ld-x86-64/sframe-reloc-1.d @@ -0,0 +1,34 @@ +#as: --gsframe +#source: sframe-foo.s +#source: sframe-bar.s +#objdump: --sframe=.sframe +#ld: -r --no-rosegment +#name: SFrame simple link - relocatable + +.*: +file format .* + +Contents of the SFrame section .sframe: + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_SORTED + CFA fixed RA offset: \-8 + Num FDEs: 2 + Num FREs: 8 + + Function Index : + + + func idx \[0\]: pc = 0x0, size = 53 bytes + STARTPC +CFA +FP +RA + + 0+0000 +sp\+8 +u +f + + 0+0001 +sp\+16 +c-16 +f + + 0+0004 +fp\+16 +c-16 +f + + 0+0034 +sp\+8 +c-16 +f + + + func idx \[1\]: pc = 0x35, size = 37 bytes + STARTPC +CFA +FP +RA + + 0+0035 +sp\+8 +u +f + + 0+0036 +sp\+16 +c-16 +f + + 0+0039 +fp\+16 +c-16 +f + + 0+0059 +sp\+8 +c-16 +f + diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 52c4d5e0e6b..55319c934e6 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -566,6 +566,7 @@ run_dump_test "pr32591-4-x32" if { ![skip_sframe_tests] } { run_dump_test "sframe-simple-1" + run_dump_test "sframe-reloc-1" run_dump_test "sframe-plt-1" run_dump_test "sframe-ibt-plt-1" run_dump_test "sframe-pltgot-1" From patchwork Mon Apr 7 00:25:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 109938 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 6B5373851AB4 for ; Mon, 7 Apr 2025 00:29:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6B5373851AB4 Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=ezTPvF1n; dkim=fail reason="signature verification failed" (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=rkpjRGIw 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 E6DD43851A9C for ; Mon, 7 Apr 2025 00:26:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E6DD43851A9C 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 E6DD43851A9C 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=1743985601; cv=pass; b=nanG13vm47Qd1/2489riOEPeH7HBLd9OFRhnyywQjVOeSAGj3CG5J0n8En+DQzgDCIyaEp28GnHQKr7ZDn+S0+wk6MzYlX5nMtIvYL9uWqTEG55IkVO7D55sGKSiE9NL4b+bnkfG6701V6s+ER0mBqAZ4OiCtkLaMweFKn1pwe4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985601; c=relaxed/simple; bh=/oDy5KbbPWJn25uN2djukI0JVj1LdTCsF8bf2bOmvkE=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=haIjxWP3bikoXiJ65aTa46yzfpSiaVKgrm4dkLf1pkl4ZN16peZeE9ewTxOnJBf1wk63cWZrXp/jWuoPx3WpwbuePerucLYJWbXAL/P0Erj0engpSXoH2arDgD+NC9yh0uanqcdoMOTv/yrfutvIqohi6i9Lx/pyBu/KwCg3PGE= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E6DD43851A9C Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 536NVb4a005320; Mon, 7 Apr 2025 00:26:29 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=V9XQjVo/3+ghmD3bBEXFEAPydRsz53wmdSMLBbNGa5M=; b= ezTPvF1neW1lun4Vvr51ateRwPKZtn8dkid8KvoMuOKV4Gx1kfasgJPccCzNu4wl qmvqLER2gKgefXvgCircEDvd2/ausMVPlWmZpCz5lLgrPwyl0hvJjZ+BlFfnVW33 /Jns7rHcQ1XLA9yOBp3nNN9nCrGjbUN/aMeQLzpxAVbDe6Vv80vN6WY33Q0j5/+5 lyZlG7eEumNo0+sC6Bi67J7ADxAgGZ7WLm8nfNwX31E3flvxqLSbjw8YbX7EtCuh drunYKvnV0FdZbIZOE7nDIcFDKrWm6SZag+MhcQkHKB4sAO5ltTX5FGql7A8464T ap41+6Gc8MLh1ILyy39DFA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45tv4ssht6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:29 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 536JpCdf020925; Mon, 7 Apr 2025 00:26:28 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttydbn90-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QhS/f4bNQEZ1fTQkbVPzzi0m+KAz9ii0+a7VAp0+IMFdl363rNYI1Ng6deTeF/F58mu7zfP/Bgv3g5CCPxHfjxDT6hjXstQDyuB/S0FKCWU9VoBvJWAwxHpY4RGqVEzYfAcsWH09elI+SWdj9E8qYWOUX69m4g/cS6v2E6cAV8cVQekMp3P9l54qe3uH6sE68q6fSTqxRtApBfFZtVeVNR/9sayWfLGyVdSzNb8AXJ3wHsmXQm5JrNPrcNWGVil2KGmt2gHVA1yB53tV/BB6brL3MQ7DgkVz+UaUmex9HKUJX4OioGEXvzwtAxBndRwVLuCy6z1iuOZbJfHQZfTclA== 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=V9XQjVo/3+ghmD3bBEXFEAPydRsz53wmdSMLBbNGa5M=; b=XO4U0T0IYUXAOYbmOxKNSw97ZQQA58rHbcT+z+ED2xifMNSiMca3/YAcT2F2F5CxVyyVzPg3o2q1ZpZmDKLr4Oy7XeByfE475g+ujz40XN1W/V77dJCQI/+HeLS89JmkgaFVSI0wg0MP7peo3muVpf5x7dvVCuf9XCoHcOCuOz/dG1cXxt74lfuBueckVr+WfJnTWlNtGhw1Wg8v1pM/X1FiO0fS+PSnZy1RRlSJpQQ7DltuHIF5j8v38enbpeS4u+THT4RR2dzYnudLnYv/hh+MlZVgpohy5tbuHbX63vrONRTVqAYDZU6/AnxDyBvEJDCWU5Irx1nuHqIs6+nrqQ== 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=V9XQjVo/3+ghmD3bBEXFEAPydRsz53wmdSMLBbNGa5M=; b=rkpjRGIwoEEd+tistzpaU3RyjNWTbgSSNiQsI6aTfielxBBDVZrc3djYFa6eButUMEbAoLBJzKZPIqH47H5UOX6rDb6+jH2n7CyRnUVMs+vC15+FVjY9gxeYSA5XgtuvkNcD35RPhoXvzn9sNYMshjcvG0u8wnKTlJCvVMc8fk4= Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by PH7PR10MB5816.namprd10.prod.outlook.com (2603:10b6:510:127::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.46; Mon, 7 Apr 2025 00:26:21 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%4]) with mapi id 15.20.8606.029; Mon, 7 Apr 2025 00:26:21 +0000 From: Indu Bhagat To: binutils@sourceware.org, jbeulich@suse.com Cc: wnliu@google.com, jpoimboe@kernel.org, jremus@linux.ibm.com, Indu Bhagat Subject: [RFC, SCHEME_B 5/7] libsframe: SFrame FDE function start addr is an offset from FDE Date: Sun, 6 Apr 2025 17:25:57 -0700 Message-ID: <20250407002559.6593-6-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250407002559.6593-1-indu.bhagat@oracle.com> References: <20250407002559.6593-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4PR03CA0163.namprd03.prod.outlook.com (2603:10b6:303:8d::18) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|PH7PR10MB5816:EE_ X-MS-Office365-Filtering-Correlation-Id: cd5b3bf0-7e32-4cbb-2c75-08dd756ad24c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|10070799003|376014|366016; X-Microsoft-Antispam-Message-Info: GFwFjqTOQapqugAFdoe3OELWpKR4zOEamlVOvkI2aGsZygpdGnX06OGJ/Up0U2mWop/gVrcfQpEAzHSAcCjFRuZXtdqQ9FuC/tSgXlVUHrmRBEzETRhP+zNmigziZgBEe7oOzi3X/2xPAazK6zY6EUYOtXVxOsGuazjeBStcJ2OdCJWfbcDpOh42fDIlQw1je0IVokm6IoqwLdIJnFaugzT0i83vyEwAbo/m7iZGJyW5Ik6J9+S7+dmUtcOoc8s+uGRF2MFZXdmL1lp/3BjVCIgWaVeiHa/M9fNFEl0lH4Amaz9v5PHjEX9P4FPiTgASFVdISIP3aPQzARDmktHRl7VbIVsBb1rV/L2OsA+nyuwVecfquqn5AaG8zv8LjDqGugD8IYYp1dqAF4Evb9jQpmF2l4eMeUO9j/S4J1eESP6bh2GOixDPFw1u12qzPZ9V1lQd48u51ZcUBqKOVSJcNZKDxFqQ+Iqin3b90z2IKRM0ztRAXO9W/lADfGbqVNNsaFiL02D0hhXvdeG0lfgIrUjvTyLLrp85ThulkcaKYjerQIeno+N1w1zHUB4zvdTs5SCm9tCCAoQQCdwi3+DzWmv4zO5DqEXQJePW9JaetawZ0vUSgXr/mmhmirCRD6x6OXH0cKEYMgLW6X+0PcLnFnBkpc6f/7lQZ8630Y6D7mBFExfmrx/zeNj6Fd4P42Sboc3sCpjG22BalO166P3TUsGGEbODSNdPtq0uKZTou6tUpwYT3d5xvT7SPQJGbizH0gjbSctPowqpP6Jo1Mfi5m7LKx2YOPpXdHHgSsFSVMp72oR5hQWcEvQzXivQ/549gU7b/IV7OnBWhh5yhtfIvik65DW9AK1wvwSDErppY4ADFjTQeHLAVUqz1yxX5NRpldEBPgI1dxeqcDzB+1Tbz9UJc2jms09eChn0g2WGVpxVflgaGAkIjKM1riHUAcPSkZzR+f712HnAeA0fZA1V3xNJ4Mf0thNrerZAZkR7dVEeSN49Eid4zRRk6AOd/75Oy8c3WcvPSY4kLNgriWMEVpNbU9KZ5XnlPw4/sN2ZE7cy5szDaljTf9lc28+E7hrboBw3uRSgsrcSuIu7iiFhobpb3yyEmhNvHCldrNTAdikUqk3UbopHtGwI8/KMj+r9URxRjUlHj3iszriTPfg9vfpsZwvGDROR8C9qK2v0mcIwzsjA/Vn3BBM04PxUndOWZQBGbi31Gdwxs4xWgr2Fshb4DBtBf6/zuWMZHUVMeEH3GAr5aWNDb3eOs+go39mLrJ0ye3s87VLYcVJUvAnsSrcwpLiZ7UrXbvo2OyXIghsVeOAsvL0RraTU1uLR/f8C9T/QCLzbdBIS7+J6q34oSejNmv9RIpxbg8ZqsZT7169wcapyAb9Fxv+R/rhT8JIx 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)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: j1cwS58PMoz7qS2xHoaktp3/wlqPC5QwW/r5RpPuSuofeJPYuSVRRZzKDJeVB/P3WM8Ynd8S9mbIIkVNwn20PP2nHyxljsQrDejTPM8Ipo4dgUN+2QGO+WU2d0oqxtPKZ7uV0EgxBrJQ/tvJ8ang5A2pkKPeIiaR+2wFelynvjCcH0EXt3+p50ajXKAWAECb21U/Jb4Xp5XXD4hHYRRoA6LYg3i75v5j35sRuakprgLfDIfXvs8GN+YKb5xin3AMSE4jtnEUc2KlCsbf7VvBsmt1GHk93O+fm1J3FyeiOPD9IY7Dr+mZwTaV4KeZzqVZZ4bhTvQc1N556nRcbM2OMPLO69tQQwTIA0m/LB1l3W4y/EUUW+n+hKm/K9d9LDHfqPQ64SokrjYemhPLKPieiYj+b6Tli2O6/9txkRYdYa3CjJxoFAIPBQPItOSgOPOu5Im5zUNjpt/W5W/dOOJ4NaB4qeR4O4wajC+EI965HOeaPi+U1Gtm6HC5QITDeVM42pkQcZvrngMrHh+op2QdwJljVQpBeprJWxmzKW9hLbXExJarkl8oVQ0ttCzegda+txo5YT8x2StpHySuI/Jz7wN0NZe0NaXapOgzdRotmbh1+vJqSQ9LvmeYj/xlg/71ESK62cCsZkiU2HHj6lcsIsnARWgcB1xcJFP5jA/eLQLJri+URWWcC68A/AfKOTxd0dp3HqePWFa6Oagwozlu0+6pJoZ70j7M+SAlje3+Nyvo18CD7S7VIsaYQv+Diyr33/pNRoEqUJ8+j3uhEw8VI/1vEv74Li89IpeUDlUSKrB/PoqVcy8bicU90b6Y++iXJsXAcCONSKuwl8QIh2Jna8T9ND9VtYywDeLfaANgNzkwCA2Vj0VO9fh7PNUJbVykv5u1Q0qErRCBwxUn8rrn11qbKSH8xYayk04Vh30d9AeuqfIPsf3Ii7O5lo0cvgCOGtzBBScx1Bax6NMI0/KdcS6Kze4RINdw/I2LWDN1q+GNjwSCI1ewmESN+4gBZb7806GnBJDBQw48s8YjIJep3iqDJnYEMQrR2+ZLuVLe9o3a2OeM6V4ZcwnxHVOniN3U4QP8v11ZQjLThp5ZGhAXzCHW7158zQH7E66XfI3dnjQ7eG1HFMv2MnkzgxkI+IBl7lwQKqcRLPA1eDUjj1dh6hH+GlT81Xy0cD1QbHI6jOW5g7cBll/c/YUsB1Ybw7MgTsz0EjW4cwAn7qwmW++IIgRSkUAfGY5YHeOrIShWZNUjn9wIiOvSBW5ubA/OLsw+l8nOTmY3ckNNMLmR8x/awuS9sYVuIivn7s7MKXhgdaQSDpOz+gshNGo5cglZq/K50j7+aWM1Eefi6GgLXCwdGe8I2VfNML4mieHdlqWMlAVQZ30zZE1X5st+B0UjGdH5zdwTd+PBNb1mJ/ctJ/deu8JXX8fuTxKEZZNUA1pGK5sCY30v9GBJPtt3oAZgsafPS186YOvLrjWRyWibLD+xrRm4AJ59C/a5G1OYXVSr5gXwEn30tLPbVrlcN6MCMsiERF1+89fyav7TKDNzME3lbeuFJOUyMSp5jdBId/ejGc+9RNRJYEQer3WDhlVgricyEkXwwnMQoTy9S5gT5oT+MZG8oBlg44LhWK9ru0/p1mw= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Mc1Nr8ZlyFl2jwUrIyNyeelniw1+Py/g14MhZLdXjF9u3IDo8LgYasYLiDPxL3V3j24nwsEiSgOMKX58OBtQZeMV0gBPF1zvHTnr7JSmLNeQZH7YfbvxUuQVdZ43v8rFvC4fe0eVN4YNST6kuIV/mM+j9w0grwNYyeOPin0la92+uL56AIviS5XXhFKQdKUWRUu7eMBY0jBDnJc5F76o0U/Yu67hSoYCp3rw2GjowLeKkO3bY8mySAslaYcHDAzBKLzGj152Fx59zriaHc7Yn/aVxcdEnKz+za8hMvdaklA01GmbB8idgrGvUFqE4qMLbeYZomwl0bI0gz03Xr9hU/1tnSfoLkGjswtKsT4UhzAnUKGwSRBHcM4EHsA8RMUc1/djqOg5MqrVMyku/7XoLVsvKX8FEB/XpyhaWDaZtNFoi4wQoJ3+Ne/elms+t3X+xpgc4S6wmbl3P/+lO+na5tfo9ok4EIT2b8lvntY9YZaQxUVdvi9VTVdcWvgk0RWw8thgcM2tqotnT56NnFkD/mR45H6ICOT5290AF3vAzKAtoYmufuK5ef1Dsr/QeeKbZycdhcEYApENRR4f3E3TSc9mr5J+YlbDpCP8Bhgd+iY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd5b3bf0-7e32-4cbb-2c75-08dd756ad24c X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 00:26:21.3293 (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: uvyvo0LEX34dvtiqQe/YrOFLt6vdf9+Sh/PfvqhlOJQOATk+Ru2opk0CHcPmmpaF4KOiM7g2jLlrMuCyPR/2IA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5816 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-06_08,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504070002 X-Proofpoint-ORIG-GUID: IMI5M-gG1_y7Xq-5cPaO5o3EkKCT_IRC X-Proofpoint-GUID: IMI5M-gG1_y7Xq-5cPaO5o3EkKCT_IRC X-Spam-Status: No, score=-14.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, PROLO_LEO2, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_W, 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: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org Naturally, the change of semantics for 'SFrame FDE function start address' has consequences on the implementation in libsframe. As per the new semantics: - Function start address in the SFrame FDE (sfde_func_start_address) is an offset from the FDE function start address field to the start PC of the associated function. Note that, the libsframe library brings the SFrame section contents into its own memory to create a sframe_decoder_ctx object via sframe_decode (). Many internal and user-interfacing APIs then use sframe_decoder_ctx object to interact and fulfill the work. In context of changing semantics for sfde_func_start_address, following relevant examples may help understand the impact: - sframe_find_fre () finds a the SFrame stack trace data (SFrame FRE) given a PC. Now that the sfde_func_start_address includes the distance from the sfde_func_start_address field to the start of SFrame section itself, the comparison checks of sfde_func_start_address with the given PC need adjustment. - Some internal functions (sframe_get_funcdesc_with_addr_internal () finds SFrame FDE by using binary seach comparing sfde_func_start_address fields, etc.) need adjustments. - sframe_encoder_write () sorts the SFrame FDEs before writing out the SFrame data. Sorting of SFrame FDE via the internal function sframe_sort_funcdesc() needs adjustments: the new encoding of sfde_func_start_address means the distances are not from the same anchor, so cannot be sorted directly. This patch takes the approach of adding two new internal functions: - sframe_offsetof_fde_func_start_addr (): This function calculates the offset of SFrame FDE function start address field from the start of the SFrame section. - sframe_decoder_get_secrel_func_start_addr (): This function returns the offset of the start PC of the function from the start of SFrame section. As the sframe_decoder_get_secrel_func_start_addr () API needs the value of the function index in the FDE list, another internal API needs sframe_fre_check_range_p () adjustments too. Sorting the FDEs (via sframe_sort_funcdesc ()) is done by first bringing all offsets in sfde_func_start_address relative to start of SFrame section, followed by sorting, and then readjusting the offsets accroding to the new position in the FDE list. TBD: - FIXME add code comments. add documentation. - Version bump libsframe. The change in encoding of sfde_func_start_address means the APIs sframe_encoder_add_funcdesc () and sframe_find_fre () etc. are now backwards incompatible with previous releases. ChangeLog: * libsframe/sframe.c (sframe_offsetof_fde_func_start_addr): New static function. (sframe_decoder_get_secrel_func_start_addr): Likewise. (sframe_fre_check_range_p): Adjust the interface a bit. (sframe_get_funcdesc_with_addr_internal): Use sframe_decoder_get_secrel_func_start_addr () when comparing sfde_func_start_address with user input offset. (sframe_find_fre): Adopt the new semantics. (sframe_sort_funcdesc): Likewise. --- libsframe/sframe.c | 68 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 53 insertions(+), 15 deletions(-) diff --git a/libsframe/sframe.c b/libsframe/sframe.c index c2693b978ec..dbd09f86857 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -363,15 +363,33 @@ sframe_decoder_get_funcdesc_at_index (sframe_decoder_ctx *ctx, return fdep; } +static int32_t +sframe_offsetof_fde_func_start_addr (size_t sframe_hdr_size, + uint32_t func_idx) +{ + return (sframe_hdr_size + func_idx * sizeof (sframe_func_desc_entry)); +} + +static int32_t +sframe_decoder_get_secrel_func_start_addr (sframe_decoder_ctx *dctx, + uint32_t func_idx) +{ + int32_t func_start_addr = dctx->sfd_funcdesc[func_idx].sfde_func_start_address; + size_t sframe_hdr_size = sframe_decoder_get_hdr_size (dctx); + return (func_start_addr + + sframe_offsetof_fde_func_start_addr (sframe_hdr_size, func_idx)); +} /* Check whether for the given FDEP, the SFrame Frame Row Entry identified via the START_IP_OFFSET and the END_IP_OFFSET, provides the stack trace information for the PC. */ static bool -sframe_fre_check_range_p (sframe_func_desc_entry *fdep, +sframe_fre_check_range_p (sframe_decoder_ctx *dctx, + uint32_t func_idx, int32_t start_ip_offset, int32_t end_ip_offset, int32_t pc) { + sframe_func_desc_entry *fdep; int32_t start_ip, end_ip; int32_t func_start_addr; uint8_t rep_block_size; @@ -382,10 +400,8 @@ sframe_fre_check_range_p (sframe_func_desc_entry *fdep, ret = false; - if (!fdep) - return ret; - - func_start_addr = fdep->sfde_func_start_address; + fdep = &dctx->sfd_funcdesc[func_idx]; + func_start_addr = sframe_decoder_get_secrel_func_start_addr (dctx, func_idx); fde_type = sframe_get_fde_type (fdep); mask_p = (fde_type == SFRAME_FDE_TYPE_PCMASK); rep_block_size = fdep->sfde_func_rep_size; @@ -1032,7 +1048,7 @@ sframe_get_funcdesc_with_addr (sframe_decoder_ctx *ctx __attribute__ ((unused)), static sframe_func_desc_entry * sframe_get_funcdesc_with_addr_internal (sframe_decoder_ctx *ctx, int32_t addr, - int *errp) + int *errp, uint32_t *func_idx) { sframe_header *dhp; sframe_func_desc_entry *fdp; @@ -1059,15 +1075,24 @@ sframe_get_funcdesc_with_addr_internal (sframe_decoder_ctx *ctx, int32_t addr, { int mid = low + (high - low) / 2; - if (fdp[mid].sfde_func_start_address == addr) - return fdp + mid; + if (sframe_decoder_get_secrel_func_start_addr (ctx, mid) == addr) + { + *func_idx = mid; + return fdp + mid; + } - if (fdp[mid].sfde_func_start_address < addr) + if (sframe_decoder_get_secrel_func_start_addr (ctx, mid) < addr) { if (mid == (cnt - 1)) /* Check if it's the last one. */ - return fdp + (cnt - 1); - else if (fdp[mid+1].sfde_func_start_address > addr) - return fdp + mid; + { + *func_idx = cnt - 1; + return fdp + (cnt - 1); + } + else if (sframe_decoder_get_secrel_func_start_addr (ctx, mid+1) > addr) + { + *func_idx = mid; + return fdp + mid; + } low = mid + 1; } else @@ -1112,6 +1137,7 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc, { sframe_frame_row_entry cur_fre; sframe_func_desc_entry *fdep; + uint32_t func_idx; uint32_t fre_type, fde_type, i; int32_t start_ip_offset; int32_t func_start_addr; @@ -1125,7 +1151,7 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc, return sframe_set_errno (&err, SFRAME_ERR_INVAL); /* Find the FDE which contains the PC, then scan its fre entries. */ - fdep = sframe_get_funcdesc_with_addr_internal (ctx, pc, &err); + fdep = sframe_get_funcdesc_with_addr_internal (ctx, pc, &err, &func_idx); if (fdep == NULL || ctx->sfd_fres == NULL) return sframe_set_errno (&err, SFRAME_ERR_DCTX_INVAL); @@ -1134,7 +1160,7 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc, mask_p = (fde_type == SFRAME_FDE_TYPE_PCMASK); fres = ctx->sfd_fres + fdep->sfde_func_start_fre_off; - func_start_addr = fdep->sfde_func_start_address; + func_start_addr = sframe_decoder_get_secrel_func_start_addr (ctx, func_idx); for (i = 0; i < fdep->sfde_func_num_fres; i++) { @@ -1149,7 +1175,7 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc, if (i == 0 && !mask_p && (start_ip_offset + func_start_addr) > pc) return sframe_set_errno (&err, SFRAME_ERR_FRE_INVAL); - if (sframe_fre_check_range_p (fdep, start_ip_offset, end_ip_offset, pc)) + if (sframe_fre_check_range_p (ctx, func_idx, start_ip_offset, end_ip_offset, pc)) { sframe_frame_row_entry_copy (frep, &cur_fre); return 0; @@ -1643,14 +1669,26 @@ static int sframe_sort_funcdesc (sframe_encoder_ctx *encoder) { sframe_header *ehp; + size_t hdr_size; ehp = sframe_encoder_get_header (encoder); + hdr_size = sframe_get_hdr_size (ehp); + /* Sort and write out the FDE table. */ sf_fde_tbl *fd_info = encoder->sfe_funcdesc; if (fd_info) { + for (unsigned int i = 0; i < fd_info->count; i++) + fd_info->entry[i].sfde_func_start_address + += sframe_offsetof_fde_func_start_addr (hdr_size, i); + qsort (fd_info->entry, fd_info->count, sizeof (sframe_func_desc_entry), fde_func); + + for (unsigned int i = 0; i < fd_info->count; i++) + fd_info->entry[i].sfde_func_start_address + -= sframe_offsetof_fde_func_start_addr (hdr_size, i); + /* Update preamble's flags. */ ehp->sfh_preamble.sfp_flags |= SFRAME_F_FDE_SORTED; } From patchwork Mon Apr 7 00:25:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 109941 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 A2ED13851AA0 for ; Mon, 7 Apr 2025 00:35:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A2ED13851AA0 Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=IRAWIB4c; dkim=fail reason="signature verification failed" (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=WCe0o264 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 EA2463851AB4 for ; Mon, 7 Apr 2025 00:26:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EA2463851AB4 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 EA2463851AB4 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=1743985602; cv=pass; b=us9DUAxQne8xq/+mBI+2qB5qwRTSNqB9z/O22WItKC29qN9ELR730geEoaJ8vLF9sfLdlP3YeYGk4Xvnp1OarpZmggzU87PilSq14gK7YhtdrsoirJW+bMj2tvMFKbGxsvgCPxzgN3HNAECk7JQoMA99Jxv3zR5HfsGXpNzLP40= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985602; c=relaxed/simple; bh=rqipWcZMO7N7ljXb37DdtVbWnwnJ42jYdQF7HW1dGQM=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=cqaLwkIVHUEkpUvG9WjQDjmY4SZ8N9267R5Ogt8HSQmVft8w9ZDRVpOD3EJkHIhzyEwOLDWYEhi8U0Ke4BvRLVlAc2tQzvaaDQ9PiQcEB1kFzA5ZvB7FQTh4o/HPraUzmVzVccWl03soqhiGEusuvjOAXWVncrF1+CUUtUQcQ1E= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EA2463851AB4 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5370E2et004924; Mon, 7 Apr 2025 00:26:30 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=XKBdOdfa8QnTNgZ4RudVuLdm+EYMyLnJZzDPSouh6IA=; b= IRAWIB4cmfR0wYvF/D+xJCXLJHftj3/H6LghJ/Y8jJDOSK9ipTo++Q8mmlspeP3X OVQGCfvmxclBzPD4utv2EV4SuLPiCCnmfiv3riNBcwCqIhpi2+iZIQe5tBeUprAJ XibfAisp8d/awnnzFDe4ACHXOWx5DlZU/JjyaAjUqIvl3gTUyu7i+C7dXOUPZl9Q X7MyfA3jNtR4liIJVndA+LV8RtOybzVgIbMdWRSTN0YW6d4deI4h+UK7HZOI3wFQ a/2LEyjFowXEqzggphDkJEa+gZ3zTKIJ/85suBgD21nSWAfn82/SslieOeq3zqZT vO4GTQMzm+U18ssyUBAHGg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45tua2sjka-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:29 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 536JpCdg020925; Mon, 7 Apr 2025 00:26:29 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttydbn90-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UcEQR8wWYZoHTQa3Vz4ntMp6bJkvlWTNYRURYWpqSmQNz2zFTXR3K3unw+QwLV91F/3v5aM8w25BtPngbX/Rl0qqI3XF/JJ0poqPi3hxSKzSBervdMkezHmYiPKAboTNGeqfn5eRpCDNboctEam2zSm0XJdZGvGiGuCII3+/uMIs8V0HydC7LtUQT5gb4b0J/Y46KOH+Fnsizl7bRlptuOo3PkuZ7ptunbMjKCGONvzEQDGOHNPmtbf/VrouaDPiwpMrrclSMX4jIOi8U1/REMXIZ7TR7pMSgv6Ty5qW0HaAae6W9U5kg4VmDpN25KYudckm0/Y6kzmKN5bS2xoT2w== 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=XKBdOdfa8QnTNgZ4RudVuLdm+EYMyLnJZzDPSouh6IA=; b=EFkGix2BpAg5zBBqETQ9fBJHac6Wa+FHt0jjvEr8FEjtwicqunvav/xb/2SWaYijwU+n1yJ1gUXg//ZnDV1TOhRsaH7my0jtVlCTqY+FfHvWiWt20ZBcskdCF/4Pr2h5Rr+qxHnSt9uKgywV8inWiO25yX1/3hcCPDMq6DRfOa8vmHsKpl9630wDjI4m08PLswAKdjtdgEAeDnVvrXSHUYYm89Zh6PA/yCvn5r3Z6NxHDt+ckXpJ4At5iAvcJcdrwL1lMAQAnz0XF9Im7Li1DGe/ILgHlcav2uh5MS+JGD24w5TjlHt0tBQZCmd1XgcEXvQDHF73jUT6GhnExcRx5g== 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=XKBdOdfa8QnTNgZ4RudVuLdm+EYMyLnJZzDPSouh6IA=; b=WCe0o264u/RtGxH3VraJ8X7PaiPaZzAmX/OMlspuhzCSxvmZ4icVq1D72b4NZAxp5MIjY+g1ySTj3FJr8UlN77l+lDyd4fZk9DLfMMv1Yd6BKSnxHNU6XZGSK2ZgriN/SL1d3sSU3BeDXtfhiRIZsplRvYOlyqTLXVej8dCOGJc= Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by PH7PR10MB5816.namprd10.prod.outlook.com (2603:10b6:510:127::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.46; Mon, 7 Apr 2025 00:26:23 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%4]) with mapi id 15.20.8606.029; Mon, 7 Apr 2025 00:26:23 +0000 From: Indu Bhagat To: binutils@sourceware.org, jbeulich@suse.com Cc: wnliu@google.com, jpoimboe@kernel.org, jremus@linux.ibm.com, Indu Bhagat Subject: [RFC, SCHEME_B 6/7] sframe: doc: use new encoding for sfde_func_start_addr Date: Sun, 6 Apr 2025 17:25:58 -0700 Message-ID: <20250407002559.6593-7-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250407002559.6593-1-indu.bhagat@oracle.com> References: <20250407002559.6593-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4P221CA0008.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::13) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|PH7PR10MB5816:EE_ X-MS-Office365-Filtering-Correlation-Id: e77aabb1-122d-4dcd-e535-08dd756ad3b9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|10070799003|376014|366016; X-Microsoft-Antispam-Message-Info: fS8pA2kXeHN6W3+24bgOtxi6rsuuPk50STchAV6Vy9Flu8jtqaqJY07NTG6qd3f48L4sSQ9moDnZYadkrkyFv1LjCHYW284FHHB3Bf+Qb4PyPuKGA63dEkpTDccbywGsbuoFWH2MTNpowazeABlcxnkcc+LeIjt/mZNvACRy7G3F5uBdA/4t2PP27bz7h2orWVRgOgar5cJOPvHPB3v3Wp6JlNCgrBDZrs630D1ij7OVl5fpAn3RChkqIRFWDMZZsNZgSyOxkPLTRlSAHZnCMOVgJ+226YI4vtOB4jhiin98Wy4pStGikOBLKcez0HyGmjmpI5zkraGijX9hPjM9i+D5Q4ssXjk0hizzpo6Ewk6fgiCesOAAis/SJtrAPjJknj2Ojm6TQcU+bzc4X/g35dWVozHRrM9Y0FOhyf/dK2vKwJ9lHjRGeFYQbAJWm1eHaEvdfRqQWiZjQJ2jD2bpvSNWI8R5l6Qvcyh/gEaP0LWGueQDtqTOsQxQjCm11/iZop2N2mRUBJc1tSSOyGfPqUbMmvOem/aaf0RoqLalaaVI5YEsXe2/nV3oHIBjcI8PpEBbAzTWzr3wEVFoZv47Z5rCatiMiSfF5qldY4c1mFMFUzJtv6CQqg28R0ae/++bwUfJFvUo9DcGXtAl0QxACk9Tmi5xKsJmlzFNTN2BaMpGqvJQadgRh1YmkWINnpQRTVKsP291JHFVgFNwpznwQxv900L4t7dQaYAel4cFhERNBaxa7cT+0WsKdtZHhDMBygVoCgeITJZG2++v+p0o1NfWIJ9eDlj33LZ6m7xie1pryEuRfLSj9PCTj00kCEzHxbyHBG3uLuG6hlk+/ytvZjvevk1Vjt0YNMlZ+ifBssRi04tZleNyoEPSX+lvONhM6bKr0JtWHEEsOTmZ9eO5/13Wt+0e4a5aivpem7j46kgEEhxW+daItQ6313AaMWklMgdcmmsXKL9BjMTQXFfBaZtU47bnyXBTOYj/cs5qVYKbSV/85Y3+xvE/6/bJ0sv26f/RKuu0ewPk2vsTJjtZVqQg/B/uCKPwTEkmtqp9NYJn+y2ek2y/vzRnknkAYNPJ4ajIv/eUItuqOID0T9RUE/aCQv0nj0dQIxBJEvPQu9ssfB0zeoJaLiyT3LMlG95RNHT9VEdJZUbEKwp8zDuZehBHCjadpdAFSjJxS5sqrbqBDClrVKXe4T9+4gV7wEy94wGuyR+0hd6KeW4uaqwCPnBehj9kGiCn78UGDYRNhEEbFXbhbg00VlVO0btsYccU950r7haSUxDalh42/Ugt+BncDBPkEQXrRoAIInaq5oEuPHx6IA72xQWdMeQ3G5udYy0VD416y82WOtnz1Su0h9KF/ySAHR5229tXQ4k2NnC0K8QSCkuKnMagvb6B7hml 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)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KxSTxcKXVU/2lXGh8LBS6imS32deJwJsAbcXOu4j5T0Lm5PU5NSBnh+ahTGwfu5QEQ7vcBU/bs8nKaXCEL1AtLMt/jlm2zKZemmuo5t1g2yX2AHq5wabIxaJC4oWfIMGed0HoWeDDJz3c23aQh+X83hLJyxrJUzK2LT8f+ajahpEKWxoD2HUsIus95HE0Fjlq3s0KqixN3Jsoy2eSIZjlOaySu7zMCofVYsPihqMI6c1qCysZbQwehhaPmLKvfAZ0y6wMqaaIj4bfmM2+nvVJR0Kqljpq+81qK9C+LeD/SOYJGOXFw56cRSZjH3VYUIa/1xWFjcDpsh2d0PyAYQ/3zFcOvzMe+l4lUg+YHpRopAA6RH8Dp02s9kRWjAoCoEnd+Z1rEokWC4OfCZdKR1LFGEVrqqRqhQ6ECu/P4yCKVF6teAhzdoBs7DQh6KM5LGFesWNYx3gnkI9h5T/T5kQHSuv8uWqYluWcAV3WAuXHg4vQxMacBEr8k5h1L7g7jbcw4JZnTu8apor7CtnY6AtwXEcx7JJjSHLTfFu9C0CD2rlaxztbmV+3tehdo4rbQylfESTyg4GqdMrLLisiezCoMTbpiZ5FR7r0YAfgc3cv/9jXxKTEWz8zR2+STUgObyug834YdYXJPoOHH2NxQC+mfxq1H9PD3ELbyY5ib8MypUyvg44KSHDVWNES+0mz3Q6MpkkNnwIYUSAZBmy7G0aCjHqQuB1uYFFRPtU06dEwQYhanAddqXnpnwFexsnGy1aNSSyT+QtfpQkbUra7YnUC4OXif/Pjry7Mx1IIY36X7VrWePy5mTGeVaQVmPNByOpRgtvIV2Qvwdwtl3XuJcNA0n1z+4gQa50honEddhAQaq4wdvhhUriKg4RIxO5jVhVdVRWfe0kX/uwjC+NrLdKM+I/cmcN7SdjO6jNkTdtp+ljrNXEEUcSj4rr4wQInhB2w70305KGbVggOnTPT+bsjnuV/7tCkzR1pN7fCjs6+6na6PaX5osdbFcw/U27qUldg6fQ1lMjg5n3yDxuDPPdDCd0DN1D6uAvmP3dTzIC4KDptkC8E2sDA7oM+R+mb+YApLOQW2BEY54X2pjhJREUnG1TULeDRXbeyAF+0sQlU9JSDQu8uV2LkHmTcOSYJfi9OeRqgJtV7xas4ZPPnRjE0tkdayaH1aKBCYiH/M8hr7LG9UuuQaSSIsCtCGgvSB8YJvLzZ3RpV3Becz4P86mek2ZoaIH7kdnMZDcuJrI5DRnT/4gBbCmQbotx7bvRa/5QtVeeaKgsRmQMCSTOgP480wJ7KVPpkMkslQA55RXJLRBb+sfPgBKXK46kSGzvpIUaKWdwX8OlEqDi2JKQJ8Hht/vF6ZXdsaGn4SvUenCrI8fJ52+nBSeHV2RWNn+7C+6iQ3fTXERy52AEXoCKa0M+H9HPYwCwxQydc5cHLnoaVMtNuVNGf86uvMYd1w0+iAs9fIuFk1XxavS5hm1TcknOI/yp/uCLsYUDEBFDZf1D0jxLQj8oSBAlYM5v6l0kifW6iVsIAoU/6zF1Jq1uJuV5K8qh2vsWB13m3qkcOPyMEhGucxpVSTVLYX4ezSb0f0rGmJnDimXxdBdz2qp5OY4pOPG62rlHwcqXzWW9VSm1buY= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: n1IureR2z6bD5HA8ZDNivT6LyGH6qY+YkEjVaeMqghtRONNOpeePIoHxfvE0TnNlW5oS6ysTagP10mUBeLrtMx5OzNG7IYTUrOvHk+SnkMhKAzr9z6tLBIIjl5L2gtStzTv8BBq/htoWJvtL2cE2a2qsfirk9BKXigkYmlUrI8UAPCN8NNKFJMRZniLhRgB6p+L3ni7rKju/daesBQm1oUClOw4SmsIJFBZU+6K1wY2ohWQdKjd1zNIuKiT1FAL3nuI1n1tNNWHAhDGBD1LM1NodpVogrB8xoauATZemV7liVMsdT1jTN34+ZEjN9VumG8in7+oJIUpREbFWGCjSDR831938pTISCWOHvWgFXdWx1BAMLXfww7mHD804ya7RcyrXXujNVWf9oZwmcWb78xMI4lQlu+/DL2CNldlAX7RT/ZhdF1KZzJlH/nDqdLH5q3OcQjtG99BusO/h6bqtEH+6BH90nU3yQ2nRNn9ePD0h+7g3HAGAJ3lGC5S2tOhlNKcB8pXFQtZ2NqIZShz3k4g+/zaeArnudtU8LwQ8UCcTtpwS6VVZc7E5JBQ7lWC/y+4IujHGqClQDxrR5s05pJgkduJgizOde/DT2s/naNs= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e77aabb1-122d-4dcd-e535-08dd756ad3b9 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 00:26:23.6908 (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: cXoU0b+SazN82bb8+Rv/wZRvxZUooENg/m+EiGq0GscsPAM8y0vCZDZLaAWGr9Ml8fGkjCo72ele5ISq/Hgsew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5816 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-06_08,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=888 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504070002 X-Proofpoint-GUID: JyQK4q__y6kdcLmktfBA7aafuS0JBFng X-Proofpoint-ORIG-GUID: JyQK4q__y6kdcLmktfBA7aafuS0JBFng X-Spam-Status: No, score=-14.6 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_HOSTKARMA_W, 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: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org ChangeLog: * libsframe/doc/sframe-spec.texi --- libsframe/doc/sframe-spec.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsframe/doc/sframe-spec.texi b/libsframe/doc/sframe-spec.texi index ae115705ca7..1ab56e5f1d6 100644 --- a/libsframe/doc/sframe-spec.texi +++ b/libsframe/doc/sframe-spec.texi @@ -461,7 +461,7 @@ Following table describes each component of the SFrame FDE structure: @tab Signed 32-bit integral field denoting the virtual memory address of the described function, for which the SFrame FDE applies. The value encoded in the @code{sfde_func_start_address} field is the offset in bytes of the -function's start address, from the SFrame section. +function's start address, from the SFrame @code{sfde_func_start_address} field. @item 0x04 @tab @code{uint32_t} From patchwork Mon Apr 7 00:25:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 109943 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 DCE7B3851AB2 for ; Mon, 7 Apr 2025 00:40:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DCE7B3851AB2 Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2023-11-20 header.b=cYOuLFv/; dkim=fail reason="signature verification failed" (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=PXn8HwGD 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 0DAE538515C0 for ; Mon, 7 Apr 2025 00:26:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0DAE538515C0 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 0DAE538515C0 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=1743985603; cv=pass; b=Aoq4P4cYNt7S7+e/JvAZcXCyqOOYKb9EziRMICshn88duXS9CSsuNdsuy0PQGDv7FvRXUvea7S9tE//2HUVnaLGLTCMcKheBduiA5/CFOM7xSVSdXVGDB5dvJngL9y2cAQy2JSW5m1MN5i2PxrsvliQRfomc68nee++4USrr+98= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1743985603; c=relaxed/simple; bh=KO30LEAqkEJ+Fx7G2fQUfr2IHA2S2fLx2yHbxPWfczg=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=xsy0o7HxMg/NlGXoJqD0gXjxQeisxp/MH0eYGx1kv144m0Jzgwqmbv56G4pjIcVwdrz8r+DtU8M0E08LpBaiNwjDPeR77h08V4q2TBXuKp0hPe9iEe90qhycgZFPaEj1exiKouFWf35fVLZvWdCJuFGtcl9BV2aIee59bCKxQ+U= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0DAE538515C0 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 536NO6BZ003588; Mon, 7 Apr 2025 00:26:30 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=A3PkpcYTPIS7+8xLs3i/KH790pP3B1DqwBEj6ZMHUeE=; b= cYOuLFv/5viEUg9I7S+yArwqdAmimdHG3/2aG9OZfXjOxP2RiW7qV+YJvr2fbdLv 2cYq+jBoffZU0pfxp5K4rNkfWnZva5JTtPY+SCQSt5C6oVQEnmmZotHNdtOC0lWA O0ZDoftfDpKSnwDjIPATI2FbQ4yWPlD5ixF8hxS+jSAVD1qDRQC1JfL1UEUIYtjh i4d/W0mpiPzCbJYux6Gg0j8zYOO58SMoNzisErVtLv8dZykcdkCPRWesS7eMerWG zbbv+3ByLl5ALXqjrGuSdT4RCM3nqHNgAFKZ5TDm7jsk+YONa6kVEmTNVOrXFsat ndCc8wQry/U3OSI5FZ1BzQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45tvjcsj2s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:30 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 536JpCdh020925; Mon, 7 Apr 2025 00:26:29 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttydbn90-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Apr 2025 00:26:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZGkeNCHdoznPhYW16Pg4BR0r5LczaWrKDmk2IxtqWr83of2a0eWLVAJUVOEY2G1U4WmfGf1bCEc4cW4IH27d2/sBdgKMjMdAfIPzMSnNIYM9kJPTl3c/quMbbT3wd9HxRrNtdwmp3kUS2FlRpulsfN1jJnvRROF+srl4lmUu3IO0o6NFtpvpdtL6zA/67EIQE4LJmZI8/tDomEPg/b1T7pQLHFtAoX8+V1MPbx7rer6+VDTZRlX5sxLnrh8ZeHxfzqecY9IiZwRY2Zwqi7924COg1gXIByXe8c3iuHJsng+5tcrEGUBJE75eNVZrngH/gAkG/LEZIPD/PhFueYMEtw== 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=A3PkpcYTPIS7+8xLs3i/KH790pP3B1DqwBEj6ZMHUeE=; b=dP2lYPPWKKZsJbuYZtHI5ikOi5t75Qi7DDS5aI/M4cLqH4K+zxYQFjI+6//zkp2oaOGbw6+0bAwRAjzH/nPbbhU/maVePdp6H0d0ArD7zDI5SYp7PwCjU94MHDfP3e6LqXtpmMMWdBU3CfUtYaB/2fqJm9msyPmOeMde+COE0GMmub119h0h2NOffsj/Br47gZWacd4eSPZf1UA2MChqj8uoEBttw/HcAf2ASD8U21C3yRZ2DTrNQZYkQP/GqxCSjPiAcBme4xBgDulMZ3Liq0Za613KKunLDuUgZQ5tCBjd2VZ5f86KpMtSuqSO5Y2jK+cNzsUzx5O5QXJYKTB6Ow== 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=A3PkpcYTPIS7+8xLs3i/KH790pP3B1DqwBEj6ZMHUeE=; b=PXn8HwGD75JzZuN4eMN0B/opzv0wV8uzuwb0ItHlsvIHegOMoE0LE4JEF1skTmHq3jvASIh6uFJQ3mwPXQZcJbZQpAQS6mJp7YbAzmi16xjoy9VwPMvsUDFeNVG9kilXH8TCiuYr6IwxBDJ5Rm9GkJ1kftzZhN18tYJAbIiPB3I= Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by PH7PR10MB5816.namprd10.prod.outlook.com (2603:10b6:510:127::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.46; Mon, 7 Apr 2025 00:26:26 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%4]) with mapi id 15.20.8606.029; Mon, 7 Apr 2025 00:26:26 +0000 From: Indu Bhagat To: binutils@sourceware.org, jbeulich@suse.com Cc: wnliu@google.com, jpoimboe@kernel.org, jremus@linux.ibm.com, Indu Bhagat Subject: [RFC, SCHEME_B 7/7] NEWS: sframe: mention new semantics for SFrame FDE function start addr Date: Sun, 6 Apr 2025 17:25:59 -0700 Message-ID: <20250407002559.6593-8-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250407002559.6593-1-indu.bhagat@oracle.com> References: <20250407002559.6593-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4P220CA0020.NAMP220.PROD.OUTLOOK.COM (2603:10b6:303:115::25) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|PH7PR10MB5816:EE_ X-MS-Office365-Filtering-Correlation-Id: 5067667a-491c-4e15-da47-08dd756ad536 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|10070799003|376014|366016; X-Microsoft-Antispam-Message-Info: SyBCFF9gHGfEdhwOyEOubyEhxkW64sW1bebUvvohWV5jFZiYhVol2s3H8oE/mcvCpZtODRfQKjB0u02gkddm+iJDxSvPfTxir+Ub0zrBBjkoqZ6e5SgkAVfkMZVgaYrTrqMRFyaCt8UVPFW3jYjnwdio0di7rDrGyEWXVaP3HewNe0nWFFLIvUWgKPcVGEjSUPI4AE7TEUIiwUbSfOpr0WpM5yWzsE/0VZ+GkCBP5hVTEfK/lKA9qs/N41Wp0DqG2Fxnuf1Ky8eqDPg8HGwakTw7duJuc1sZPPuQVwvs4Y43YMBGEj9QJnKPBoDS+cNAM59KhCBVWwtCV4vJ1yoTiSogXOxxZER6tW8WZA2xcuihTmIICf9rohHpx0K0Fc2+t1e2ZgegeBG7ZNh3ChD3oTip6a61wcIBTQFPKO6qRazjPU4Ck1M0CoomS/BONthu7mdrcnWksGZQIRmH+ZqPZOHV74Wm3o7wsuyU+ehCxPQhoMlG3McqRZ2ALk7/dNmmFnAxTxt0CJ9Q0kzgMAWA9+iOR01TxCUcnkORXRBOdA55xtu2o3tEXEwnc1U7tvGVpHhtvsq1ODkN/af35XbdQu4TR7+Lqs6dBrLFHXYxul1gSe7nZPK+sDIZI4vGVCDnnaQxvRLfvDjYTTVeb7a4TU33Oa1lvjs9KZfrnKFFxWKvBo4qQ48Ft/Crd0/vtP0IJoAuBRS39COnbPpimGllhakAnDTwxxtMiGXft0bNXxetB73ZOc0BZojdiTRRlts5lcrGv1n+YrniBzsBvPGknFRGq9maawpYJHLHXrHKp/LB0DKp9vq6D5rpYYwglOAYNdIefykQSid8Fe18kO6sXAZuZ1B/pNTc6LVNqt/XzqST8c7WORXpJJ3V4g+W9aj0fO7u+vvA+qBpYZX1HyBBtke1wsNcumcC2CDs4gQJ3KYR4Zl86UUz9q6aiqq/mWZBzAQhE3+Zz/zEA1r7KRoPbAN5b/MCR9jDyUD0KPAz5/NNC0KfaV6Ah6wk+/NXI9Hdm2EO8ZpjePUo3NKYGhlF0pQKin+HD0Bg1mA143305rED4yTlTMuY3exC8vao8R6fxVmpDlaaT3hPuzN8U7Vm9tqR+sfhWmQYGolq/xkdGGHmLB+gT1gI1MRej5p7QQQtIy/VUZa8qNrYeiPmNZfJRXf7AOduuzLZuT4hEItKemnawBaWOR2nvEpRxCmq8XPG75z9REw/qad8qyTuMW2vrKZgBG7EKG9FXzBgwUPlkYs3zkuks8lTrde8bs4YPuRMn2mEmakwB5e54W6sNDnHYN9R5BhQ0EBypOhdZbVF1TTM4yHbZ3pTSOXLBMcZosDH/ibQ9H5FE4a8qg1tTlHByK88plk438tAMGWLUZY9Dxg0cEEQLN34gZc33j2QtkOO 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)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +a5t1q78CXhEs7CXQ7d203hz1qmqmH7sUZCtlTScc/REfNKONpJqVKj3e8MWrOMUfvxMMb83ttYFSmrpgbl5a/9wLG/iicKfxh0l3EWYs4vI1Vh+30sIo/HgpL69nDbld75lDyi9xtIYAAC99ZCbH8mJaYqfFxMdT6x8eFaCrVnIHro0lEw1domg8jDzEW4e2akp4Q+t5EAIvO19q+g+UC2lJ/B65M0APUjirYMkidJCHA18NIvF0RBBMWYnEp2kGB3pLcZ0SpHssdS2YUuGL+JJbq2Ul9IudV2oKYtWr+43zzu2aKL+Ydtl+gQ7nvdKJQ9vnsyCciX74rxFpp2TcghTP2SxePcyBTuZcuJebT9eGjoolaGuOgDD2gHRH/dAmHGKeCAOac13epJ9HPw4GNsAVgHW5tlJlalnaP6poZ/ZbXCuSIGZh5Jkq+jHksh3T0dA7rbCoyy3RJyX6sTfh+GF6wGtB/sf2UudUhXL5XaONKw1qCfWzNFOKj8uVIAfSsYZ6tawMR/t4Ai1N8kUMHWXxgB0trjC4+pA2JmIm/9NJ9833uWp0p+cqTiWdzv7ku+0JkyFqRUILqg3t466Y0ex7N4Gq/D7rJ7XtCUb6ntZqMfoeHCcWsdCZ9VuSZxwOiWdVYMFZG9a6npqjt9mBH9DlWVsQytIxhMoZ0juXn+qo4fthEGced5FAFIf9b0iSJJGtn3r7hyu+6bIShZWjYdfoWXNsV8pDLOEZLgJV2VvT6+8lw9iu53S0Tdux7S/x42JNI5tfzmKqcEnP6zKdPfWL/jgxXtOzL6/IvRzum07ySLrltpPoizxRJo8y4fsFHqfevYArQrU5nSYuFHN3OAV+d9prLuqvbBiPlHBxiaaGIEFnfgFRu9En6hmxOAm5vkGeX37ZlJZYb8LmPQPRa7Ktw0DkQI/uToM0xxLA6ppHcPV87jH7Ts1fxRUmvUiFIUO0bSTUnNjk/OLZohocL6Fy+oVAd3xkNzSjqif6MypNNwCQ3BG+74W4Ghvyg4BSDnNDVCb7LJbE8RQUFiSNsIpLl4KcCXhDLqFCoBcVEeCJ+9PiCojxerEORTcVYhCMm0Jwx+FJMplCZNUXShwxU/0FP7Xgb2+SNUVysE3a55+cEqLcf3XgsVGSVE6xyjE4M4yuQVuLiNPHypUCXT1vLGl715Bu0lcdlOVtOBLd7bLt/ngwHr5T5jNgVwwYt3dxL4iIWnZSNg3lhLr1jw2AtOzuY3hDodBfiSPkDPPeKeEsy2UGRR62uo31XOrc/sbf/ATKBnFQP9WuJeEKtbB+XTBC011WTrOx0yXdwyYsGMcsiTUKdAH6sK4MMdXDYZwwsGEtKJGIowWlG270od8DXKk021Q5Tgl0XZeM/HutUIlKPKhNHH+p/GSGX647jQU6+hPaSDmdjvAN1t3ixoJG2VaBG/LUz+VQ7XCFtritagh6TVYtM3UcgGtK45O39R8BF2IXI8cfbE2zBVoamLIWAuTJytKAGVkn+DPIu+7fhqJXDNI8gpYDi3HGLUHROWwccEJ0g78ZU4rmvJhAzDCFuH67EI7AliQ1kildINV1AIBmDD3ykmTfpaUByQQnNTI8w9HwnkHMvWUno6R2QI23AD2yZxsNAqpvEUTEiUutzY= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Z+8/OTHPn4irdKOlELUupNtG7uR8sBfnL+CemuOmcYTRYZighJz+O86oBnFZbpMpMnKjduale3D5fEx+YO+moMoLv4u0WGiuwhi1ReRnvXDyzXUg9U/s7+707Ti5CNqR1dnGwte/XdwvfMlNr5plz0EhLaSiT/gN7vpFi81UKr8UIoiyGFhRWtuYfJi6g1dHuNZhvLQ2K9QL72pxlwneDDyHUKR6DCVC8woT1IIsilXyeQ9zDGXAMczSBQ8FrFcLUnFDCdVJNFO4CrUOq/VM1YSzg3OuZLueyViQjl7hf4oc08GtDDOEHtzK+QKRiMRBqBUnufWHTLvuUimkzIs7lYSD1quHrscKwpc+W/F6jVIMkIfAcOOHRRSC6lEZ1/nxx1JZqSyNX/BCJzThvDds7kET0vhJxDV7WF/49zLA0jrczFAv5QS45YiQNSGXhFiLYSdTvTRa/k5beHwY6Sbzullpb3kEeCZOANcwePlAGYFUCGV/5cIm5/n5UxNvqDkCwggCT3ZcVa6A4XQWdbSoSwP5XIi/DQG1ekB3Z9qoH+ZJoBnoPsujNkETeKp/dHcQTf2GVSk5FOINodqpR0BXDcjF1Vjt8VdaxJRrq+FK9uc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5067667a-491c-4e15-da47-08dd756ad536 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 00:26:26.1510 (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: UX5Jx1aimiw2401NLo8tJSXNU5OBz/okyPSaAVOIT7LI2T800X0WrV9Ro4O3+qZpOhyeC3Zf8Lv09q77jkqgpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5816 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-06_08,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504070002 X-Proofpoint-ORIG-GUID: XQnQdaOsx61MPh6fU84LFTjVIHxvABej X-Proofpoint-GUID: XQnQdaOsx61MPh6fU84LFTjVIHxvABej X-Spam-Status: No, score=-14.6 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_HOSTKARMA_W, 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: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org TBD: - SFrame version bump or new flag? ChangeLog: * binutils/NEWS --- binutils/NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/binutils/NEWS b/binutils/NEWS index a4599d91ad9..ff9eeeb39f9 100644 --- a/binutils/NEWS +++ b/binutils/NEWS @@ -3,6 +3,10 @@ * For RISC-V dis-assembler, the definition of mapping symbol $x is changed, so the file needs to be rebuilt since 2.45 once used .option arch directives. +* SFrame: The function start address in each SFrame FDE has a changed encoding. + The 32-bit signed integer now holds the offset of the start PC of the + associated function from the sfde_func_start_address field itself. + Changes in 2.44: * Support for Nios II targets has been removed except in the readelf utility,