From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id C89763858D33 for ; Thu, 4 Jan 2024 18:08:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C89763858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none 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 C89763858D33 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=1704391739; cv=pass; b=pqPd08wP5COfazMAq4HyItpd3+TyGytS4hrj10NdphE1fwKBdp/U1Zn5EuP1233UK2dmRXuccWhab2DAbeNWhy3M6CyoGkq4py3bLuuKIZbNWdIFQWL7uqWoKcTdy3kjScCMi3FxtoancKD6R964O0TyjimuhmZHOT8FUM+nI20= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1704391739; c=relaxed/simple; bh=qRuNvTep+tLgK+EF8GNYrfiV/gYHKPRodVSNJQOLzhE=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=OGpFnd3hcl9CIJKHaD1N1SdzGGWwXSGDkEH7tiAmajifBelhVOWIigdlhaasOgwfW2Z8ef/OV8rtFF6dSaV3XFmU9GeOXe2njWx95RHE60rWA/YI+z3X+UhvWw/Otyv4D535vKp+oG+Ea5+utjjENsQvqBb2yMO+oYzs+uMc0XA= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 404I5MGO008876; Thu, 4 Jan 2024 18:08:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=AMo//evCUJjv2NLasFvxL3T/7LjHCuAtXTyHV/gIquU=; b=SiVH/cSWWJNWAyAfQr6G0yNspIZlEcbfc8EpIKx0NtTKGCiAe4yKArzq5rYUW+LZB8Om wEZHnsAZIUBa06MSPwGrzI2bJjgHqLpJsFR7/zkEtJyexkwYW+2bOgfIffCLKE8ulZUO DCIhocPkN+bK7rYpm9fiC+PGTQyqqLgd1ICtOA8LUuo1V8NRoJAn1doaJDlcfgRnmXzr czfQpz5i/2i4ToIYIY24prIUsH0SpaAQ5h6krZ4+o3nbZNuUQUYcrPWBdOpvr2ThkeHb FegEEO5ecBxUMSyKs8w1am/JM1owWU2kW2/qQoylVrwhhbDuhy970CsdCJMlmpcJG0tJ qg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ve1mt80vr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 04 Jan 2024 18:08:55 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 404HZaeQ039808; Thu, 4 Jan 2024 18:08:55 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 3ve1749rhy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 04 Jan 2024 18:08:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A5hrOkak4jKlXKbeCGGWMMHYvgMj1ms3pNAdSyuQ0w8M4aJL8RUbJIX1rDnamlxcP86xxFLfZv4jZVBuIxI5T25ny3G360P7HwQ3GFCECqjWvs9Wnq49Bbfnri0IRFWIeQcJVu/B+3PEwPCi/+307iy9gcKiUFKenF9QeDOzWzs5DUAHBa3FIN6GngrIfppQvNT46RjcpmdN1ePjVv4RO38E4mwwRpumVxMI+/qe8c04yNM47GI3dsg4+memRUrah9IpsNaleg7pTyzLiOBO0kL59Yhcyz+cwCwiERs7KhbX3Bd1b97JVV6F8rBy8yJJ+SzMw2Yr2IOjeBeykuE/dw== 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=AMo//evCUJjv2NLasFvxL3T/7LjHCuAtXTyHV/gIquU=; b=eN4Ltcn6ArAhbgSuRI1D9VPs6WmIZ0cOtZIM17hi6wH4VDpm33SZzHliMa6MTMcfO+7VO6P/IUHt27neDtcaUKArOr5XtYpsik9bxqU6WY/yRUEqnlkSq6IeACyYSQKkYPsen9suLD9PFfIzafhqTey5cwIk/n6SQXjrPD351oZoRRZzt6sOQv/bmYOlm8I7WDgAsbInJmTzfMrTvTea+WJPt4IPwKYtWk0C6U9OYaMLy7aB4rDOQEgccYP8Izp2LlHJ3b6gxP9U+6FAj9LKuJcASgSI3Pl9ZM9pz6IgWtXjps8fcjyLxS5mq9sFV3bQp3VrSPzW4exy+xsebSrppw== 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=AMo//evCUJjv2NLasFvxL3T/7LjHCuAtXTyHV/gIquU=; b=CrvFhcR0G9jc5oK4B4TW3UxVeX4pQ9LZmeHg+49JxoYuCUbOKnGOckmPwyiYmQdoK037xzGV/znle+h7kB+GtvNdSDVSEnBO41IZMrAmBjR8As6HsHZR0odfG4VIJ0pK0MzDOjon1DVbznW9QoPhBbxSuWUQ07dG+92J4zzy5DY= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by CH0PR10MB5114.namprd10.prod.outlook.com (2603:10b6:610:dd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.14; Thu, 4 Jan 2024 18:08:52 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fde7:fb92:8ea1:a5ac]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fde7:fb92:8ea1:a5ac%4]) with mapi id 15.20.7159.013; Thu, 4 Jan 2024 18:08:52 +0000 Message-ID: <2ca7b89a-841c-4a92-8de8-0d02414cc4ac@oracle.com> Date: Thu, 4 Jan 2024 10:08:50 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH,V3 00/13] Synthesize CFI for hand-written asm Content-Language: en-US To: Jan Beulich Cc: Nick Clifton , binutils@sourceware.org, "H.J. Lu" References: <20231211060359.3561062-1-indu.bhagat@oracle.com> <6db8b80a-ce1f-4f5d-9c3d-02ae76235903@redhat.com> <852395fc-2cf3-4863-953e-adedddc0c573@oracle.com> <3fb2f10e-bcb6-4200-8ef4-9b2bde5adb32@suse.com> From: Indu Bhagat In-Reply-To: <3fb2f10e-bcb6-4200-8ef4-9b2bde5adb32@suse.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MW4PR04CA0360.namprd04.prod.outlook.com (2603:10b6:303:8a::35) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|CH0PR10MB5114:EE_ X-MS-Office365-Filtering-Correlation-Id: 74d35aea-b4eb-43ad-721c-08dc0d503517 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bY85kdeZXHwRaxDW24EVYmjoTp3UeS04J65oUQYkEWO6Wc4/JqWFjcC/v/dx2BJir7kkp+96nP6S1TmTyj4LEe2gWGAtjtcLrU64OQkUO46DZmLz7xuoyNuxonOuhxw0WTe5J3/tg7Mu1NJL6cH8X0M0UMlGFgeFpra8k8RWWBzR9I/6vLVYM/bLn5hCyu3QqWo1GOIXwmE9j7pHnQLMiadrhhZUm/cr6UgG91PgvTCRBsErF5ZN491H91fSzWVe3WnHlfer2ch5a0GTKJSLUG3oLuwW7AQsBb1GiD2WqbV4TQhedQZpZ2neJOqP7eIG9kwVnbuC4xbuszjBpB5h40Q/YmMbG3HSaG9N5lrzBATqQiwNtABdhZoaASJQbe3wdWDF0/DOlOC+SqcJwYkiR9iyo1Ydxj4vO1GUQ1Y1LntlrAqrqMxNbizBQspVdsPM1eCWL2O0DHvvniZUUP22uSBuILayEqZEymY52seAxQEOtqZmVszqRO9iN/K7BPvfnAbruADKTYOJ3FqmT4PBQ0rATqNtFUdWQgC8NZ7OZ/yanGUFVieHKHoY8Dr0oPXtnfrqWFSPvkJb7tVPyQEITqpzu88FGnjyHDoQbqiseHu8zh/5ZSMZs6dtMatrIzxe2L2PMSZkRT+mfFEplz3esw== 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)(346002)(366004)(136003)(39860400002)(396003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(66476007)(6512007)(478600001)(53546011)(6916009)(66946007)(316002)(66556008)(54906003)(6486002)(6506007)(2616005)(83380400001)(41300700001)(5660300002)(44832011)(2906002)(4326008)(8676002)(8936002)(86362001)(66899024)(38100700002)(36756003)(31696002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ckJRTnlldVJuc2ZnUlRGazJzd1lZek9TY3lGTjFQWEgveThNRFFSN0VkOXo0?= =?utf-8?B?MVFsckdya3E5RWduOWZlOHR0dWE0MENMakFwQXhvRml4bjAzMkZRZWFxdXlE?= =?utf-8?B?Ty9jRW9HU01Rci9kcFBpL2ZvZG9VQXV1TUx3YmI0VjFpZmRhanY3TDY3OVZn?= =?utf-8?B?d0phQS9oejRlTkk3Q2FpMCtqdmNoZHdTalFBbldtME1TWVBWSFd5T3hxd0JG?= =?utf-8?B?dC9VSzM4eTNGWmdLZnZKWTNURFdwaVBjRTdvTWh6cmNhdHRXbE5uajdlU29H?= =?utf-8?B?L0xxcFMyWEhnMGNPS1FWUGZvVG9uczlzdHdwbzdaQ0VVRk9WbFdKd2d6TzNj?= =?utf-8?B?WWpvRmc4RmE0dW5yUU9LY1FnZm1GMFRVcUQ5blN1WnpkdHN3L3l6N3B5Tkd6?= =?utf-8?B?WU5jb0IreVBBOU9TWEY4VDNWUEsvY1Q4R3hUelY2ZkVBSS9zM3FoaDlaYUlY?= =?utf-8?B?MVBFOXcwcFh5ZTJEN0VmWDdqc2ZWWHFkMDc1eEZmWkI3cERwQWt5TEhsck14?= =?utf-8?B?K1A1dXV3UjVnTXk2NjNadkNXNTl6aEw2dEtWNnNpQVpKZVFwcmxCeUh3ZVBp?= =?utf-8?B?QSs4L3dJTzJMQkpOOFZwcFdQbWZaZXRIN2tCdXpGUVBjSVVKU2FsVDRFemkr?= =?utf-8?B?WG56RzZDQVFITTR6Uys2WXY5Y1F1dFdZOHZESXVVQ3YwM0JFM09GbThPVU1o?= =?utf-8?B?ckM0SThUYjNFMGVrZG4wL1Bqc3V6eXFEZGNXazVKN09hMiszM3Q0Rzh3NW5r?= =?utf-8?B?dmIyYjdFek9pem5SNWJBQzhOUnVnWmxpU0F4ZGUyYUxHVW9IMG1DMGtHNEZY?= =?utf-8?B?R1hxNXc2dEVoaWxpOTh1SW5xaG1lS04vbSsvYit4QTdoUnZDdDFRTkVmNnNN?= =?utf-8?B?ZHk2Y2thSVdiTTlkaVl3VUFCWDVteTM2V05takVMaWNkRXR4dk1Na1hyWFRq?= =?utf-8?B?TXhaelh0WHlNR2VlMktzNnB2aWQyK1dRZlVKLysxaStjUlNoaHFrTFU1K1Rq?= =?utf-8?B?TWhQUWZKaFh6OTRsTWxmYk1mdUw0emh0aXR6emIyTDlReEQ3U1pvdkcwcXpX?= =?utf-8?B?MTZQSEVCRGFLVzZuNE1PdGxiYTZScHZPY3IyQld0c3REVkhZWW1ZU0pZQlVn?= =?utf-8?B?NVRRaW1EK09IeGViQ3pEak5BR0tUMzBzSjEyZ2hpZ1ZEakNGWUI1Zk5BY0N6?= =?utf-8?B?MUxtMmo5bGtRSnZHYWxVMDRtcnFvY2p2RkZTVEtaVjFNU2J2Uks5V3hrQ04w?= =?utf-8?B?MnBFMWhLSnp6Q0hKNDJDV0RzSnNNNzQ1cS84cE1BeGZWc1J5dXUxVXBOcW5Z?= =?utf-8?B?SS9LY1lNWG1oZmFTRFcyY2EzZk9rck4xVzhPWldvOWh2SU1yMThUaHNVY3px?= =?utf-8?B?cmNoU3Z2YTJuZGFjcEsxb0p1VTNZbnh2QmtwWHl5NG53Z1RtZVlSeENkL3hB?= =?utf-8?B?eXk0a2JXeEFlS2tRRXBLbldLOVNXSEt1a3BYYTRXTGRyb25namsxb1p5R3Bh?= =?utf-8?B?RGlkZjNUUTJtMEk0VjBVSjBNS3VNZEpWSWpCVTdDRlkrN0Y2cnMwb2U0U2l2?= =?utf-8?B?TW1HUDJnRUtWdStvVnkwdDlCZ1VuOHgzVm9Zdk80a1M0OU5haUVyNS9zb0J2?= =?utf-8?B?OHZqdDJ4S1VDT09uc0tQWUp3cVZiZnYrY0hNaDJORFVneWxTRU80c29HdnJD?= =?utf-8?B?Y0dKQ1RZdzVaakc3dkNieitrK2hjcmI2dTdKdTZtckJ3b0JIV0dZOWZOWU5y?= =?utf-8?B?NnBMSzJUaGlCM29nNC9ydmI4WVhYUkg2YmZZdDhwM0o4cFpOb0labklERGtr?= =?utf-8?B?K2NMSWE3ZGwrMjRJMlNCU2RSYW9rc3owcUxWY3RvMW91NTgreVlxdHpqaWMx?= =?utf-8?B?eDVQOG1pMjFSY3BrcmFUdFNyREtzZGhrVXVwMGw2YkdNdzkzdkxwWFRLWnZ5?= =?utf-8?B?QzhRS1pEOG9zODg4amp3VmZvK0EycjY1azJRVjVSVW1Ic0ZsQWthV2NKSDVw?= =?utf-8?B?MGl3MklXUGtjckc5VlM5OW1qNmt1VjhsSW9XYkV1Yk5tZlBQa3poNml5UVBv?= =?utf-8?B?cE5PTzBybEhlZUc1bTM5SHEwMmlUejQ0WkhjSmJjWVNQdXBtQVYrRlVzSUtP?= =?utf-8?B?akZPQ0F0dlhQUmJicEx2ZFIwYUlNYUppRzJNNzZzL0NHRXJDTWZyeTZYYkMz?= =?utf-8?Q?7wWUkGoT27cBhoA5ozERAKI=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: UOLSqb8XoNTD5IJi5QF4gZrf81vgyoCnfVlqwZamSS/Q6t53Z65b39e6h5Mu7szfNejJ1I9HjEk23nK6rTTKQFRc7C0CuGF42gMFGhKy9fz7TxdYmS+84urnl6wQoT7vFKHNOlL5C1x9KdqCSARXrmskL4/p9gHG4kL4wHlaPYFX5tqGodZwqJhhNPgkZWOfgMU4v6bokIzPaXln8K9jFmmrU2QFn/M7ooKB9NgE3lqlAlnqwZAN03sMkAZCeylj/BsA15mdwxO4jDrKMbcoWuZymk6yKyWglIEQauUmjkCsO+z/sQ/M1y893uHJh5QuYZkGJGqEipuESm8bkpAyeGhXhjZ+g/Ft8fpgBBYIbTKguHjuHjrNUn3Km910N9Mk/qgvCl/r53wBdT3Ba6vpeo/UML9OowKlGsxR8w8naf8Wf8TaEL5dN0xGwyJH0l0RIMZFlHc2dVzKcErdm9mOL4WPtq0w+w5ZzD0fi6yUjoXrQl9Yst67O/YApsDC6aS2wBFvpKhvFn5SRcfIl7tZCrXcbR4fAQCfmBXgMAdb49S19ftNu0e05FtIJ9MZDmCHvTnN+Gy34sJw49+IBhRxNrWxwhr7G2T0L+E3H5qsggk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74d35aea-b4eb-43ad-721c-08dc0d503517 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2024 18:08:52.3993 (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: ZNojTFNzZqwKOCu8CMxUrkRoiyhYzT/TnAMPFippQrrSb8rxU0seCoVawa5LmAMCWn022F8HV0vmtfcFDvI5CQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5114 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-04_11,2024-01-03_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=910 bulkscore=0 spamscore=0 suspectscore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401040141 X-Proofpoint-GUID: DVLWn8dDI8obFHjQPJrqSWOKKhZjoGdZ X-Proofpoint-ORIG-GUID: DVLWn8dDI8obFHjQPJrqSWOKKhZjoGdZ X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: On 12/19/23 23:51, Jan Beulich wrote: > On 19.12.2023 22:02, Indu Bhagat wrote: >> On 12/18/23 00:47, Jan Beulich wrote: >>> While this is an unusual situation - new very general purpose insns aren't >>> introduced frequently -, I'd also like to see more formally addressed the >>> idea of ongoing support: From the original review I recall that you need >>> to minimally track insns altering GPRs, in order to avoid silently >>> generating bad CFI. Remember that I haven't looked at v3 yet, but as long >>> as that tracking is based on specific insns rather than a generalized >>> pattern, any ISA addition allowing GPRs to be altered would be at risk of >>> rendering the CFI generator code stale. Yet people, once they've started >>> to detect availability of this functionality, may validly expect that >>> their use of the functionality won't silently break behind their backs. In >>> this respect, did you consider constraining under what conditions the >>> generator code may actually come into play (at least for the time being)? >> >> (Step 1) I propose that, for now, we add a check such that if any APX >> insn is seen for --scfi invocation, we bail out. IIUC, we could check >> using the is_any_apx_rex2_encoding (). > > That would cover only the REX2 subset of additions. The promoted-to-EVEX > insns would need covering as well. > Since I worked out 2b, I have omitted these checks from V4. >> (Step 2a) We can remove this check once there is support for all APX >> instructions for SCFI. I can add support for ginsns for APX instructions >> once the APX work is pushed. >> >> (Step 2b) Orthogonal to supporting the APX instruction set: For SCFI, it >> is ideal to add a way to raise alert if new instructions are added in >> the three categories (For APX, I see we have additions in #2, and #3): >> >> 1. Control flow instructions >> We can detect them by checking for insn.tm.opcode_modifier.jump. > > We may certainly hope that any new control flow insns would also have > this attribute set. > > This reminds me of another guard you may need, though: Use of .byte to > hand-craft insns. > I have added a thunk in V4 to not allow .byte usage with --scfi. >> 2. Operations altering GPRs >> We can detect them by checking for: >> if (insn.operands && insn.reg_operands) >> { >> reg_op = i.op[insn.operands - 1].regs; >> if (reg_op) >> check if destination reg is REG_SP/REG_FP >> } > > The condition here isn't sufficient (the destination could also be a > memory operand), but something along these lines would certainly > address one of my fundamental concerns. > >> 3. Operations with implicit update to stack pointer. >> Currently we have no marker, but how about adding something like >> unsigned int implicitstackop:1 in i386_opcode_modifier ? We will also >> need to ensure this property is correctly conveyed for all existing >> instructions in i386-opc.tbl. When new instructions are added, the SCFI >> machinery will be able to warn the user of missing functionality (and >> not generate wrong CFI). > > While I'm generally hesitant to see new attributes added, if one's > needed for a clear purpose (like looks to be the case here), that's > certainly fine. Much will depend on people (at least one of submitter > or reviewer) remembering to (ask to) add such an attribute whenever > needed. > >> After this support for #3 is added to the backend, we will be in good >> stead for future ISA additions wrt SCFI. >> >> I can _try_ to accommodate 2b before the 2.42 release is cut. However, I >> think its best to plan for both 2a and 2b for 2.43 release (given the >> 2.42 is around the corner), if there is agreement. > > If 2b was properly in place, I could probably be convinced to agree with > your work going in ahead of the APX stuff. It's in particular unclear to > me in how far APX is really going to make 2.42, considering how much of > a change it is, and how hard is has been so far to review the changes. It > would nevertheless feel better to me if your work was given some more > time, to go in only after 2.42 was branched off. I certainly can't > promise I will be able get around to reviewing either SCFI or APX again > before the end of the year (more precisely: before the holidays). > I have addressed 2b in the SCFI V4 series sent earlier to the mailing list. I hope that the SCFI series can make it to 2.42. Thanks for reviewing, Indu