From patchwork Mon Jul 14 07:59:25 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: 116220 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 2CFC33858410 for ; Mon, 14 Jul 2025 08:03:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2CFC33858410 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=QMTg8SMU; 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=xaJs6fqV X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 320FA3858C62 for ; Mon, 14 Jul 2025 08:00:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 320FA3858C62 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 320FA3858C62 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=1752480024; cv=pass; b=TYS0L5xGpQnDlyYxxTywKeckAlYOpJ8Qi+17WoMXTZ6IkZs75H/EAf3D7th/B6mmi7b1oKwSSvY8BaQuvTZeczRyNC0ZL3KnYjU1WGk0qn8AN5DNx29Nyjj5t5wZT9z68XEcx8ghScdhaUYyW+Xd/xZuMcweCeopodKd8AsEFSw= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1752480024; c=relaxed/simple; bh=TbcfHziYAfhOo8WEuoxnh9KUCHU4lgeH7LflUyqfXD8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=frDSkub0LNQYqoSZR4k81UzZ/jQj5OdMVCP1YFb7Entr632wKrBkSKPA560a9OHfsmdugWl4I8hFEYCpSFYsdzUZkOgLQnrLawIHJ/hs66UxJqtvkiQl+x6SDEseQbeBWs+6ImgQ4Vym8iP0RK3Woq/x+9nlsJrFEQK8EzsJg1M= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 320FA3858C62 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 56E5ZPWi006876; Mon, 14 Jul 2025 08:00:20 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=/9EEUzpBx5FmmwJnCWdAUF4DzrIu4n1YFOzKoJqrXkw=; b= QMTg8SMUfqtTjF4n1u+SbxdEXa8P7O5Q1bFgbZSuPMHpR2XT68i0SnL/2Za2pe9J KukF03l0IhuTfnVPUHHmw320nlG0qSPZ1KVmpA+idWw0BZZJK/45gIYeCXd4V03y NrOyM8x04oms+gaR2UJ8qhKHmgo5GVU8bTUTtXkcNA2f7xdAJQug8rmuDV6/5c0G lMrQ6Lie9q5qeGg59dcFhG3bAAHZ7M4A8ObUiZZwxAZ2RIgKPcelU0Mlj44g2lEj HzRaSWo468HmUBgLZegsZMTsXU/8PpWbs6KqgE9iZcDZrcse3R77rZXYt0dJkT/e 0mUrnF7/eajJYy3P8ysWSg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47ujr0uk6s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 08:00:19 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 56E68AEM014046; Mon, 14 Jul 2025 08:00:19 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04on2060.outbound.protection.outlook.com [40.107.100.60]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 47ue57rnc3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 08:00:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=klJ7Mht2RCOf5EAg/yyRh81hKZ8Phw+WrKHl0tUpNgkb4STqAC3TZ5sfQNqlxaWNWUWeueLV1iDEEsrbuRkhd8/VX/XeRhX5sdo0arVNXfRUUlawWs3Mvu0jUdTYVAslmfW6rnThtQfg85JMTfFdg1yy0B/ljVEi5+K64sxVBUXuO68uq9aWCUsM/K7e/5BpxAlDD7CLw5WKQ97+uH4sktR7Py1WLnkfg4st3HQ77a7haY+Qd3J4h9fN7xj6nefNtz5tsyr2eRfpGPIhJjk6mDR0i4X4vwFTwDMWdUIhqhZYK8CDEr9bKZiaaVQdzr0i9P1gsClh+uTRTlr/VKnt8Q== 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=/9EEUzpBx5FmmwJnCWdAUF4DzrIu4n1YFOzKoJqrXkw=; b=BWkdzo5pCGwX01Fjh9MmhEFC4+LnvaSDpvvfMznmeD5uA2EG9887Uv4tHgoRpLjEPcvW2jLxYnryMCqCTSSy4ep6CiMM7EVT9BFbUxPPo05tknyrU0BRaZ5CkGbk4PkkqH3eFxpi0v1Ca7VicCXV/WllORNU2OOyPXJF5yWF621m1xVtnhg/2HtgtRTt1Si5Ovx4XUaj00xoGI3o5IjdXBElgagApucafsIdfE3ZKosA+DMQNjhcZVWdcYCpz39OnYhbtc8MlZTvFNQfC4mxQkNj/974GsfEVCqH9rE7ZvGBucmCrIDUQl5AZ65+1rN+FR7WMy+8IWED0Y7bH//1Bw== 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=/9EEUzpBx5FmmwJnCWdAUF4DzrIu4n1YFOzKoJqrXkw=; b=xaJs6fqVjjtMHdzLgiOA0RrjrL1pZ1aX+QC8RqQC/HEWpZT1e/PrYcTp7Uok6rAxTdXuAqAI0tKtyY1LRcTgH6h2VY6LGsFWdsj6k2FPoWMi/qpOwKi4HUT2phRqjtrX6dJP9ZTz5T8k6KSyQ13+soerkJpHJFxezOkyKO/OgLI= Received: from DS7PR10MB5998.namprd10.prod.outlook.com (2603:10b6:8:9e::20) by SJ0PR10MB5768.namprd10.prod.outlook.com (2603:10b6:a03:421::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.34; Mon, 14 Jul 2025 08:00:16 +0000 Received: from DS7PR10MB5998.namprd10.prod.outlook.com ([fe80::af84:77bf:20c6:ebed]) by DS7PR10MB5998.namprd10.prod.outlook.com ([fe80::af84:77bf:20c6:ebed%5]) with mapi id 15.20.8922.028; Mon, 14 Jul 2025 08:00:15 +0000 From: claudiu.zissulescu-ianculescu@oracle.com To: libc-alpha@sourceware.org Cc: jose.marchesi@oracle.com, elena.zannoni@oracle.com, indu.bhagat@oracle.com, jremus@linux.ibm.com, dj@redhat.com, adhemerval.zanella@linaro.org, fweimer@redhat.com Subject: [PATCH v8 5/6] configure: Add --enable-sframe option Date: Mon, 14 Jul 2025 10:59:25 +0300 Message-ID: <20250714075926.34870-6-claudiu.zissulescu-ianculescu@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250714075926.34870-5-claudiu.zissulescu-ianculescu@oracle.com> References: <20250714075926.34870-1-claudiu.zissulescu-ianculescu@oracle.com> <20250714075926.34870-2-claudiu.zissulescu-ianculescu@oracle.com> <20250714075926.34870-3-claudiu.zissulescu-ianculescu@oracle.com> <20250714075926.34870-4-claudiu.zissulescu-ianculescu@oracle.com> <20250714075926.34870-5-claudiu.zissulescu-ianculescu@oracle.com> X-ClientProxiedBy: BE1P281CA0107.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:7b::15) To CY5PR10MB6011.namprd10.prod.outlook.com (2603:10b6:930:28::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR10MB5998:EE_|SJ0PR10MB5768:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b406a27-cd8c-41e2-90cc-08ddc2ac7686 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: MzGkInj+JdHLf7kRdFHCKn4sRc+CIPgDyrY/YTKemaeBYfGjcPPxIGICcjCyZKg0kfzbp5U7THzZszja+NGR6vCqbUHxxnfG1LeQ2Oa6huXwAQ50b2qdFAlXkFW3bjVZczEx8/cqtoxSQN4erxEDci/2V3kxdh93b2XHyJe9Nd3BLTY7ZtY0sosmurFHeYt1uTHPKydFle7NFhvl7AJ91iwDgu+FC8ORtkdXM+fm7N5R8pqA+V4iaLmwTJJONuediQbH0bmd4v9617F1frwMe5ThrBKeSxBSvwTY1sKh5ZBMPUaR7qkX1U3n9x6Aucc8A8mzoNgL0ZAc4T5uWqTeJUDmCINz3DK4s2wFln4yLNEdJRJVe+3HN6cCJJ4E+qURLNRl4ZRrJP5xVr8hErbzX95WhXJO0guDmOJpi4ASAceivgLGcc1y1FELddTrs55r1Od1c7tUogJRVTete9MzbGOiw30VY8ajLOJ7Cw06AMw3toMlkNbsZ2IcJIKALtnyG2ZnRQ2qrZa9la0LCfiaVDuD+dndLyshwTReoo/cRJP6ztZE10fmjrerrP9/vqp2n0B2ffs4w8jVNwjszXpMbWs+di0Lhe4XGproggQqcueKW+9xVXtHbJX8FG7C9jPF42bxAlrriaZmKQhYR7GR6KyZHp8w5BrQTmD3pAcbJbRyNmm3BTMT71Mq16nLKAGiuQcP7MNLyRKnRuoT0SBmn62YHrypNHZMnbKwcBAtCN5PXv9ScygXKCZO1LkxhK5z7IW6Y74ev5hgjjKx0UxakmOwVoxsRhcBxdyNYIIDitaFU/Ctr6bPjeq43Ri9mW9fXsAZvmySykJLcu3R01YxoOFSjzh+cedarngmRxSijMph5kl2z27S3XubueGeHacfJ1Po2PwqbY2qMRAs4VGBy06/5rHvI93Uwii4o8OS7HDDOgKczLFmOoWWjfW1Mgrx56jDGb9eGfJ4q+Gx33j4o94n70ADI2sFmrJ0uUKEg39BasHOU1hcv5565WmtpSd4qlNxHNaiEn/8/oCyfvo9qRoO1Vtj5M2zNEPHIKtIhqv36GScAd9Cv7/t0jHdNbre71U/qGjXkfJIFiK8I957mBc2hfIVlMSEwhkkwM2gyPpVYL2UkWX9F4wAfTPOpm26ZtMVyXm3LrFhF6v624vPo2x+H9B2dV8qTwyLUvn1w0KAJmEs00fXyBmWdQAhn/baddK8GtEnTBf1NItLJtfuVJQXQhHxuXW2Z0cC0cqjUMP3HLEIPf9ea6BQFHTdd5l4B1892jUc8UkNlC+4DMdX0XF1eQXcw7FLjOBLrpgWca4fxO98lLZpSnn9sQ4x8XQBU7XLSehIWhpG8jCXMHexvLSUFN/AKw7yPxzRBVqiZJ6FzLNzlFUJmMvSpBpDsrJO2JDQ7X5o2INbqDLwodQW9bDuEHyPNm07ljBflaYTfHg= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR10MB5998.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: L46tblAp3v0/YP+ZMDIpUYg+Z3oQPra7DVmFU9psaCwPvg7aWFRbswAMquA9TTjEPkU0RCqGQnhn+Bp3nxzh3Vjv+4Coe+yCDHGqOK9vNurPkHTXwZuK3wN0tfXtpjcHCrwHn2//8FYxO3TDgfPTqUv+vMtLS8lBVRGPY3lvSVXAF08y8pkH6+IJjvk1QU64Nu6G7eR2fjWYvnovzJxh0F7vK5RhyAe2ANNg7WjPjbrixh9s9XLaOMFQwtX16FUcosSKgE5UyBXvLxn+wnQFCN5SO1PQFMRX/htE/98xaco7DmCH086hVn7NViYlfVbaxwUTD/TZi+O6lrtM906Ovl5Hw/61yzNP4Xt0lpM8nlI7V/Vv24JcuKRbB9ce3z1Vfe9Z2H4p2UjQivOpZd1waZAsuJNGMaNrL4Fm0H9fsgrcWU62RekSScpuBVYcY8tDRPQtQO5S4eaNZR5ITo0wvfRW7t4dGCyZhAIUFiBtWCLZAI+xNueceY681G4NzW5+6Jk2cvOy/q4Dk9U4x6s16hZVxq7HgYpbd3Twpuny4nqa49DLov8+8X/VqeYNNAMxO5VeGZBnV274fE9ZAWdA4jcVQo/wxcPkZkYmDwRqGXNS2HtLyXryyuZq0Sf7H9MTuu+L0zI6HZPBKlptGOe6itfc6czexp4OSkwjLpdu7UilyrLTC9e86LDV4fPa+1qPfSW4BFx/GPXnxx02qJdlPNcdLcHVM1X1myi1hG4HC59wwYk48W3vr+Sq7e9uA41LG17HX/n3GL4CpAZvW2wwmLK57lXLVXruTbaXXxrZYUpJ19+MTA4/RC9Wkyc4wB9qnCHWvdaXh+hGd5s3LL/GlHxXS6rya5yt61NnZOBN2ZzKjH9+53EZJiqohYe5563+TQJYFRUob7ln3A9XdX9g/tB5mRif/lbGMGfW1vp8bnVOMFzCu7Ckxhj4yfa6yvHp0lqJRmbnc5OvNeiotvkwLBE4ES7YjVFXO4mIYx3dnTmu4W+dU5RdoObFjir5f3QSDYSJGJt7+NyWaaVNe4C5CJ/P6lCwWz6Y/s7gAZX4Vu6K4JIBvgH/nKBJZ494BgKlCZtp1xslCvRIM6FxQrff1pKsHAqLLCL18ovbVhvQLBYeM2BhalO3vcv4Sgx6lT/JCcrosrsJcf8zLluCbD2eHL05pl9h9mXqxQZrfUQhNGlYtAFtQpnhnTjOjPclVF4DvyBjrfyr5+uPQMluVNUAUvEz/KW0Z9nai/JvtLrS+B4rLPTZM9qTFdBIWhhr/8w/ekNWTTCmm3Be0KvhBGRgFIhl/1XAwZWmoVDN11VJh9xBelzIDOp3z2MMTgtVVV01AJmv14TvBC5ZIFFYxz+fdfzHuchciJqwMYPnxrez0dpBw/JdKTcEsSeYGnszRt68BCvsLwqTJLDgr+z7jJRME7KX50/RGuY9DOzpB/9rpvVHlR++zwPJjS7pBDUwGkM9ir5OZ3PSIKJsKJ9BOy5dthKtloZs6WRzI9glzDy/ppegL010aH3/CT+1AvCnAgABIax/kC8y4303Lb+cdVWCD6Q6NxCvNw4ZtyZ12XD/sH68jAenGZAmBjk1fg+5uYw6FSeDzRDFVyeycZxcOZLULkLgmcRCeJXQ6Rqg5M9ZGx0rPRE8N5tyVP0cuI3AEghg X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 1iioovnXEv2bERRhzjLZnoCWLO5jNBE6w+FE7lyfq/SFmGoAl/+lbydpKaie9irAtvfjQfmQn1I9wnAP3YlMZYiUH6n3GV3lYOeTdGJrPyIyKtdBdBIrP0sRYRb73e2SM2EhEiH8C+/MkOq8cjXlbROs7NaCqPR6lBeIemLF5sfjWcFVlPwAfr8t5XoKxwGApFP2tlPoNHtEqjjjQHxCvlxC5dR8eeRr848+S2POnEH8oABRqQ3i55fZmCnbq5dHKHq/Nx8APN67cX+oyXN97wRN+uYEsNP1ZJV56IPGm/K5kMZEp/olk+b5t15IwZekTJs3rwBbz9/iLfANH54AHUIOoHnxme6ZKWXP+L8XfDuB4vUaUU8rPH2mIhbOHijCQras0CNK2GjjWDhNOdgQXc3P7abhjPvdSPH6sIzi82ImqzB+lUVx+AWxQjJZrMyQurLmDYGfNan0Z88nNjzyydCPlcQv7dCsT1Sj0RZCS4eTuFbtJJoMKrvaBR6/7l1auXEM+AZNEptxB5cZS7LidMKm8VDdJ/GLroBBWFD4xQAkSi11r7hIm4OCUzl6bDxUGJVKrvA3idkYT+QJ7Li8WtHwUeNhCadbIJZP51hgY2o= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b406a27-cd8c-41e2-90cc-08ddc2ac7686 X-MS-Exchange-CrossTenant-AuthSource: CY5PR10MB6011.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 08:00:14.1433 (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: UPRVsETHjUgHDva9vHaLlTAHjbqOBYZS0RHIGrO6Sp+YLbWVv7BSu/eMb/jrtobMyhrV0UVkoOFl4zxxV2QxySLY3uRi+ZgX+bfEW5Fyrxf4uOKnr/N/t99KJGC9gRCO0e5zg5s6rki7RdSy/RCUSA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5768 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 adultscore=0 mlxscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507140046 X-Authority-Analysis: v=2.4 cv=d9T1yQjE c=1 sm=1 tr=0 ts=6874b913 b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==: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=yPCof4ZbAAAA:8 a=ymm9HXo0v2evHImVjXAA:9 a=3ZKOabzyN94A:10 cc=ntf awl=host:12061 X-Proofpoint-ORIG-GUID: RQUbdhs7HiJIGUAu_ByVYKzsMaKPuvP6 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA0NiBTYWx0ZWRfXx/rSvDp0SVme bZKObFDklZanQ+CqI3eaYpMUFI/ZLcrKzn6et2CU5lv8TE8qDpytf7xoZMga0SEgY6SsVJ6RgV1 xaWRzQ0zSyaphbmbR78Vuk4uIdMivImVmydIGbMis7Kf5Qe8r3Ay1YgI6AtCpuzBLJ0zDQpoJZy rAGVU17uoANxnGrEcHjTmpakJizVrH0picFJgnc1HindROEljV5d9fe0Fp1Qmoen7Cean8aSofu v+6Fw8WYt9gQBUArrgt3LYG767iJb+TEVvN+McV56j77PqNeM/tGSltco5nmR/vedXWRt1j+eKp 0r8lGFZyZRJj1splRIEV1w/8EJKAN8pMRzL7d5zb0LjIC0vB/6eX2llR32L290/XoeVOwd98QKD /A6zfxpzXUhwfJ2R+Akedt8fQcJ9EajvutUbqPp/ix2AO4c2tvVNPFefiwoWHDYssHqupGjl X-Proofpoint-GUID: RQUbdhs7HiJIGUAu_ByVYKzsMaKPuvP6 X-Spam-Status: No, score=-12.3 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_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 Enable SFrame stack track information. The --enable-sframe option allows the glibc build to compile with SFrame stack track information. Thus, enabling glibc's backtrace to work within glibc. Signed-off-by: Claudiu Zissulescu --- INSTALL | 5 ++ Makeconfig | 8 ++- NEWS | 4 ++ config.make.in | 1 + configure | 129 ++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 44 +++++++++++++++ manual/install.texi | 5 ++ 7 files changed, 195 insertions(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index 1c4d4b990f..cf60e1a380 100644 --- a/INSTALL +++ b/INSTALL @@ -291,6 +291,11 @@ passed to 'configure'. For example: Default is to disable fortification. +'--disable-sframe' + By default, the GNU C Library is built with '-Wa,--gsframe' if the + current GNU 'binutils' supports it. You may want to use this + option if you don't plan to use SFrame stack tracer. + To build the library and related programs, type 'make'. This will produce a lot of output, some of which may look like errors from 'make' but aren't. Look for error messages from 'make' containing '***'. diff --git a/Makeconfig b/Makeconfig index 1bb143e950..8ca41049af 100644 --- a/Makeconfig +++ b/Makeconfig @@ -1022,6 +1022,12 @@ endif # Filter out 64 bit time_t flags if compiler defines it by default. +cflags += $(no-time-bits-source) +# Enable SFrame while compiling for stack backtracing. +ifeq ($(enable-gsframe),yes) +as-sframe = -Wa,--gsframe +endif ++cflags += $(as-sframe) + # Each sysdeps directory can contain header files that both will be # used to compile and will be installed. Each can also contain an # include/ subdirectory, whose header files will be used to compile @@ -1170,7 +1176,7 @@ endif ifndef ASFLAGS ASFLAGS := $(filter -g% -fdebug-prefix-map=%,$(CFLAGS)) endif -override ASFLAGS += -Werror=undef $(ASFLAGS-config) $(asflags-cpu) +override ASFLAGS += -Werror=undef $(ASFLAGS-config) $(asflags-cpu) $(as-sframe) move-if-change = $(SHELL) $(..)scripts/move-if-change diff --git a/NEWS b/NEWS index cc668344c1..59b0b18f0d 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,10 @@ Major new features: speed_t is redefined to simply be the baud rate specified as an unsigned int, which matches the kernel interface. +* New stack tracer using SFrame. Introducing --disable-sframe a new + configuration flag. Building glibc using sframe is automatically + enabled when the build system supports it. + Deprecated and removed features, and other changes affecting compatibility: * The glibc.rtld.execstack now supports a compatibility mode to allow diff --git a/config.make.in b/config.make.in index 59897eaec2..382e003d87 100644 --- a/config.make.in +++ b/config.make.in @@ -51,6 +51,7 @@ c++-cstdlib-header = @CXX_CSTDLIB_HEADER@ c++-cmath-header = @CXX_CMATH_HEADER@ c++-bits-std_abs-h = @CXX_BITS_STD_ABS_H@ enable-werror = @enable_werror@ +enable-gsframe = @enable_gsframe@ have-z-execstack = @libc_cv_z_execstack@ have-no-error-execstack = @libc_cv_no_error_execstack@ diff --git a/configure b/configure index 53f7d1fce8..6595d6be54 100755 --- a/configure +++ b/configure @@ -620,6 +620,8 @@ DEFINES static_nss profile libc_cv_multidir +enable_gsframe +READELF_SFRAME libc_cv_test_x86_have_amx_tile test_enable_cet libc_cv_test_cc_mprefer_vector_width @@ -822,6 +824,7 @@ enable_mathvec enable_cet enable_scv enable_fortify_source +enable_sframe with_cpu ' ac_precious_vars='build_alias @@ -1507,6 +1510,8 @@ Optional Features: Use -D_FORTIFY_SOURCE=[1|2|3] to control code hardening, defaults to highest possible value supported by the build compiler. + --disable-sframe Disable building with SFrame stack trace information + [default=yes if GNU as is 2.41 or older] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -4885,6 +4890,16 @@ case "$enable_fortify_source" in *) as_fn_error $? "Not a valid argument for --enable-fortify-source: \"$enable_fortify_source\"" "$LINENO" 5;; esac +# Check whether --enable-sframe was given. +if test ${enable_sframe+y} +then : + enableval=$enable_sframe; use_sframe=$enableval +else case e in #( + e) use_sframe=notset ;; +esac +fi + + # We keep the original values in `$config_*' and never modify them, so we # can write them unchanged into config.make. Everything else uses # $machine, $vendor, and $os, and changes them whenever convenient. @@ -9341,6 +9356,120 @@ have-libgcc_s = $libc_cv_have_libgcc_s" +# Glibc stacktracer supports SFrame v2 or newer +libc_cv_readelf_version_ok=yes +# SFrame is supported from 2.41 or higher +for ac_prog in $READELF +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_READELF_SFRAME+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$READELF_SFRAME"; then + ac_cv_prog_READELF_SFRAME="$READELF_SFRAME" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_READELF_SFRAME="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi ;; +esac +fi +READELF_SFRAME=$ac_cv_prog_READELF_SFRAME +if test -n "$READELF_SFRAME"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $READELF_SFRAME" >&5 +printf "%s\n" "$READELF_SFRAME" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$READELF_SFRAME" && break +done + +if test -z "$READELF_SFRAME"; then + ac_verc_fail=yes +else + # Found it, now check the version. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking version of $READELF_SFRAME" >&5 +printf %s "checking version of $READELF_SFRAME... " >&6; } + ac_prog_version=`$READELF_SFRAME --version 2>&1 | sed -n 's/^.*GNU readelf.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 2.4[1-9]*|2.[5-9][0-9]*|[3-9].*|[1-9][0-9][0-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5 +printf "%s\n" "$ac_prog_version" >&6; } +fi +if test $ac_verc_fail = yes; then + libc_cv_readelf_version_ok=no +fi + + +# Check the current toolchain for SFrame support +if test $libc_cv_readelf_version_ok = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SFrame support" >&5 +printf %s "checking for SFrame support... " >&6; } +if test ${libc_cv_default_sframe+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) cat > conftest.c </dev/null 2>&1 && \ + # Check if .sframe section is present and if version > 1 + $READELF --sframe conftest.o | grep "SFRAME_VER" | grep -qv "VERSION_1"; then + libc_cv_default_sframe=yes + fi + rm -f conftest.c conftest.o + ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_default_sframe" >&5 +printf "%s\n" "$libc_cv_default_sframe" >&6; } +fi + +# Prevent enabling sframe on non-supporting toolchains +enable_gsframe=no +if test $use_sframe$libc_cv_default_sframe = yesyes || \ + test $use_sframe$libc_cv_default_sframe = notsetyes; then + enable_gsframe=yes +elif test $use_sframe = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error $? "toolchain doesn't support SFrame v2 or higher +See 'config.log' for more details" "$LINENO" 5; } +fi + + # Set the `multidir' variable by grabbing the variable from the compiler. # We do it once and save the result in a generated makefile. libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory` diff --git a/configure.ac b/configure.ac index 09d2ab721c..25b80e34e4 100644 --- a/configure.ac +++ b/configure.ac @@ -440,6 +440,12 @@ case "$enable_fortify_source" in *) AC_MSG_ERROR([Not a valid argument for --enable-fortify-source: "$enable_fortify_source"]);; esac +AC_ARG_ENABLE([sframe], + [AS_HELP_STRING([--disable-sframe], + [Disable building with SFrame stack trace information @<:@default=yes if GNU as is 2.41 or older@:>@])], + [use_sframe=$enableval], + [use_sframe=notset]) + # We keep the original values in `$config_*' and never modify them, so we # can write them unchanged into config.make. Everything else uses # $machine, $vendor, and $os, and changes them whenever convenient. @@ -2115,6 +2121,44 @@ AC_SUBST(libc_cv_test_cc_mprefer_vector_width) AC_SUBST(test_enable_cet) AC_SUBST(libc_cv_test_x86_have_amx_tile) +# Glibc stacktracer supports SFrame v2 or newer +libc_cv_readelf_version_ok=yes +# SFrame is supported from 2.41 or higher +AC_CHECK_PROG_VER(READELF_SFRAME, $READELF, --version, + [GNU readelf.* \([0-9][0-9]*\.[0-9.]*\)], + [2.4[1-9]*|2.[5-9][0-9]*|[3-9].*|[1-9][0-9][0-9]*], + libc_cv_readelf_version_ok=no) + +# Check the current toolchain for SFrame support +if test $libc_cv_readelf_version_ok = yes; then + AC_CACHE_CHECK([for SFrame support], libc_cv_default_sframe, + [dnl +cat > conftest.c </dev/null 2>&1 && \ + # Check if .sframe section is present and if version > 1 + $READELF --sframe conftest.o | grep "SFRAME_VER" | grep -qv "VERSION_1"; then + libc_cv_default_sframe=yes + fi + rm -f conftest.c conftest.o + ]) +fi + +# Prevent enabling sframe on non-supporting toolchains +enable_gsframe=no +if test $use_sframe$libc_cv_default_sframe = yesyes || \ + test $use_sframe$libc_cv_default_sframe = notsetyes; then + enable_gsframe=yes +elif test $use_sframe = yes; then + AC_MSG_FAILURE([toolchain doesn't support SFrame v2 or higher]) +fi +AC_SUBST(enable_gsframe) + # Set the `multidir' variable by grabbing the variable from the compiler. # We do it once and save the result in a generated makefile. libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory` diff --git a/manual/install.texi b/manual/install.texi index 006f93bb71..0c8d448362 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -320,6 +320,11 @@ If not provided, @option{LEVEL} defaults to highest possible value supported by the build compiler. Default is to disable fortification. + +@item --disable-sframe +By default, the GNU C Library is built with @option{-Wa,--gsframe} if +the current GNU @code{binutils} supports it. You may want to use this +option if you don't plan to use SFrame stack tracer. @end table To build the library and related programs, type @code{make}. This will