From patchwork Mon Jul 14 09:43:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Zissulescu-Ianculescu X-Patchwork-Id: 116228 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 7EDDD3858C51 for ; Mon, 14 Jul 2025 09:51:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7EDDD3858C51 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2025-04-25 header.b=OmgqNlZp; dkim=pass (1024-bit key, unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=JZ1Wz/fL X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 139693858C42 for ; Mon, 14 Jul 2025 09:48:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 139693858C42 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 139693858C42 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=1752486505; cv=pass; b=xlS7nQXEP622AQLNufJCL5dlZaVj1GcVc+hfLu6v8h+lTJaBVLouFWOMq64QgoUT8DmdJ8Eq6q46PlXA468MMJIKIOAGmP++eHYgm5Fgy3aG14SDhXiqk5l3S8MjmJCEfQNK7K9horBV7DHRVI2Pz84t9Hl53T8m9GkApceO590= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1752486505; c=relaxed/simple; bh=Y5N7MTjDFyWmwvfIAuwQ63J0n4a3+UJWB9c/RiBzfr0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=US+C80Nb8tXCGytJ6BL4m9H/yzNypPzopdArMeuQxGnrFLur/aICueJYsgNIjUztjMLNqOkcGH3YOQhOwrjD5zzR8FpH0pKiqE86z33ESucMomah3wXYNs/JmuzEAyqr9GVC4lQZlB1qxzIVqqNHXksYkvHmviIKGzIogkhAwpU= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 139693858C42 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 56E9Z7F5019077; Mon, 14 Jul 2025 09:48:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2025-04-25; bh=ijGLEUiNr4R3g0oU7ovMyDyR/TcasKNrX/0z9NHdpgY=; b= OmgqNlZpLBSKsEPMBK1EwCg+O9gMzoRkvXD6nsLFWvjF4gIXTfJuF11efni94DFd bDme8H2U1BgG8hF/bZjcosHWyTjfYDZLKHnKVoN3HPs0rmCW8ZRwxmt063DQGW7k uSDaDN6rDsEvyHS80uWpNVkNAbBbpR85VwdOexDGrlV3b4Zegmc+rP3+f66ov+iJ qHyP2DSNoRgktkrFPr50sh3XlT/BdzTPCpFWYnf/NQNTHTNWJYo+eDdTiZxFhXBr bbiKYkWV3UCI3R5KxGI67AV27wXe+ROyXWAO8BLQum9pzyc6TiOctnpFobBs8rwK lNvS0A3I5/svsUkx17mWNA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uk66ukym-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 09:48:23 +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 56E91I1F029677; Mon, 14 Jul 2025 09:48:22 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12on2069.outbound.protection.outlook.com [40.107.237.69]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue58baba-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 09:48:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CS+tpBXuKfiXodOa6BxWf9v/DBun0C2vTFERdZ0z3Mv4bU1znY9H3fJ9f8kxrrQNtyt0iTFW3mmVqkfDC5Rm9v8j5/kqcCZBdnw3hPjHBQsXevQq5pxD4MW36oUDfJ10u5KsECrUqN6sewGzpG4FMzsnjMT4B9LXik7UilEpWlAMunrIb1I9HML/e6znN4C4dyc3BRZOi2EGEoOZ3geqNKBh71DtjVDP/bciI3CtZBik+AQsM5cVRdYTNR2c2zNr8sFfjbL73bXYdnH/Cl/pq4N00DlK+AOPxetBwm03oI5D2sZkC4/3ewzEBv9q9C1JtObBQqBjDnsKAwT3Ir4hSA== 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=ijGLEUiNr4R3g0oU7ovMyDyR/TcasKNrX/0z9NHdpgY=; b=NKw0hayKj/pRpPcR1/WzKYhe7DfGW5dPvFQY3ZaRWuZPOgOxT7IAx1pUee0PV0lgTwGGJKS1T2Vtgow9rtHuwyzbotVLFsIhyBWZJ+24oiuQ/JKEoELLK9rJr7EWj8tIU0fc827HWkY3j6UCR1XFYOKZHj4FinggCCVnEo2UmHWFA4TRh8FjXVJXXeXcNnHGmEiu7mn37BsbWIbiS8kAG3XgMy8bbyayLGJMA9WdkQWNjC1CTxLpZXwvKs+0ely+znYGHYLT+VfsSLxmOHfe7KA1bwIrP2hSmlrfX0OQgLXKqXHbbAPP/YstvSk+MRdsV/Zl+7mIKv//N9RqDaB4NQ== 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=ijGLEUiNr4R3g0oU7ovMyDyR/TcasKNrX/0z9NHdpgY=; b=JZ1Wz/fLxz0Mu80KCvJXt7XSTZwv2SqH7AJWtb9xoyJXhCDf40erGARIcH/AxpnGSvWlYDuFqBgjxbxA2Hl016F9zoFbbzTUext4BKUfSl6Z4ZR+V/pZfaiM7EzVBDfsfLe0ytL1vz9I1slYLgFzfpJ7Yf3t8NUh7ZoSQhblC4M= Received: from CY5PR10MB6011.namprd10.prod.outlook.com (2603:10b6:930:28::16) by PH0PR10MB4710.namprd10.prod.outlook.com (2603:10b6:510:3e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.27; Mon, 14 Jul 2025 09:48:20 +0000 Received: from CY5PR10MB6011.namprd10.prod.outlook.com ([fe80::3aca:a3f6:e92f:782e]) by CY5PR10MB6011.namprd10.prod.outlook.com ([fe80::3aca:a3f6:e92f:782e%6]) with mapi id 15.20.8922.028; Mon, 14 Jul 2025 09:48:20 +0000 From: claudiu.zissulescu-ianculescu@oracle.com To: libc-alpha@sourceware.org Cc: sam@gentoo.org Subject: [PATCH 2/6] x86: Add SFrame support for x86 architecture Date: Mon, 14 Jul 2025 12:43:27 +0300 Message-ID: <20250714094805.43078-3-claudiu.zissulescu-ianculescu@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250714094805.43078-2-claudiu.zissulescu-ianculescu@oracle.com> References: <87bjpnmbud.fsf@gentoo.org> <20250714094805.43078-1-claudiu.zissulescu-ianculescu@oracle.com> <20250714094805.43078-2-claudiu.zissulescu-ianculescu@oracle.com> X-ClientProxiedBy: VI1PR0102CA0033.eurprd01.prod.exchangelabs.com (2603:10a6:802::46) To DS7PR10MB5998.namprd10.prod.outlook.com (2603:10b6:8:9e::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY5PR10MB6011:EE_|PH0PR10MB4710:EE_ X-MS-Office365-Filtering-Correlation-Id: 8626b7e8-a4b4-4c43-c596-08ddc2bb906d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: EEMqDJI8Xr8c9EGjRhMKKod5o/RnecSjVXu56+PRJ4zEiVX7hN7YdspcK/BdggSb+Y33qBbboIaRW3bXcrFA8ugHh4hezEfXuoRZpKnX/5pNhVHneF+iea8vJlufHcYbk/g2DNRI2OSEQzQAMtj5fEJaQmV8KFY/RpAriHNBbV8ixfhxbukFIJIoQEEBi4YH2rypR1Oq84U1IoYSlApM5+QcUu9v7Pz3CTGkkq3EyiB1Ub6ISCLJmIbFBQQSx7RGi02XL6YLuBcJsFIw8n50kSMezqvdo7kgktTBPxhhSzUox+y8AdQNFJ5maK1kG0LRJ/CYQPSE88lXEmKQJQdPttwWcmZ34EqBlutL0qXBpnXLB/u+CXmWIOlk7MdweIijMuxrN6uUCHq4TuQ2LGfJ5WJHVPnf1K0JjrtTPIfjkLtmMsRxWM4/lgNg86bgRT99YgyCofDlJbBPG+VOmqTWn233fZNAzgX4kHvQeGi69Ptt+z/NTIrwxG3gx4B02VqUyuFJVar0eyIN3bYkY8nQYpptMl9xkJOiqTw9xQd0pcllsHeB0tOzlV4BSQnOZLKom507fmr9MGSMPxZidqnTmrslcExIIBr4u4ElTelZXNkfVGD8lQ8/ip7bP0HX2MZ6ZJXyz2JRU10LviFeHf7GFfjrs7AOxOD5NIElF3snbOD4DmN1aIffUcJu6QQFtUUr88V8/I2twLpt/UhmZUGLYOW08xdKuY4t9Sfp+Vb/ZNqjxMVzAH+gIOzExJX2czUJ2BqlMF+v9vUa33KVcRC7bbWcHkt6D3QAZuk0ptTVA9YJcgAqFt7HMu7NvQ9uQUVmxDtAEQFcbHUWlp24sLrq5T+8XnYXRy8DMKdE1l1T3Yu14aznNXTaop5tkZiPNwrG4+lQezx68eV9ABnJbqaiqe20GTjXEtcnlx+7vc6oPDiRZLanajKkhAK/dFQ+c+3X39Wqp2bNXetmQicM9lOGTjA7DUPaKVz116HPOuFMFD5CCZ/EawrK3XKAEHlr5ATEDIMMCQxbqfxSitwkSUuadfnMMNuyZFfRwxP9kcvgJbHg3CO1EA/lYYTLG72e4RKNNX+ZYarVdkV4tslFxbiqH82PmUSWioxuU58y0NuTqaORdc9T4bpdyPV9rktuZE+ctTEDlCpOyKHGFlrXIuZzZ0Qx9d9BzEcBkJUrlLTq0k/BiKXplBUKyEfdqARurU9rx/Av/jh6+AHeUfzN4uibVKJ6Q0WSbPo4znaWz7D4hf+rv9eKTjXF+mHbnIB+MiWWNFL1UGa0cI6NgBOBs+NT2Q5ZkYoXi7z9DajqHVlvLutGw4IXzTq5+MaXlyi7kbUsy+HC/cvo5TxhOHyBf4Cb/ZDAZI3RzFjH4wHoKbwXmjrMlcZv7t5f06kGkqc086aXL7I9liXLm9P6O2b/Js0VoDG+T6MvX5eeiy3gSFEW0Ok= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY5PR10MB6011.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: v4kIJSKIX0NOMO+ETY4WYURCiuZZSyRgwlVSJE/ChXxNaNUlwCOkgR8AcgfnP7g2GzloOPKtpIZPTGkAxBiJVTccu8ha15gEkPbsuYgc9TlJ52jZwu3Xl7RNGjwLzIdsMNYv0cnCpOIWyMEQ+ItANpYVw7Um5PiooCzrpAyFC6OBpkLKGwr6z98fZEjoO0O58BrrrC+lbR18X5uMMqFuA8OVKTN5fMqIK3LNe3jm678yttDDaq4NbLijATLSrM0P+NsQhWb3bNhRmPwkVcPdcMARz1nVp5JOPs/Wb8ZfUpVtt/dJA6oZts4+AsNwj5XT/b6P6CO6TiEnbVFumsEnavocj0IzvT3IFXKoiF8hMnsJg4NeYQaOaVq9eELVerFVPfb894bSaWslB6BfTwBr8BnHJk/GTFqYyjDcdAqkZuqQfCtnIgGYiQpvS9cMg9dGSEkXk9dHPIwzvLGcx8W1DAxn5BJzO3EKw3rkRKCZMjwNhlEQJEGF16h7Fltkm5xUBKRU6wIssDerfkNB3qnDFCcoNsYTutr3f3GxHqBk5VzxMwUVXOuWo2x2otjT0g7+2DZl++CrWIuFIenEr6xYDsDEc7ApMLQFvwA4mwLjewBSHk1pigQyWcgc7ZQk4KcCqNPU0yqzHhG0jHO44FzIGWyYMTup7bNmh47AhCcGmuTfe32jJHuKqLj6dwcrgt9W3tDZ587/Guw2tagfPQIh1Mp0GDOgAd0qhMksZcOL/C1Njv9szq6UIEaTFeDBT611urietJWJIn4laNs9M6CS2wEas0hiFcrixjjgfTmFFgMQug3u4WqZH814tsBMAhcgwh5m5ulH+KCv0Rm3+vocxilNxuY6rn3vBhoakL2ALuH7vOpvvjBwfxhQQdLRHd/8HOgpXXTdGwxy2TFbu8pBFsWeNFGH+82CQR4MoB+z/HHFekSczS4sZdLU6Pgl1nTKj/LcprHs3qN7mA1wd/5j5dREEuhlCQAJjwq2GkWPIPfbbzuaa7+uGz5WtDtOpNw5xhDWpqSArrwH0OLqoXOCwf1H1N5PnhV3Wi9JIFYvKD4OMFyfJBepuKO4gqjeIMaTcA69gQANyiJuZ733fgpS5GFozcwcG7QM50NBYUciNlvY01kQEqwNDvckNH9eEuOrN8nGmoL//PQRTRmHenXhC5xT9hkb9Ohg9QtlbkyLVTCxyv/45YhI2ur04r+68k/+H316osth1j8xkAyhjOj6Vdf3kQLxvEryEheX42rf8yS9P4nmibGS4ZShad7YIGEBaBk5YjWGgcOAOI2toXNUdDM7RkHHg/wFEPvqaBSvQH79Ngb+54KyX2P9AgCCxooSJ+ZOM4QIW0ptR97mUYvcrk7MRIoJcq0u1pBNsu2ZxiwsnPij5GEhHl8o6BQop2sW69Ut82A1/96hqfdZA3/4ECeV5HesZmdvbFlbrqYjdn+4eFkRUVNWidd9inviyeA1VAniw6ba97xyCAztC0AQGjING9lDikApB+Jz4kCiFDuXvXBgFNmi9P3G7EBfWlZuLj8uU+8vvjJXdn6BOHbGz6LFeoZ3UO8BUTRubatPZHEeANJ4IDwMxwENYVuDvtT36nVIp2g1gjjG9ijcgkhftsoHfZZExNuech9FrpTznxWb3TJPzy5HQHqcawPcCp1W X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: E8nxPi8nUgdf8ag6lUM5FPraHG6QPSn7RBUqjQFPv6t0ujDTIG69QTO2GzOL4kxsSWu1vfecbEIT/yKDxbZFx7Gvcyj5o7Yly58HeKS0VY3UGiCTCS0VRow92wBf+CrF3rGtv9DStGrHp7po/nyXG0tgG+1uwp8nA6mnSw/euruNAvshoC9TnZ2GGBFqQg4wfq4ZNpKeMpa0XXGfVhlGXsezj5DHq3ZE1P9/+GV8WCWZJWU2yKw6sovq7bcgUT1IyxSYQovji33EDchV0aodiMrxZ99Op4jb5uifIU7Vxqt5zUtgbY/kaNb2H6tXHVDS5TmpA8WxHKbtqFg1p5ty0pJ59b1hp5AMevYbTseRqoaB4HhH1R1uRvTj05nQgwELboUc2B6NFhjdJvPu/fJG7UVDKBcnAbP1Cavq0hGo3/wYP1kbbdsK41NxGfpWUwTJdu+CJ4Qjc2Jy4OdTbDcjvL890J4k+UX3gC4K7sTIwjuhtJ9JXMfWXNb+NaEGOybesxOd7ebfAbAQKAbinXwRceKtQIO22IVBbl0VswHK6riI8mKVhXF8N+IyjKi2d2Woolk1+Sk9LLZidN3XkOynh51c5m5E6OosT3EryFnkm7Y= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8626b7e8-a4b4-4c43-c596-08ddc2bb906d X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5998.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 09:48:19.8995 (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: 8SOPCGfSBnTbu3uEMkfzkvmzT39JUkOrgJt3z2gU2PvclZgjtQai6WYsY2v+zemkDDQzC0wZGzXDhJL6jO9dOJtCjtukre+Lpjnm2943rTRqZbuCHZOWPr23buWx2pTHaEyCinU8qB1XzbRHaezmzA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4710 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-14_01,2025-07-09_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 suspectscore=0 malwarescore=0 bulkscore=0 adultscore=0 spamscore=0 mlxlogscore=999 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507140057 X-Proofpoint-ORIG-GUID: QSRhixi15L-sbnjJGSFJxGyLhjeaUFqQ X-Authority-Analysis: v=2.4 cv=AZGxH2XG c=1 sm=1 tr=0 ts=6874d267 cx=c_pps a=XiAAW1AwiKB2Y8Wsi+sD2Q==:117 a=XiAAW1AwiKB2Y8Wsi+sD2Q==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Wb1JkmetP80A:10 a=GoEa3M9JfhUA:10 a=mDV3o1hIAAAA:8 a=yPCof4ZbAAAA:8 a=20KFwNOVAAAA:8 a=xJtGpYw1u3CxIbeD8TAA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA1NiBTYWx0ZWRfX05h120gBXdxc J6WAeiti5PLeY4VHqyf6UihxuOeQwF8LrM3YgpvAf2URGJkE1r2YfcTHxWch3nSvMR0LKHSN5d0 r0MaIIZgJ5RoVW2hDDdCUmXudpA9zQwzV0xaOP/6ErNksXJgUDMKHaZoHzv1XaXwPHs+P+RY0wo sFPMcSFKZqwzJQcZXvfyAiobJPgEU4hxt18KviJmC5B5NW05eH3CqqEL9SjRShA8qwmUFFIiFEf tH1LY6fXOJujPklqVU6YtWw0LFkUwyq68Kduj8oOyhQAhLmcn+9fTfsIVaoTLHNwMwm4y8cfPri EkG3APDw8s3YQpM7JIZR6vm8SVavwwSrO8XyVBWXELFGOzuu2oRfAJYpXSzEp+ofRy4VIU+Hecd BZ+qUyY3RXo6U6XJRrG3jqMz1cy2V24WYD7Sw58EXtXbOjzY6tKKWNMrRxErSROQrY87zelb X-Proofpoint-GUID: QSRhixi15L-sbnjJGSFJxGyLhjeaUFqQ X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, 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: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org From: Claudiu Zissulescu The SFrame is well supported by x86 architecture since binutils 2.41. Enable it to be used as default frame tracer. Signed-off-by: Claudiu Zissulescu Reviewed-by: DJ Delorie --- sysdeps/unix/sysv/linux/x86_64/uw-sigframe.h | 76 ++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/x86_64/uw-sigframe.h diff --git a/sysdeps/unix/sysv/linux/x86_64/uw-sigframe.h b/sysdeps/unix/sysv/linux/x86_64/uw-sigframe.h new file mode 100644 index 0000000000..585ca011eb --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86_64/uw-sigframe.h @@ -0,0 +1,76 @@ +/* Signal frame backtracing support for SFrame on AMD, x86-64 and x86. + Copyright (C) 2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation; either version 2.1 of + the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* This code is inspired from libgcc's MD_FALLBACK_FRAME_STATE_FOR + implementation. See libgcc/config/i386/linux-unwind.h */ + +#include +#include + +#ifdef __x86_64__ + +/* SFrame is only supported by x86_64 targets. */ + +#define MD_DECODE_SIGNAL_FRAME x86_64_decode_signal_frame + +#ifdef __LP64__ +#define RT_SIGRETURN_SYSCALL 0x050f0000000fc0c7ULL +#else +#define RT_SIGRETURN_SYSCALL 0x050f40000201c0c7ULL +#endif + +static _Unwind_Reason_Code +x86_64_decode_signal_frame (frame *frame) +{ + unsigned char *pc = (unsigned char *) frame->pc; + mcontext_t *st; + + unsigned char pc0 = *(unsigned char *)(pc + 0); + unsigned long long pc1; + memcpy (&pc1, pc + 1, sizeof (unsigned long long)); + + /* movq $__NR_rt_sigreturn, %rax ; syscall. */ + if ( pc0 == 0x48 + && pc1 == RT_SIGRETURN_SYSCALL) + { + ucontext_t *uc_ = (ucontext_t *)frame->sp; + st = &uc_->uc_mcontext; + } + else + return _URC_END_OF_STACK; + + frame->pc = (_Unwind_Ptr) st->gregs[REG_RIP]; + frame->sp = (_Unwind_Ptr) st->gregs[REG_RSP]; + frame->fp = (_Unwind_Ptr) st->gregs[REG_RBP]; + return _URC_NO_REASON; +} + +#define MD_DETECT_OUTERMOST_FRAME x86_64_detect_outermost_frame + +static _Unwind_Reason_Code +x86_64_detect_outermost_frame (frame *frame) +{ + /* Outermost frame has the frame pointer cleared. */ + if (frame->fp == 0) + return _URC_END_OF_STACK; + + return _URC_NO_REASON; +} + +#endif /* ifdef __x86_64__ */