From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 8A4123858D20 for ; Wed, 1 May 2024 18:20:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8A4123858D20 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine 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 8A4123858D20 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=1714587661; cv=pass; b=d9+OW4g1EUD9Zv5ZO5QQBIFGyLaWb2ib6pLg/DeiMGWYzcRMC4uGd/lQncn+osK8tJ6ZmHr5ZgTNK7egBh+IxU2YovaZ9ZIY67Hg22H2TmIH3JbFD6fa0cQ9x1Exw7tVRitLvdU7PxxIpJlhkfl8W0/Xe8Ia1G+2hjBLHFOoVz0= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714587661; c=relaxed/simple; bh=JGN460l7MC4WEo0RCUx85Ptvrejzp5N+WE7dfib/OaQ=; h=DKIM-Signature:DKIM-Signature:Subject:To:From:Message-ID:Date: MIME-Version; b=DmeTAeXeDPc5aS0xwJNWQxPj8edt3rRFTGXrUW/oFu6fInNR6cmA5+h7kbKR2pthUCfCio8P6mlN8COQJtc9b9EkRrs+h5uRPoD7g0syKyJACxJxHy8uMXd1OpycVePLY6tFpUxgDX/W7p1cX+RwNIRY83k6GzSgRR/DEYRr/48= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 441ARmK8028179 for ; Wed, 1 May 2024 18:20:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : references : from : message-id : date : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=ZtC92iDe3fd52BxZcOR2yT4myQOs/Ix1gcFhKiLEt3s=; b=Safr6tdTnB/VyVczhxNQa1blgYZYUnf00QD5SoZ+qoLhd4VKVYHt2taoNqKpc0eg9Djx 6W3Znoe3mCXFOyz+VrKYebegvIxBYYfa2Fjffg1DSMW2ir+UiTSDob6NjVqFDpIDV8+I 88A5r3I1CkTcMulbC+XkcKBz9sNKDCkBCuGxKFb0v0rAFMcyRujMid25gUL4/pYXrypN 2BCU1heJAPIy+onUKel/8O/vVew4FWzfLCa4eeI/p43SYu09bqOi66mZuGnJVVkyhf6H oZnoN+sU4ADiqDdwCxhxNom4fbWb1iA1V0DYDAJU7pqsZKIfZVzr0bMeh0yyW0MkLOOh lg== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xrswvqsgq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 01 May 2024 18:20:57 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 441I45Vs005045 for ; Wed, 1 May 2024 18:20:56 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2168.outbound.protection.outlook.com [104.47.55.168]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3xrqt955x8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 01 May 2024 18:20:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xlh7Q3bVoheXCjZAkyRNYEvWThwqEFBQiWG/bdYCCI05n5++h2hW5GAK26i6nO1ZSxovGAj49oTY1UlpqBHE36tMzl7cLujLthkwcHTWO/xk4G+DTbHeI2YWk2mQTtrZLxKlYFj5vZ4fofS62QbCGFQvd1auEyy4EXdYALrCL0CfIQ5PlmxrCz/Ypv/Pdi2cMpY00ExnkDt6CMGP3KlIxcerd3lR24KKfxaKQvBrsajpsgnRxpu7gJjg18lb/PkDb5a9M6qbrR+t7G+5D2mukNH9pMXUD2FhWXx6/QlfKo5y5tNoJ48214Nec+Ett1fEqAEGUyKEUtrdcF7TiUQpiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=ZtC92iDe3fd52BxZcOR2yT4myQOs/Ix1gcFhKiLEt3s=; b=dWJ2Imdmh/UfsE9AtuVwKINSEZRXJwkTYl6zasCLLiTQv8xSCRjgFiejWpl3kAgtTfwIgMecOndQGurav0YM3Owqq6E0uyEDOtLF9Oz5d/IEP/zQTQ6dRu+NOLDHBrorRLCD4m+LIvNdPVjkW9Fe756foaeeBGWjjHaOiElK9Zv+Lihsl0ToCl2Be73EW6zhW9sM4aj0IQoQdH9HqJ9VxqIthxykkciNlvTrrkAXpqolCRxIsVoKRPBIjcIREB6BJO6OJ28D8PwZYlgdL8hK6V9cfu5kLGTXMS4P/NL3R+AKsryTR4/E7I/UmV7C16LCoIyIHamEdT6uwpHc5cUIrQ== 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=ZtC92iDe3fd52BxZcOR2yT4myQOs/Ix1gcFhKiLEt3s=; b=S5LqadV0afwSPOtHzRXTEy83k+Z7SvImNhsnlJ5vmy2/jUPONtjOTbkyr/t5o0CYY12xHRZn0Ue+uvtYSjE/RVrLW0QpyAdcfRlGJacaH9FTTD+VQF4c27pLZy8yW+qAbMlZ6v3CR8iWbHQ1Utr7I1mcPXUwljkz3uZLt6+m71E= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by SA2PR10MB4715.namprd10.prod.outlook.com (2603:10b6:806:fb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.24; Wed, 1 May 2024 18:20:54 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::6f0e:742a:270:889]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::6f0e:742a:270:889%5]) with mapi id 15.20.7544.023; Wed, 1 May 2024 18:20:53 +0000 Subject: Re: [PATCH 0/2] Add SCFI support for aarch64 To: binutils@sourceware.org References: <20240411074407.1429624-1-indu.bhagat@oracle.com> From: Indu Bhagat Message-ID: Date: Wed, 1 May 2024 11:20:45 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 In-Reply-To: <20240411074407.1429624-1-indu.bhagat@oracle.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P265CA0266.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:37c::8) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|SA2PR10MB4715:EE_ X-MS-Office365-Filtering-Correlation-Id: 3fb9b8a2-c17b-42e9-0aa5-08dc6a0b6fee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|1800799015|366007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?SldldDZhTzhkYThaVi9uMVJRYlFidlA4L2dITG04YUdkRk15YjVCKzYzQmV6?= =?utf-8?B?a3Vocnc4Q09Ebmx5ZC91WXo3RE1mWGFSYU9lR09QTksyYzZYMXEyRXRaV09I?= =?utf-8?B?RXd3RGxvTXZFbHFpWXJWWkMxemlNNWhGZmczanBkMDluZTBzNTA4U2hGYThl?= =?utf-8?B?ZXIxSTdjeDhoa1ZvR2hEYko2L0d1RHB6UXRrSnY1TnFxMGkvMC9PdldMUDRH?= =?utf-8?B?NS9ML01tM2VpQkRvM2RYd1pCTC9ZbnlCaHlyR200NVI2WjJXR2tHREpvaXIx?= =?utf-8?B?OWdRSlpQNzhFZUN3aWxrNkhVTTE4QnptTVZmeTJlYWdPOGpqM1NrZlFTWnN3?= =?utf-8?B?bU94eU1xUnd1MkFzYkFkUjE2K2ZFY2pGMzYyNTZpcWd6U3hQZHkvYTYwcGdk?= =?utf-8?B?WitFRTF3bVRyMHdyV1pJelNLTXh3aXowbVFEZFpYOUVWT0QybDNUNENKODl3?= =?utf-8?B?NDRaeTFPNXJpaTNOeWpFTWZyZkJrLzk1VGJXalhqRGh4dXk4Z2poZ1BaUld5?= =?utf-8?B?a0ltU2QzTzVadWtBdWRRekRQdmRXS1JvNUtNMzdabVhUN01FYjAycUFTVFc0?= =?utf-8?B?Smt3Nk4ycnRaSnB5ZXlOa202aGp3bFlUWUFjVTR5WXovSmlZdlJBblIzVDdH?= =?utf-8?B?Qlo2bE9JMTU0eCtobHlMRytOMVVNZTJLbThzQmd0cVZaMzJPWVY0cldyV1Iv?= =?utf-8?B?bXl0SDJuOXFvR2M2VXZXUVdCVWtKbzJWU1FYUDBJSERhQVVTeTJLc3U1b0h6?= =?utf-8?B?cXpoZmc4bHVLUUlVS3VTL3FuQktUK2NuSFF5VHdhaUlvWWJWbThES21lRmo4?= =?utf-8?B?b0xxYzluMjJjb2hCZTlqSVUwMXpheEt5Ymt6YWxNcGVTNE5WS2M4QjN5S1VS?= =?utf-8?B?cUI3THlNRmkxTDBUbFpYRVBxWi9JWCtCWUxvTGhtNUE5MFZBbFJqZGZRQ0oy?= =?utf-8?B?T3FPbzZZQ25sSmNPd09VQlJtcjdoZ2JFVVpUaCsyRmxqN0xrNkRrbDV3Mm5S?= =?utf-8?B?ZkdGK3lnWHM4eVN1QThFeFdyaklBTE5tS2hDU1JjR240U3AvaWtmdWhkcEhD?= =?utf-8?B?bU9KdWtiRC9XNkVOVUhqNlJtTzd1REt2QW9nM1U3bVZkeVhjaGFxZmtySTdq?= =?utf-8?B?dnNyTlI2OU81V1Rwak9QQ0tPcXNPZU5KbjU0dkZmc1R5SEJHZldtMVNKN1JL?= =?utf-8?B?dGJxQTF0NGp5WDhXTnNONTkyTnB5U0VoRXRkUmFHeHI5VVovajE4cHI5UnU0?= =?utf-8?B?QnZha1k1alhQdWdYZDFkbjk2d0pvbnZqQzJqcHAzMXo4V1M1a1ZyVGprSllC?= =?utf-8?B?TUErc3FqTi9Ra0FPczZ4RVFIYWNNczFaR0pvWlpUbXZqZGp0TndBUDh2ajB5?= =?utf-8?B?UzJGNlI1clJYOUpGMWFmOFBSbExlYWJQdGZRUkkwOVQwSy93dmZKdFd6VmYx?= =?utf-8?B?QU0veTNaNEdaS3AvcVUxc1hzYUordWUyTHd0cVdkTW1aN0g3dFlYcHNnVTVs?= =?utf-8?B?bTZSejhwZmlYWWpkRUFRQnh6TUpRV05NZGFPV1BTbzh3RlFBV2FZdnhQVzZ4?= =?utf-8?B?SHNsbUVvQ3hXWVhxeTZwQUY5ZTR6ZWdNWFRVWmIyOEY3ZTZ0NHVDL0U3ZzN0?= =?utf-8?B?MWYyZ2FMbmc3Q0gyK2tZYkV2S216bmZ5RGUrTk5FSVdWMnI3OGhJTmd0RG8y?= =?utf-8?B?b2twRjNaT1VKUEVFaFhGTCtnWWxFL0c2UzV4RzlmQW1oSWg0aWVKV0R3PT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2158.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dWU3K2FpU0RJMUJkVVJoZXEvTFpMdHhhU2dHTTJhNlhMdERGY05xMHBoVHFp?= =?utf-8?B?anNMdlBiNVMrK1gycTJFYS9LNTlOTkx6VWVlSmlMc2ZZT3hycHZ6c3cxdlVt?= =?utf-8?B?WTV5U290KzBzWVZod3FSekxBbUVqbU9CbEgwaGlWK01EeERudXZkNnpFUUlm?= =?utf-8?B?LzdEcTVyMzhyYkxJYnJwWlFJVi9XZFRSMmdSbXNZTnVSb0JCb0dmcjZ3Ykg3?= =?utf-8?B?STc1QUtITWRxMUdYbExuY3p1VGs1cnZsNFFLd3NJYkZ2L1ZRaWFHYUwwNEFI?= =?utf-8?B?ZTFhWTJCTnRsSjFqbFJoc3BaeFBHKytYZUxjN3ZMVDNvcmNDMmxHeGNLMlJx?= =?utf-8?B?L2Zoekg0OEFlb3ptL0NnT09TTkhaWUFNN3NWRnlNdk9RK1JPd0ZpWFhTZmZJ?= =?utf-8?B?eDNSNGp1aFRpRDBhWWZ6cXU0U3FCb25UZFdlWnFUYlVtT3N2TmFGbEJXdXdE?= =?utf-8?B?SHNZNGFzbHVDV0c0aE1WZlFHQWswYjV2N2lTeXU1akpIOW1hSWw3LzZQM1Ew?= =?utf-8?B?TEpmSGc3N0VmWDRHb25WUlF4WDV6dTc2amhVRkpndlVsNWFxOUtOVkxQVGFu?= =?utf-8?B?NWhWWUVVNWp3dXZWNlhRdlNVTXo5Z3JDeVZpVldYSGQyM2F0cHVWbmtGZDBx?= =?utf-8?B?N3ZnYmZlczlhdmlKMjNVbDJNSStUc3dNUzI4UmtDT1YyNTNZakc5RmQ1VmVD?= =?utf-8?B?N0xwTzdwTUdlbVVsR3VqMEE0cFppblhUSmE4VnhpczduVjFmS3VURjFUZGpD?= =?utf-8?B?MmJrWlJoWTdIazBKN0JVQytIbCtHUVVnNkJpTTYvR1lhbnB4YXloRWt0Zks1?= =?utf-8?B?N0laRTI5Q0VGS1VkMGJXTlN6ZFVhOWMvaGRVbzFVRWRwUURsRU9pL1VhZFQ2?= =?utf-8?B?OU9MS2wwSTFSUTNmbHB0M2UyaXVrYkcwZ0UxajU0Tm96bEpBVWdMS21TeGxJ?= =?utf-8?B?NTZmdFpndm8zWWdyZzZzYVM2eFNBU3hObzE5RUlackpWUVdtZVMzOWhyY0FU?= =?utf-8?B?SFpmZk9JMHhBTytFNUdJK3ZUUmIwQ1pXdzlCdFZSU0U5NXNoOTZEWEFNS29F?= =?utf-8?B?RE1hbS9tVlpIMjk0OHVkSE5LSi93NWdyY1lZU0ROaE5RaUxIU0d2eTQvMHBJ?= =?utf-8?B?Z0hqaWR2bWFmaXlHdCs0LzM4RG51ckQvdjQxa1J4RUxpcmxvdUlHaWtzSndL?= =?utf-8?B?OUFldHpERmxPeEZZaVhSaU9qRjN5Zkh2dzRoZktJTWY3TldMSXd0ZFVGNWJm?= =?utf-8?B?cE9tamRiWlNYWjY3U3JnOUgwcUd5ZjV1M0taUnZqdlZTelkwTTJhbmxFQ1l1?= =?utf-8?B?KzdlSGxRMTc4OWxEYTg0WjdONHk3OFdRY1dwRllGWTVzRkpWRktSWnBiM1FE?= =?utf-8?B?eEQvZzExU0w5Mk10S0xEKzhscXdUOGZLejFYMit6ajU1QVlvREZQcE5pb0dP?= =?utf-8?B?QUNWa29BKytMV1FqanNMYXFuVmMyaXFpNkNjR0xsbzBpRi9OVlRvUkpScnI1?= =?utf-8?B?ODZjb1M3ZElTM1dvbEhHbDhSTnBVSGpYU1lPUE5PQjlNQThJUWFoaGRVK1Rr?= =?utf-8?B?aWFDNmdldGhoVlVNWnNqSlBZMjFVRjFhUXN1Y09oL1lyYXUzZ0F6L1A3dm51?= =?utf-8?B?ZENiaE5MZUorU1FTVjBtc3FuZHRtSHRFYUYrcXloTzJtS0swRno1L2lTWUM3?= =?utf-8?B?TU9zcVBFRHYzczU3cWxjOXVEaHpZTTI3SHhJdldYbmR4ZXBvVXcvc05IaTZM?= =?utf-8?B?RzMrSTY1ZDdpSXVod3VRNUhXNDZGZk50bFJGSHNBNmJ6ZWt3UHJRcnFiR2pl?= =?utf-8?B?dVV0Z3R0VWx4YmNyUWdTcTFMOUgveFFydE4za0xQeUtuRDBCUDNiLzhGRnpE?= =?utf-8?B?R3p0bzFkc2Jpd055OU5RZWNQck9FRlBUMmtBeDhVbWsyOW1qcUVBdS9OTzl5?= =?utf-8?B?V29WNVREM05PSUp6MGlVMklzb0FUU1N3OVFzVVpzOEQzZmJzMzNYVW1kY1pl?= =?utf-8?B?YTIvNDk1RXFNZGFMVWlHdkY2SGdVNlVYV2cvRlJ5MTZvNmVoN1BiWWtlS3Fq?= =?utf-8?B?eGlLV0IzOXRieUtLRXpjbWo2eEpwaHg5b2lISTl4a3BaNThlRGJDRkM3T1JL?= =?utf-8?B?ZW1aTmgwa1duNmlrN0Q3cEs2YVY5VCs0azM2NDloak5jTi8yYUlKYzZRcC8v?= =?utf-8?Q?lvWD/O2oXiPtLUnq6bHr3ms=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /3q60hljBzgMhS0GCYfy/LIVtIKsVW0vHZ8lv8uhGsAzZ6gSInZYRbzi6SV5XXLZFYLfhbMGt805yh4RkhMFbggIl2JIQErZkwQQadIcrCLkI+9/qeh5XwRBnWSvQozCuiXj+aMnFbzgdIzsrZVbQrMDS+93ej1CqtJ0fraHZ9LzxjiX6douM4V6T+oDrhtVuxiV0gVeBxzlkj7FFzvb/SCIPG0PA/mIA5eDPJrbcUE2fVokbPofJozpL8o1OzkqRBngTnSTEeqrlU4mJU9nHbaixzLsTMpGaO1tWrkRX6T7U4jumEAHZdVeSxgrze1A6jbXQ6lkBBV1U6dgOeDVPgoQYqdPXoRw+2apN790Npss6Akf09yHX1rRbaIWSzh14f8AyHpjgk5EM7v5ku251g/Okl6GtVRJVNO2+a8J/u5qWuhRMCYOzaA0EbM37HDwELK5cN09y1RBcHhHsuRtMyyJDlN7PRwItohTR3RYxmOxA9gXE2TT3eMkA+hvdsZwE4YlO9OaW+O7IuhvvvMHT9iH8n24ruU2A8ZAhuSzWl4jPrKHaZZVwl6CVZ7zWTefGllVTcd014J3UhzMdVJ6OI7zBhQMsScqF8ciN3Ne6Eo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3fb9b8a2-c17b-42e9-0aa5-08dc6a0b6fee X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2024 18:20:53.8008 (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: Y50aEpsVVLrU+rkQZ5afqan3wORpu+tuj7dvXEzkaCGH5Ly/ZgrBniYudyCgZfabO1tX2noGYVNeIims5ZQGyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4715 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-01_16,2024-04-30_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 adultscore=0 phishscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2405010129 X-Proofpoint-GUID: TVSlVKc9XLEvH6ubFX4RgfcPk16DnO7u X-Proofpoint-ORIG-GUID: TVSlVKc9XLEvH6ubFX4RgfcPk16DnO7u X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,NICE_REPLY_A,RCVD_IN_MSPIKE_H4,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 List-Id: Ping. On 4/11/24 12:44 AM, Indu Bhagat wrote: > Hello, > > This patch series extends GAS support for SCFI to aarch64. > > Since Binutils 2.42, GAS has experimental support for synthesizing CFI (SCFI) > for hand-written asm for the x86 backend. This is invoked via > --scfi=experimental on the hand-written asm. SCFI aims to relieve users from > the overhead of writing and maintaining CFI directives in hand-written asm. > > One of the ways of hardening the SCFI feature in GAS is to extend support to > another major architecture. This would also allow exercising SCFI on more > workloads. > > Background > ----------- > Some background notes on SCFI are present on the wiki > https://sourceware.org/binutils/wiki/gas/SCFI. I will refrain from repeating > some of that content here for sake of brevity. > > Additionally, the commit log for the first commit which added the support on > x86 may also be helpful in reviewing this series. > - gas: x86: synthesize CFI for hand-written asm > c7defc5386cc53a4abbb7c53a924cdac3f16aa33 > > For synthesizing (DWARF) CFI, the SCFI machinery requires the programmer > to adhere to some pre-requisites for their asm: > - Hand-written asm block must begin with a .type foo, %function > It is highly recommended to, additionally, also ensure that: > - Hand-written asm block ends with a .size foo, .-foo > > ginsns, SCFI constraints, etc. > ------------------------------ > ginsn is an acronym for generic GAS instruction. This is intended to be > architecture-neutral abstraction that can be used to convey and keep semantic > information about machine instructions in an arch-neutral way in GAS. ginsn > specification and associated interfaces can be seen in gas/ginsn.c and > gas/ginsn.h. > > The SCFI algorithm itself is implemented as a couple of passes. The following > is a gross over-simplification of the overall process; simplified to hopefully > aid the review process: > > - Create the GCFG (control flow graph) of the ginsns. > - Process each basic block and make a note of how each instruction changes the > SCFI state (CFA, callee-saved registers, RA). This is done via two passes: > forward_flow_scfi_state () and backward_flow_scfi_state (). > - Translate SCFI ops to equivalent DWARF CFI ops or directives. > > The above is implemented in gas/scfi.h and gas/scfi.c. Also see the > gas/scfidw2gen.h and gas/scfidw2gen.c where SCFI ops are processed to finally > create the DWARF CFI directives. > > Lastly, I think stating some specifics of SCFI core algorithm itself may be > helpful for the review process: Basically the SCFI machinery encodes some rules > specified in the standard ABI calling convention (e.g., set of callee-saved > registers, how the return address is managed etc). Apart from the rules, the > SCFI machinery employs some heuristics. Few examples of heuristics: > > - The base register for CFA tracking may be either REG_SP or REG_FP. > - If the base register for CFA tracking is REG_SP, the precise amount of > stack usage (and hence, the value of REG_SP) must be known at all times. > - If using dynamic stack allocation, the function must switch to > FP-based CFA. This means using instructions like the following (in > AMD64) in prologue: > pushq %rbp > movq %rsp, %rbp > and analogous instructions in epilogue. In case of aarch64, this simply > means creation of the frame record. > - Save and Restore of callee-saved registers must be symmetrical. > However, the SCFI machinery at this time only warns if any such > asymmetry is seen. > > These heuristics/rules are architecture-independent and are meant to > employed for all architectures/ABIs using SCFI in the future. > > The SCFI paper published sometime ago > (https://sourceware.org/pipermail/binutils/2023-September/129558.html) may be a > useful resource to get additional understanding of the above. > > Known limitations > ----------------- > These are planned to be worked on in the near future: > > - The current SCFI machinery does not currently synthesize the PAC-related > aarch64-specific CFI directives: .cfi_b_key_frame. Other opcodes used when > pointer authentication is enabled also need to be handled (braa, brab, > retaa, etc.). > > - Supporting the following pattern: > mov x16,4266 > add sp, x16, sp > ... > > - Not a limitation per se, but a note that ATM, that predicated insns are > skipped from ginsn translation. IIUC, these instructions are not such that > can be used alongside stack management ops. To be double-checked. > > Thanks, > > Indu Bhagat (2): > gas: aarch64: add experimental support for SCFI > gas: aarch64: testsuite: add new tests for SCFI > > gas/config/tc-aarch64.c | 744 ++++++++++++++++++ > gas/config/tc-aarch64.h | 20 + > gas/testsuite/gas/scfi/README | 2 +- > gas/testsuite/gas/scfi/aarch64/ginsn-cofi-1.l | 30 + > gas/testsuite/gas/scfi/aarch64/ginsn-cofi-1.s | 16 + > gas/testsuite/gas/scfi/aarch64/ginsn-ldst-1.l | 40 + > gas/testsuite/gas/scfi/aarch64/ginsn-ldst-1.s | 21 + > gas/testsuite/gas/scfi/aarch64/ginsn-misc-1.l | 32 + > gas/testsuite/gas/scfi/aarch64/ginsn-misc-1.s | 15 + > .../gas/scfi/aarch64/scfi-aarch64.exp | 60 ++ > gas/testsuite/gas/scfi/aarch64/scfi-cb-1.d | 20 + > gas/testsuite/gas/scfi/aarch64/scfi-cb-1.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-cb-1.s | 14 + > gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.d | 31 + > gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.s | 46 ++ > gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.d | 40 + > gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.s | 42 + > gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.d | 32 + > gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.s | 34 + > .../gas/scfi/aarch64/scfi-cond-br-1.d | 20 + > .../gas/scfi/aarch64/scfi-cond-br-1.l | 2 + > .../gas/scfi/aarch64/scfi-cond-br-1.s | 13 + > gas/testsuite/gas/scfi/aarch64/scfi-diag-1.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-diag-1.s | 6 + > gas/testsuite/gas/scfi/aarch64/scfi-diag-2.l | 3 + > gas/testsuite/gas/scfi/aarch64/scfi-diag-2.s | 25 + > gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.d | 59 ++ > gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.s | 52 ++ > gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.d | 33 + > gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.s | 26 + > gas/testsuite/gas/scfi/aarch64/scfi-strp-1.d | 39 + > gas/testsuite/gas/scfi/aarch64/scfi-strp-1.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-strp-1.s | 37 + > gas/testsuite/gas/scfi/aarch64/scfi-strp-2.d | 35 + > gas/testsuite/gas/scfi/aarch64/scfi-strp-2.l | 2 + > gas/testsuite/gas/scfi/aarch64/scfi-strp-2.s | 30 + > .../gas/scfi/aarch64/scfi-unsupported-1.l | 4 + > .../gas/scfi/aarch64/scfi-unsupported-1.s | 31 + > 43 files changed, 1671 insertions(+), 1 deletion(-) > create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-cofi-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-cofi-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-ldst-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-ldst-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-misc-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/ginsn-misc-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-aarch64.exp > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cb-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-2.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cfg-3.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cond-br-1.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cond-br-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-cond-br-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-diag-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-diag-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-diag-2.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-diag-2.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-ldrp-2.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-1.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.d > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-strp-2.s > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-unsupported-1.l > create mode 100644 gas/testsuite/gas/scfi/aarch64/scfi-unsupported-1.s >