From patchwork Mon Jul 14 09:43:30 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: 116231 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 443693858C66 for ; Mon, 14 Jul 2025 09:56:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 443693858C66 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=Jml3HS0w; 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=v09TQJ9q 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 671A03858C48 for ; Mon, 14 Jul 2025 09:48:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 671A03858C48 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 671A03858C48 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=1752486520; cv=pass; b=k4X2nEkCM6hgJT2la3Stc4vUI7kxNACxIaGaIFMMEEhh1+Fs0TaPGJsRrc196WWbdrEaj1QSSXnu4gXKdm+0ukEZlJv7faVwf9S4B0AHuwPAmuCP6NR60SwWHF7YNgccigMl3aiidWq7OFpgJSTU3eF6Cj0jQnVBFM4AyuT7bgY= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1752486520; c=relaxed/simple; bh=HrN9fwzZxP1Vvi/QVyYRDO3pfWcZ320QPoD9P8eqR3Y=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=FG80FjrJtOEw7SKMEweDpwYwCe3Fhzsn0oz9xo12hG/r0uCNuQVi00oPmhzmlCJO3x/xvzyu2Aje4ajIUUkWA6Y3i5F3+Km6DucZ3yiIzYseRwe/Zo8mnJx2mC9iQn93pmw2R9uA7q5mrt4xf+brpIHJcwFVRaL+GrID3I+kLmY= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 671A03858C48 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 56E9Z3kJ004520; Mon, 14 Jul 2025 09:48:38 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=ztY6ik4x/UhVA1SkqzGdA1wgkL8egMzlzx25EQee0j0=; b= Jml3HS0wA/Ijdp4ajOP5L8XItk3JX99TiCwPZ6bGr9jDBtDPOUdm8EXdx9MW806J 0oUo5yBdR2JneIgqynBZ0a37LGTFYTS/PJmXog9GwcfE5SQPoMNkK4mYzNYv0Y3t ZhtSJLf3R45GgpGDzphVBzotL4gyIMKn3pSa+/uYKube7L6v70XNyQPO1gHEdpjU UB2QSToAsmavlXGs4YAuIv/BaUbj9imc303TLYbXfdVMsP0SsfkQHYB4hzYJuBKg NELSwC5t6wEnPqXu+YA+fvGHWAsmFVUBz+rppNDfSeIH04wZCTNBNCJUTEwO3dpZ hcAFSxSV8lz7nI92jT3FtA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 47uhx7v0je-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 09:48:37 +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 56E8ZjWt028989; Mon, 14 Jul 2025 09:48:36 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02on2083.outbound.protection.outlook.com [40.107.212.83]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 47ue583sp0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Jul 2025 09:48:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D77qzpDFhLCTi2ftCdrovgM7QmdEJrDSVcQeGbpYf3WKAXSX9oZhTkTEKrnucvtNShNo180m5uojdpNwODBaBBG1skYfPpxAdw1fJIgT4RvT5El9nJ4nZbO6D9tAeGS6ZOlned9YDauKX2m51QF+G8NXpVF+UGkkaoJj4Fl0aRzxhfRH3YiZ8xHcMcMogyZmP+DVCpNOkSrmZ8/om7NFXs6fwuEsPdMoOHom2KLW1UvF3FxwEqUiadPnDXQIWTMg/27Mp2IX5J68xcYLMA2ndFeheZp3eiceM8sWySX7VVTtRx+KlEcQMqm8+m3mcqcBZdgCdK3hid+Kjbf2dt8htw== 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=ztY6ik4x/UhVA1SkqzGdA1wgkL8egMzlzx25EQee0j0=; b=PV6IVlJ2nR0OfEh4/3dW2SyFSJcuIsPq712ixPf2lOexC9k1ueyMZL8JvxMgbWwfKxWBvtJZ2htp7PDc9EZmJMtbfpO/o64x5O4cTrDc3DXgVJ8dhYJAOkDMC7Osub5JZKmSgvbvn/XClFyx+phssoWhHzHPJ+xR6RpUt6ruMnZZjyZjAielHPVER/Kqt0NdWSlGdI4CEdX41JuM7FBuC9CIfp04yJbFFZaDatxle9D5+J+vdOIzPy2dQ3ThrL61I/7jH3MBB0LUBvzPQEAcGPoNQnDW3NQQBbdzxF+pSBc1aWmkjOOcBUO6VGj05tNQS1xUnNtyKQWpALRZ31JXdw== 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=ztY6ik4x/UhVA1SkqzGdA1wgkL8egMzlzx25EQee0j0=; b=v09TQJ9qr/rW7GMr0i7S59i/s5s6uEdqUnjwNuqSHXmkN78MbAbQv9/UUpJp9nykFToCjJr+hee8MbL2LcjGfStA76v/5oyoG1k+XVMYNfAAEUYeLMlbKXJo4AEgZZJjFKWAVQEenTeINqFJlkK6FxQ4W/iXVyb2csI6A+L2fkQ= 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:34 +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:34 +0000 From: claudiu.zissulescu-ianculescu@oracle.com To: libc-alpha@sourceware.org Cc: sam@gentoo.org Subject: [PATCH 5/6] configure: Add --enable-sframe option Date: Mon, 14 Jul 2025 12:43:30 +0300 Message-ID: <20250714094805.43078-6-claudiu.zissulescu-ianculescu@oracle.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250714094805.43078-5-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> <20250714094805.43078-3-claudiu.zissulescu-ianculescu@oracle.com> <20250714094805.43078-4-claudiu.zissulescu-ianculescu@oracle.com> <20250714094805.43078-5-claudiu.zissulescu-ianculescu@oracle.com> X-ClientProxiedBy: VI1PR08CA0207.eurprd08.prod.outlook.com (2603:10a6:802:15::16) 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: 55f69d31-259e-41a6-65c9-08ddc2bb98e8 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: 7WHIGGxPfD40CY+oAKARYZ6FSdHP7dRhdAPa53FNAfbFRWO4sqISMjEZ62gzZnp6TObw95NlvDf8j9LjiH+GgNEbm+EvwnYylVKWt+/6+7WySWS4s2zGXMXKAL+evFZtkW9swAiMrRtI/KjcUb8RO9II46hpF1OLZe3leletEj3JtoDP8rXo8coz+NeQN+KxD1nKGKUOCFT3Y2J08VoexPhlQM7y6sBLuNGY/ZR/2rhMpK15k4c8q7f01tK7CBFF+vTC0Z1CTqenlQ61LOV/g3rdrWTebfEae/p38g8TboY5Prr0XNfPCveL07Q5AIH2WGyGSsmvkpjs0NHZxe1klF8P0BGdrt1Nq+TIkiqZfk3GqfLR/Ue2QuVm7rvxrjW16LKttzW0bc1ZdFhSejFsb0A6zOn+4jzcmUP8kY1LFam2e+8ODiIrIifTHEL11gQXOMdfPOzw/hx4xuwEyvJQt5I614DzzjQHzCOqc2pfIgqkQDzDFAh+TZ89t+qA+Za6gsGQzPkY2+VnTDW5LhwnGQGiVIPjby4xHxuHZbmTzqmnZ+DAkLY4IaS7AD5jyBnrX+jhbW9FqmHJ8aiLYSjDLJRnBgmyg7Qk51Cqnayj4h6SnlvZGUPHVwkDAPkGIYl2U6OwPBKtISNkWDvOdDZavm5GhOL1M61YZvBkKr4hwHkgjpYk4h6N7lWc47wNn8xxKOCvkgJ54sCWDAuA1a1RjOtMvKQnRlA0BPql/0c7ylP4K1cwhPgbDiPjKmd64l/24GS3eX5yQ6XKJlXv/tQXl86SANCaHHMqtbxMpQZIQB8gUndVpExBsEISjCReYSxQnIYNYhUoaEFZfg0+jd0YTi2MnNfcF9XVydFna+zR+k/n4Rer+ZneOPRxAGibmyfSW/I/agewZBwgKngmvVwN1eZxWzE8evg8LzsMbMiiVIatSEkKkPMy3GmntdfHnEFaLTTggA0EYG3TAGUjaJIaMnG2PrfWQLHsfG8a+oFHcYh+AScuP7eHbnCVIG/WTqoiGMn8ZpxlFQ3ra44EYuvDja0GqEJ7up1r+NyLLyp+EqfeThzxJduQwDcuQuQdzxT0/Ri173ipimLm7klBQ3MpKPwFoz9uQ5YfzTVRERD+R+SKGjRzx18r+QezROjDn/S2EkdaF9s76aBLXtwnOHjtvKURyKOaRmqN5Bo+tCpmcjAyktN8LT1246maL3H6Fij6B+g6KtHI5ryGFu26Q/qcAZ9a0E6cEY19QxIaDAPb5AJa3IP9PvYXma8iDSDokTjau1yE8OCpSfuGOb4M6FP9SYGDg2vcq2ei/qodWx9RzXE3GpTmWTf1xAUYJosMB6QCqN7p/JnZEoEhFBwt71O01TF7IG1LWO0r+K0YKnQdN34PwMuiPPLP9rr6uzJk30uK+YV4BJ1E1zTqqKsdp7xQsorz1V5Aujjn4USZVcI9U1A= 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: j4jmI9ZYTxXAFwBOJyQXTV+DY1kRUZe5F2pNrIvoWxcpJnxvLFbQyfYwQ6AbKULOTwoU0l9QioWyJXwP/4XnlkxJ5XVfr7f4e0C3/6YCK8ulXDhGTJdJQfEm4ymOoHIPv2uYWlr8GiiXvz9qStnMJn6h5m/gXgRXEZ8tuwGPBhKzLt6+9g7Fgtv89z9ch7ZzMsqPsBJ0ddIqhBqxMzx6Fg7Ai5tU/pcdDFNICk5vkfpm3fnHdMh6RzpFGioneMK3hfmKrNcYyDkz59LxRnsDBF+WHlxmrocfTapJmAqtPJllBsPta+Gk8UomiSlTUXlt5+Pt/jZmXp+JX+bURIt82fxAXMqnv611K+zi0Khehcxyr8wpiBJu7JdQtD3rxrIkndOxL1CAxBuYOfVaNAIlWWRd7gtv11ZCZVdWSOu8KAiaHC3eFCf1Q5S8RUAJq4+tH6pR4n8C0ltYvFdoFcC46/B6BD9UEnt4KKBVwFcNCSfOlnelpYH6086zpC6rZQ+YaC5vhTj9n5gU6Fd5RQ1tBKFai9wr6DRWg/LoVwGudb6ysm9BGi9TA0Rn9okjWPWPlhnY7WJNH0DFEZkmtz0z+3WZWgT7P2LMsRzDwuNHVTtlkmQasBzJ5KikHP0nXakM5NG57ruEGGiMsyL1eBSG29ah+FlhIMQtViRdrMfTFh7MgAHq/IoX2xv9QDVmL6IT46jVEqoEek8gvzApJ2+pKgTE6oeqY1ru+5EFNxe4fStNfVEBZQa5UHuXLH6VDKOVxT3aRd+M6vNaz3U4jU5JrjBwhQ9p2EtwnWJ3BrV77xteTNMT5cKqiLh3FNhR/LJEZVlGX7hHBt4wLpUoZNlUpFpsuJU3+Z1SBg0RO45T8hBrU6l+AoazJc8BEERqvjTnC8X82DJgfJF/1/Z5JAyadj/NOVjmrbYkE/VyqyTcpbsyv53wid+7Vjek83+H1aslH2L1y/Zu6jc1gRXwqLRrPvnvota7KIN76ZjpQldTF1WNRTs1vKQCFmRXRw3KkfRrwI6I3+y8bTx66jEpUCYuhU3dWIgmx7rZdDsYFFo7g9cALADTaoAhxn/cFq5PlUn/4U5KAn6cRjKAciIgvpfOeJ0Uw00KRcgOCIhfyr6iDFrp52apsDZlukyT/jl8p4FG6tPh4khLF+wm15Bg8Lw8ecnuw8lOhcoZRQNlJrD3SWjBSO0hqERg0uo+zRmR2XpT4kuCo2FsdA5poCLSqinPQL0gOmYvWuaREA++8ka85zbDASsEBblZYjtsx3xQDub1k/mN78vqoqzLexAN+x/JxeBdnePkvsDA+ABjvZZUJm39TVEtfnzWCrF30PBI8ySeZv81jjTGtscjGUaKNiDQOYmOSMAQwornHQ0WvmKZOd9SVHtYt9KRMQFjXDzkuyZC4UDcTOpCTOZBRKjDjTf747CzR7MyTvIje4iqj2MlMFt7NNFtqnrs0Fb8j5vscTWFyHocGbtRWxGI+//qVyZMhcdGWHg13u9emTpo6BmKm/A3A7MLh5jZDG7/lZ/Xa2oGLpMsLafWtP6z1TEc9Z8yvI/qRKxCmUp5k6uXL1g8H8CGfbmfsGVKAcOItwW3Yds4aL31hdqv1KKBdHm0yykOgr986n69/xDDFOLHSa8P1N6+aj4y6MXic0E4xQYm2+Zm X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: v1kcCGukjKR5dQtKTqKn2ZGhO2IpxMqFDzm9L8WIka/9ASK0b2JWytOuoz/+BaIWoAEFBf+BTxdUJ0m2qqq/r8vnYt4cv5XIZX8XCgxTHjI8KlwN6WP6OktW4w9SfcmoCmrLDUqlUCIl6efWIDpDAjtV/c1sPTRP4we9ndslaL9mfTFPccHjJSJTqCFo0FbH1JYQy/2nP8EK5ggBPAd+PJAMXbDqYAwBNe4jDnX+7RiKh74bn/Ok7NzbGocXDhrm0YaxmPNOQoZvlQAqxVK0kwzBQhKTsjrQzIjN7tEePYmxAazXvArdVDfQFd3FQ3zVEz7y/jun+ED+VCJxMKSlIHcEShQk1kR/shyQ3MnAHmC3rMG2I9Ndntf2qB8ymFbgYrRrImcM7SZ5bqGsAUsvW8VD9yvHaF8YgpQJWF89iTzPjjPN91JDjIDoJ47wSy+/B+hrvUwwvbIy3OESGQNos9bYTOAt8pSCYRbAvx4rrWqqWEwk7t7TCbkAXGt8cTik67qBF6Gz3qUguGrl3VbQC9FXefsLxcbRglPom54pXbVeUQT1ojwifUHvC5+0GpbJpVTu0oRlIWlo1RPUI1kCuPcjcu9PVyrnaBrTn8qL8ZI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55f69d31-259e-41a6-65c9-08ddc2bb98e8 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:34.1967 (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: +FiFmYlNC/Cm1KBIWxgF6FW1xB3ae6DfvmJyplsnqZb0ygwpaLOr7nDqZB3adlK8vaDICO1J8NZLJQ/WkNlKZg6EYBqMbVXnFiNyKC3ey8eeYvw3l0yo2n2uGy18k6xhSoIeZjSXtLvnZMWtSCWPDQ== 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 phishscore=0 mlxscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000 definitions=main-2507140057 X-Authority-Analysis: v=2.4 cv=auKyCTZV c=1 sm=1 tr=0 ts=6874d275 cx=c_pps a=OOZaFjgC48PWsiFpTAqLcw==:117 a=OOZaFjgC48PWsiFpTAqLcw==: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=20KFwNOVAAAA:8 a=ymm9HXo0v2evHImVjXAA:9 a=3ZKOabzyN94A:10 X-Proofpoint-ORIG-GUID: R4tFEm_keDma3VeOEoArxZDMhXl84JJM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzE0MDA1NyBTYWx0ZWRfX1rk0Fc5rZRt9 01B/3ZROa1b2Db9KDJNb4uoFPVJJ7I5e++P2WS2YAaIgSVeagyRG37nrHyCMgMrS7bBKxQFwAJm 2QuJVZe4LS+Heytw01iQpqbDny8VBuQClX4/7lhjg9p2Lcl/8MyshZL4Z0tlfg6DNHqBw8h1cLC 4g6Mb+tglH9uXkJeJhnyW7pjVwOMhB7aFXc10h8GWwYPdBdqcmFYJpXNNOva67z6sVtTqNBupfi mSR1HSZ+4OlNHuQzaWnL5rT0lNiG8YwIyNyteO3iRj/FVkak0u9gz2qE6kTIIWo2/6FbvTCkMAQ Rv9xLlsEAChTLUd3m87BV4kQMxZQuRXc6wdCzVLPupqqxsyWogUYj5ov7zUuOixV59Y0o6MRg/x 26LujsDw9AdUMe13LgX7kQbZpzW725GPBMtApvtbOPcK3FinXliW/U5JQuMZ5zd8qHkf2L7l X-Proofpoint-GUID: R4tFEm_keDma3VeOEoArxZDMhXl84JJM 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_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 Reviewed-by: DJ Delorie --- 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