Message ID | 20231026191337.3872149-1-indu.bhagat@oracle.com |
---|---|
Headers |
Return-Path: <binutils-bounces+ouuuleilei=gmail.com@sourceware.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:d641:0:b0:403:3b70:6f57 with SMTP id cy1csp110419vqb; Thu, 26 Oct 2023 12:13:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEQLCTLepdMPPiJm9T/pAiBdT+mmlrmF32lrkDU0+OmUniHAAWWvQ/uTjXqCIMNTxLNp2HU X-Received: by 2002:a05:6214:212e:b0:66d:6458:d9f8 with SMTP id r14-20020a056214212e00b0066d6458d9f8mr841180qvc.54.1698347637538; Thu, 26 Oct 2023 12:13:57 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1698347637; cv=pass; d=google.com; s=arc-20160816; b=RORtoHl9QdNQY1uO1YQ/M+XxWbGT4MMhNDr3e13U6CJeMETgk+qfG4b1A4Y1eDS0Qa wIw7h1lBrpGsanhRbU60iXIlRvWoH92lN+yAZAz0hyHxxwNOQlrbNsT4HF9b1xwzYpCC +8WiBVZCObr8qzYrAXAtzeZT1FrlmsXLCvzco+RR77Yjd8rm+QDaEdRR5bYVuswM8iSp c94bNKw8JPpV1eqBDLO357DxmS99Mc5vTBqZQvwsP9vfcL+sAKhCXliCR2qcfe8tYvz5 Z3JeBdbfnQPwdqmnTeZc8+3BzVMeUjKdvKfm7rM9QRjdRSOd7xUKCbdRoWjC9MLCTQzm CVIw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=PCmtJwzr/XWEemCNOaChtuKp2UpAdIQuABZqovQW2uo=; fh=Oh0rwXgL2pcS1FQHr6E1Hal1K7kVHmZXDthN47bNt4Q=; b=utZSsf9LhgsK6BBfFFUBEQyew410ORzTaH9YuGwsIExFBcovky9FTlnCRAeVZmVonh WRxuGBa3UNfdC0aOPr1lXrXe9v1/mMoD7jwdbo1kg8BqGIJY4eFIQ48C0G8H5BBzSeEB XUDpjANJ+LF2k2oVRL0lQIQXdCFc8Fu+A9t0RA2/LiSkoW6YcC4ozidnNxY0AnGJeoBG kKK0UlRl+E/QQY9usTJyMbk6t4zop9PbkrwsPT2Td0L9Zy14khfaAAiEMijifJlsxbnf G/4v7UU87dbgauThM+3F0ehtf18PHznS1x/WdoDPje9Zmr970ONtv3oqiBpbO2FVa5jS qLRA== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=KgpcD6jV; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ZpwAaYia; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id ed12-20020ad44eac000000b00658561d243csi59049qvb.16.2023.10.26.12.13.57 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Oct 2023 12:13:57 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2023-03-30 header.b=KgpcD6jV; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ZpwAaYia; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B93C0385C017 for <ouuuleilei@gmail.com>; Thu, 26 Oct 2023 19:13:56 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 876263858D32 for <binutils@sourceware.org>; Thu, 26 Oct 2023 19:13:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 876263858D32 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 876263858D32 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=1698347631; cv=pass; b=xNWh0jJWmtSKLI8I1XDtl7wwJ8wjOeKHwwWZyVOmotj7Hs/3WVcfyx6oc7CDSx6JQRajfX0iOXKGsUiGovhBT78zx5ZZrnPVB3yHnFuRzoRHKzPMbtXav16/TFtgYoVYu26I0JK+QsAGRWWHLkg0QCe8byuChcx6cRjyrdpBr80= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698347631; c=relaxed/simple; bh=A1+5v+LQ0Y+JqbpBnErL/iLQYbBdkQYxtzppE1q9mLA=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=mAVkfv2PvDlbJU5NHi4tKur2X0rppKA8WvOIUqkcUOey+zDWhNWREats464uIA3qfZOE9FD2eHJLOkMQhYq/AZnF5H2rajAF2KFEIx7QvI45K0Bx26nay4Sj1tZUnfso1mN9m6v59DH6X3vd9NqYSFlQiMFllgUTmmk2k4QhPUw= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39QJB9O6019522 for <binutils@sourceware.org>; Thu, 26 Oct 2023 19:13:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=PCmtJwzr/XWEemCNOaChtuKp2UpAdIQuABZqovQW2uo=; b=KgpcD6jVzabFW/qFvOrZq55BWmpQG0sooqFp06QSShmXufks6DlL7jmW2KcFJ8XrTRT6 s6pkJcAntyt0EuFuSAmWzDbwYKDzX7KbJsrpQBb3UneksjfWBWa77aXXFgTyts7W0rQi qPq9eKsw3e3jxWDRsjedFyMiuzfH93M6QKdtTtBh+Omo8FChbOi1lDDR6+9Yr9o2RBgx 9vRPmrLwAgvN+YfQQyEz2fvz4FOA5XscshLRUSALnG9KYdf+JRe7UxebP/p17MPBuwiG uUCz9UBX3LU//Azuw7p7lELrhBC98EWPsWFzaAp55ekQ6BXUYz9S+2s4mT6pTVialbWc cA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3tyx21807u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <binutils@sourceware.org>; Thu, 26 Oct 2023 19:13:46 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 39QImpsL020061 for <binutils@sourceware.org>; Thu, 26 Oct 2023 19:13:46 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2041.outbound.protection.outlook.com [104.47.57.41]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3tywqj905a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <binutils@sourceware.org>; Thu, 26 Oct 2023 19:13:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mBN+NaxbIFS0+4uRcsdjKRtIxN03CeU9zw3fgWVNx7WI/m9vHRQaIB+57lJh8/VZpPghynapWS6iXJF0SgKMStpRmrFRUCaYQM1Fcx2rvq5M55ORVcDA2iTTqj8HyNgJwMFWsevQo2RMDcoYDtfg5fnKpRstwfzPWJgPZ+NP8F6juEs6Bpj21byOD9/V0pM+cOloaR3MZBDgWtMRM9/966qSR9RKipIFi7UgFt5Zl7ZhBmc7AYKSoFZ5qwlEiYMR1LUZo4UBUt6KO6CSKTEWhnz6w3WZxmyaYcdd/Hl5VuTcU45IdNmyN3LFmjklh6Q/gDcpmygxJwBv7elc8ydYjg== 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=PCmtJwzr/XWEemCNOaChtuKp2UpAdIQuABZqovQW2uo=; b=KEdzCRFwmYlahH6GKCbfwJol3qNLIGb3uTWk6hSDgG8jdXoPDrgRZdxpbOCPHgM64dR+5h6JCC9hYvaTReJCPaFlCDBVjCvu9wQSiNUg6dbWvV9VbZaB/KCGmhAqUoiYTDTesR7GefNEDTTDP6+wCfnHCehxHiDfXx41QsHPhsZ6Zc4Dt3NHpJadt2EAXAyUctN9qqWQqnIg9VQ+lUCnCVx2+GeETf5aXnFGe1IRZQhDcu7/fgnhihimzRbtEtlHNt+xZ0UahPxAFTJ61SjXtPWUhdxVWxK3iuLs9sXkRDg0H4iBdzWOvbVi6H3LW3vt3rCCOYkRq2er/uFVpRb+pg== 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=PCmtJwzr/XWEemCNOaChtuKp2UpAdIQuABZqovQW2uo=; b=ZpwAaYiaHXUu3gs3+HDro15jnv0UJWz656nvOR0j+yeIst0tRl/v/LDnQs+lCFtc16iq77AFiW9CVFdJQJlPsxYGygZn7YKnP/cdZHQaShwkEZJL3ItKqY5TJqcYsRNRzz3zatX5uQ4K6WHIpWzAcXSjkgFgxYs0edrbIOyawag= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by IA1PR10MB6899.namprd10.prod.outlook.com (2603:10b6:208:421::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Thu, 26 Oct 2023 19:13:43 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::7f02:c28d:9802:20fd]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::7f02:c28d:9802:20fd%3]) with mapi id 15.20.6933.019; Thu, 26 Oct 2023 19:13:43 +0000 From: Indu Bhagat <indu.bhagat@oracle.com> To: binutils@sourceware.org Cc: Indu Bhagat <indu.bhagat@oracle.com> Subject: [PATCH,V1 0/9] Synthesize CFI for hand-written asm Date: Thu, 26 Oct 2023 12:13:28 -0700 Message-ID: <20231026191337.3872149-1-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.41.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MW2PR16CA0007.namprd16.prod.outlook.com (2603:10b6:907::20) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|IA1PR10MB6899:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cba2b2c-95d0-4dc1-3345-08dbd657ab77 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LwYIpBzHA6xnz6AE8p4fd0aeQ1UHMEUilX6ClNwp7t51z7XsnljF8Tfz4+oQgxVQjEzqHoW+SJ3pavcqu34vghedWmVPnze3j5rHHOylOOAdIf+eYXvSNB+jS/6yvXEMJsv0q0R1j5oP1/9/pVx2EfaBnjQy58USK6KzjJZKaxbqK6SPT5+8e8pYoIlGMFxlBLqOHEposThp5oxmP3j2EnTCgiEGyFC+7h2pdwn2ezGMBh4GWsoQ7BJX4CxCsnbEEvU9MhY1oFXwCPvihPHiMJDi5uHgy3d8ReGAJMR+424SAt7M4JkyYPWdncSc3xx3mH7386rz/rAnCyWCJjSfVWvhG/Dzu+HI5G00kAmNnne87ujGZDDqvw68ZM8Tz8K84C3CO3PfQzT5JuRUysuCN+N83UYeDZjoLOwjv1sDpYuSxTOXDABVVOH/a8f5+kqGbKqU53GpN41zZJRRzQ/wlkvWK7Fl7TYlUHD3GJb2mtSnVsxpT3P+XQhkMiFImaIecs7oGFYHo+7UcTIEGaKus19t0ugREKx+Qf3B/+gw3PY= 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)(39860400002)(376002)(136003)(366004)(346002)(396003)(230922051799003)(64100799003)(1800799009)(451199024)(186009)(2616005)(66476007)(66556008)(107886003)(1076003)(83380400001)(41300700001)(6506007)(6916009)(316002)(5660300002)(6512007)(478600001)(6666004)(86362001)(66946007)(6486002)(38100700002)(2906002)(36756003)(30864003)(8936002)(4326008)(44832011)(8676002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YLZcq8zx/+i8c5MQN/FdLg47pv560ZMojHAihriqIH6rE77glfY03hpZUnPijL0/KfulqqRvqTJc3SrRTf3qqSXfdo8acXK/1XfmKQRQ4Fngk7MDYlaBG8yDA+0BtcEh3J5go3vwoy7lhps6LnHQliQwVRCM+dgsl4ULhe5bwaK4fHHERZG3ynM2e/Omecgj3QHH9tu8WCHLWMzZWAN1RbeRDym8N2J9VMg7QtWzpR7E12zXcv9XuOsFVrI9CHX6OVyE273viDnMSBtGaaTs71Nv/RNEFxCIv7qY7Dq4Z3qYmfjoBC9iSwIRLwZyU7dTIxIeC6hv9FWFbx40oZawii/J+PkNEjuKVnJKt8f/fyw3tFRYonumPYuZY03r/aIFQZOQ1vPZtlctOK+hanW69ZH8YyjY1hjHYXpqePLTJVHOFDgeVb5ODchjRFGp3tN9AxVswPxyt7ZuHksZLpfphCg3ElXej+4YmnWHhUgrpjUPYjBk2pzQbOjluzaeDrBUx13ymsld2/MXysHbnnYy9pI9qEz3yaccsX+kwjCm58NorfgX38M9LLVcD+28vjQ+JMu546+rm/7f94UfA2qik6dWBY5qdamvH6zJLWVjfaMXybd4YlLijidDyVUh/MpRmeOe+r3l49JA63+xiAVYziKBE0NLqqutwehsPcsImPhSnP9txxzw8nRl1dGPOaPH+/n00I1eMPKQIeEDX/iIk/Da/unGawqyY1ctB011egli7PfpsBQNDXx08ajglzsicK3qebJVd6V9dJWTxKzdPSE15XzboTsOQqYvCedt/ThPsJz044OMv7stCQs9qPPRT7EMXqyeGQCaeg6vrk6snqdrCpBvS1O1tOYOR8oSq3HhIj+Gwzdmolp8j92hm4oLBd8tpdt72HNRxkIK6oR4xHhh7cuz7bZg/rA7mL7QHV5F/V9IhzueVPBP3NFjsr5+fr5j8AeqtfVPiuxfQZUNVqvPqf6dZwckB6kf6BQ1EdiJzClBBttKrv0mCgYiOEFqYDPAr4TPgNuiFrdkIEDWIkmW2GG8qCGrqSqZI8E5JkVXMGTZt8nEwhKhrbCUhZr7OC+71RTRUha1Ns+dfI0WRhBgKpg9wzDsWR8d1hN0gdMCZR9SnrG2isnH8Z3w/haX5CJt+MCVp1Ib/JOJz45nQZUpIyQ8PSUDhZz8vAeF/Ymdw2XlVr10KsmL30ibAeOth0Xt1cnt3NyqAILMvL6F114Aha2qxr0TO2K1UGds5pyxqNOw+YZuIcOI9HE/+yEhdiGFuMVB4mJQAspHYBT4fqw7s25PQVJfJyI4DlgaqqEaqK6uOepNoiaUKXwQoukCwxFSJLwImwRpbaYeI27MCL3FKKMjNDdysBe+KuEc5+d8zgLqF4Qp0eFW4N5P/yU5RgT2/pjVMrVtR2wgGXrQoCm3WMnqumvQVTqQFd0Q4vWTpG8VtlRbAe3Z1UdwSPBGvZVeGQP4Sq3K7cWi4wTt51clFGkFcV2LKHLGteSgcEe3DwX3g4AH0nM5c+sbw+DIb/SCihiAMlCNTHKAhrtwvo32eds6OHMadVCPF5MbD7XiKlD4lo3QZAj/S8fI9yqsc0wY8Sa0/Ji8VOwmBUUSxqcqrLuiHG97c/2VFQt/E0c= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: eRLM5Vn9c80ERQIHop2dvZqYgzV+Qs/6/t4dAJCHIYRZYQSRGrdRRqSPsoY86eqY8vQZd1WZMjMyuzGq7QXKbD7l+fW8OJubHAgAb7DBHNVIuC23jWI2eO4xMuyUR60zoMcnnucCns/tV2EyTBALE7T2MqVhxCRGk3SCkXpRvJwjKx4rADk9dlh8W5goifEKqOvY/PMFYkkFlCY1QckHHDT13CM2PswSl+xoTkF52SUwYJSTOOKisAVxZ5eyJ2VCHFUunTPPRAx93ASDmz7qjdMoFit1+j3P97CJBGTmuH5VrX1B6CmHEFdbcDMYPo1ubSpVWEKBc3SxVG9tcHpdXCK3kS6ZKn4oENgaB1ktbq+rsH0SnOPBvzHtKgTsFXYKJX/jAe3wsIyKyEJT7Jno2L+vasgqIaPs/j45o9lBIy8+FMi9kQG8jrPLVbFp5aaovpix+TrQoaPbcZ7VtakAQJuj5domu+Q1+hirL3CTlzCg5tEFuzXiiadMFoeQZAWMJP5Kw9i5yfuJLEGgiVOsQqbhBRLEiMtdYRC4bYHhmOVwnobnfCn04SFfvDrnzyMLbNC7IfUC9h2swIrnPr6reJazwKOhR1Q+atnYEafWIsxV0uRh2s2+n4nFAd9XvQhizbwTcdk7ATGn5DMhqZ3bQLIh3yV8TB3JnBqe7Vt1z0ugYxO9scnioBeK3Bh+415F8luccp04tvYbD2q3Xwyq7TD9hXQq52LCZRwXa20rBPhbR32kjJSI+ugxKzBJ4G5w3J/2hqG/zqH/zTc5SOG/hQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cba2b2c-95d0-4dc1-3345-08dbd657ab77 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2023 19:13:43.2526 (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: SMI4YPNC53qmDl/PTnTdjSAbMH2q0jql87xuESIS8FMugIBM8aLtFgyY3FAABq4JmXmNcOWQTJDEQ9hQ4DEVbA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6899 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-26_18,2023-10-26_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 adultscore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2310260167 X-Proofpoint-ORIG-GUID: 6p4OiJ-T_YxZBt2rkB_ydZnTqP61GZni X-Proofpoint-GUID: 6p4OiJ-T_YxZBt2rkB_ydZnTqP61GZni X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list <binutils.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>, <mailto:binutils-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/binutils/> List-Post: <mailto:binutils@sourceware.org> List-Help: <mailto:binutils-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>, <mailto:binutils-request@sourceware.org?subject=subscribe> Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780846572106169385 X-GMAIL-MSGID: 1780846572106169385 |
Series |
Synthesize CFI for hand-written asm
|
|
Message
Indu Bhagat
Oct. 26, 2023, 7:13 p.m. UTC
Hello, This patch series adds support in GAS to synthesize CFI for hand-written asm, acronym'd as SCFI. The RFC patch series were sent earlier (https://sourceware.org/pipermail/binutils/2023-September/129560.html). I have addressed the review comments, tested the implementation further and created the V1 series here. If you prefer to try out the code etc., the implementation is also available in the branch users/ibhagat/try-scfi-v2. Each patch in this series has notes on how it has evolved since the RFC posting, but here is a brief summary: - Updated some documentation stubs. - ginsn are now emitted in the listing output by using the flag -i. - GAS now warns once per file if there are CFI directives embedded in the user input of asm. The warning message is: "Warning: --scfi=all ignores some user-specified CFI directives" - A distinct set of pseudo_typeS are now defined in scfidwgen.c to handle (i.e. ignore most of) the .cfi_* directives when --scfi is in effect. Handling of .cfi_sections is TBD. - Bug fixes and other improvements. - Beginning of a asm block is identified with a .type foo, @function. If the user does not close the block with a .size foo, .-foo, the asm block is assumed to continue until the next .type bar, @function directive. The testcases scfi-asm-marker-* should be helpful. Motivation for the patch series is to alleviate users from manually adding the CFI directives in hand-written asm. Manually adding CFI annotations to user input asm needs additional expertise; human-errors are possible and indeed occur more often than one may like. These errors, if present at the time of virtual stack unwind, lead to unfavorable outcomes: incorrect stacktraces, program state corruption etc. For synthesis of CFI to work, the user input must adhere to the ABI and the appropriate calling conventions, as GAS derives the set of callee-saved registers based on that contract. The SCFI implementation is based on some heuristics/rules, please see the patch "gas: synthesize CFI for hand-written asm" for more details. Further, at the moment, SCFI does not help in cases when the control flow graph of the input asm cannot be generated (e.g., in case of indirect jumps, jump tables). Thanks, Indu Bhagat (9): gas: dw2gencfi: minor rejig for cfi_sections_set and all_cfi_sections gas: dw2gencfi: use all_cfi_sections instead of cfi_sections gas: dw2gencfi: expose a new cfi_set_last_fde API gas: dw2gencfi: move some tc_* defines to the header file gas: add new command line option --scfi[=all,none] gas: scfidw2gen: new functionality to prepapre for SCFI gas: synthesize CFI for hand-written asm gas: testsuite: add a x86_64 testsuite for SCFI gas/NEWS: announce the new command line option gas/Makefile.am | 6 + gas/Makefile.in | 18 +- gas/NEWS | 2 + gas/as.c | 27 +- gas/as.h | 8 + gas/config/obj-elf.c | 17 + gas/config/tc-i386.c | 730 +++++++++- gas/config/tc-i386.h | 21 + gas/doc/as.texi | 12 + gas/dw2gencfi.c | 42 +- gas/dw2gencfi.h | 14 + gas/ginsn.c | 1225 ++++++++++++++++ gas/ginsn.h | 396 ++++++ gas/listing.h | 1 + gas/read.c | 21 +- gas/scfi.c | 1226 +++++++++++++++++ gas/scfi.h | 38 + gas/scfidw2gen.c | 325 +++++ gas/scfidw2gen.h | 37 + gas/subsegs.c | 1 + gas/subsegs.h | 2 + gas/symbols.c | 3 + gas/testsuite/gas/scfi/README | 19 + gas/testsuite/gas/scfi/x86_64/scfi-add-1.d | 25 + gas/testsuite/gas/scfi/x86_64/scfi-add-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-add-1.s | 13 + gas/testsuite/gas/scfi/x86_64/scfi-add-2.d | 36 + gas/testsuite/gas/scfi/x86_64/scfi-add-2.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-add-2.s | 48 + .../gas/scfi/x86_64/scfi-asm-marker-1.d | 28 + .../gas/scfi/x86_64/scfi-asm-marker-1.l | 3 + .../gas/scfi/x86_64/scfi-asm-marker-1.s | 27 + .../gas/scfi/x86_64/scfi-asm-marker-2.d | 24 + .../gas/scfi/x86_64/scfi-asm-marker-2.l | 3 + .../gas/scfi/x86_64/scfi-asm-marker-2.s | 11 + .../gas/scfi/x86_64/scfi-asm-marker-3.d | 31 + .../gas/scfi/x86_64/scfi-asm-marker-3.l | 2 + .../gas/scfi/x86_64/scfi-asm-marker-3.s | 38 + gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.d | 31 + gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.s | 22 + gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.d | 57 + gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.s | 49 + .../gas/scfi/x86_64/scfi-callee-saved-1.d | 40 + .../gas/scfi/x86_64/scfi-callee-saved-1.l | 2 + .../gas/scfi/x86_64/scfi-callee-saved-1.s | 26 + .../gas/scfi/x86_64/scfi-callee-saved-2.d | 41 + .../gas/scfi/x86_64/scfi-callee-saved-2.l | 2 + .../gas/scfi/x86_64/scfi-callee-saved-2.s | 42 + .../gas/scfi/x86_64/scfi-callee-saved-3.d | 42 + .../gas/scfi/x86_64/scfi-callee-saved-3.l | 3 + .../gas/scfi/x86_64/scfi-callee-saved-3.s | 40 + .../gas/scfi/x86_64/scfi-callee-saved-4.d | 40 + .../gas/scfi/x86_64/scfi-callee-saved-4.l | 3 + .../gas/scfi/x86_64/scfi-callee-saved-4.s | 55 + gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.d | 36 + gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.s | 47 + gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.d | 28 + gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.s | 21 + .../gas/scfi/x86_64/scfi-cfi-label-1.d | 37 + .../gas/scfi/x86_64/scfi-cfi-label-1.l | 2 + .../gas/scfi/x86_64/scfi-cfi-label-1.s | 19 + gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.d | 5 + gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.l | 3 + gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.s | 23 + gas/testsuite/gas/scfi/x86_64/scfi-diag-1.l | 4 + gas/testsuite/gas/scfi/x86_64/scfi-diag-1.s | 23 + gas/testsuite/gas/scfi/x86_64/scfi-diag-2.l | 4 + gas/testsuite/gas/scfi/x86_64/scfi-diag-2.s | 28 + .../gas/scfi/x86_64/scfi-dyn-stack-1.d | 23 + .../gas/scfi/x86_64/scfi-dyn-stack-1.l | 2 + .../gas/scfi/x86_64/scfi-dyn-stack-1.s | 50 + .../gas/scfi/x86_64/scfi-fp-diag-2.l | 3 + .../gas/scfi/x86_64/scfi-fp-diag-2.s | 55 + gas/testsuite/gas/scfi/x86_64/scfi-ignore-1.d | 26 + gas/testsuite/gas/scfi/x86_64/scfi-ignore-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-ignore-1.s | 13 + .../gas/scfi/x86_64/scfi-indirect-mov-1.d | 51 + .../gas/scfi/x86_64/scfi-indirect-mov-1.l | 2 + .../gas/scfi/x86_64/scfi-indirect-mov-1.s | 48 + .../gas/scfi/x86_64/scfi-indirect-mov-2.d | 41 + .../gas/scfi/x86_64/scfi-indirect-mov-2.l | 2 + .../gas/scfi/x86_64/scfi-indirect-mov-2.s | 38 + .../gas/scfi/x86_64/scfi-indirect-mov-3.d | 41 + .../gas/scfi/x86_64/scfi-indirect-mov-3.l | 2 + .../gas/scfi/x86_64/scfi-indirect-mov-3.s | 38 + .../gas/scfi/x86_64/scfi-indirect-mov-4.d | 63 + .../gas/scfi/x86_64/scfi-indirect-mov-4.l | 3 + .../gas/scfi/x86_64/scfi-indirect-mov-4.s | 68 + gas/testsuite/gas/scfi/x86_64/scfi-lea-1.d | 37 + gas/testsuite/gas/scfi/x86_64/scfi-lea-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-lea-1.s | 40 + gas/testsuite/gas/scfi/x86_64/scfi-leave-1.d | 36 + gas/testsuite/gas/scfi/x86_64/scfi-leave-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-leave-1.s | 26 + gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.d | 35 + gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.s | 24 + .../gas/scfi/x86_64/scfi-selfalign-func-1.d | 31 + .../gas/scfi/x86_64/scfi-selfalign-func-1.l | 2 + .../gas/scfi/x86_64/scfi-selfalign-func-1.s | 36 + gas/testsuite/gas/scfi/x86_64/scfi-simple-1.d | 26 + gas/testsuite/gas/scfi/x86_64/scfi-simple-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-simple-1.s | 15 + gas/testsuite/gas/scfi/x86_64/scfi-simple-2.d | 30 + gas/testsuite/gas/scfi/x86_64/scfi-simple-2.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-simple-2.s | 16 + gas/testsuite/gas/scfi/x86_64/scfi-sub-1.d | 25 + gas/testsuite/gas/scfi/x86_64/scfi-sub-1.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-sub-1.s | 12 + gas/testsuite/gas/scfi/x86_64/scfi-sub-2.d | 31 + gas/testsuite/gas/scfi/x86_64/scfi-sub-2.l | 2 + gas/testsuite/gas/scfi/x86_64/scfi-sub-2.s | 29 + .../gas/scfi/x86_64/scfi-unsupported-1.l | 2 + .../gas/scfi/x86_64/scfi-unsupported-1.s | 10 + .../gas/scfi/x86_64/scfi-unsupported-2.l | 3 + .../gas/scfi/x86_64/scfi-unsupported-2.s | 14 + .../gas/scfi/x86_64/scfi-unsupported-3.l | 3 + .../gas/scfi/x86_64/scfi-unsupported-3.s | 14 + .../gas/scfi/x86_64/scfi-unsupported-4.l | 4 + .../gas/scfi/x86_64/scfi-unsupported-4.s | 23 + .../gas/scfi/x86_64/scfi-unsupported-cfg-1.l | 3 + .../gas/scfi/x86_64/scfi-unsupported-cfg-1.s | 53 + .../gas/scfi/x86_64/scfi-unsupported-drap-1.l | 4 + .../gas/scfi/x86_64/scfi-unsupported-drap-1.s | 75 + gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp | 98 ++ 129 files changed, 6575 insertions(+), 34 deletions(-) create mode 100644 gas/ginsn.c create mode 100644 gas/ginsn.h create mode 100644 gas/scfi.c create mode 100644 gas/scfi.h create mode 100644 gas/scfidw2gen.c create mode 100644 gas/scfidw2gen.h create mode 100644 gas/testsuite/gas/scfi/README create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-2.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-add-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-2.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-3.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-3.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-asm-marker-3.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-bp-sp-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-2.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-3.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-3.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-3.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-4.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-4.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-callee-saved-4.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfg-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-label-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-label-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cfi-label-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-cofi-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-diag-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-diag-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-diag-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-diag-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-dyn-stack-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-dyn-stack-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-dyn-stack-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-fp-diag-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-fp-diag-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-ignore-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-ignore-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-ignore-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-2.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-3.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-3.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-3.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-4.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-4.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-indirect-mov-4.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-lea-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-leave-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-pushq-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-selfalign-func-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-selfalign-func-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-selfalign-func-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-simple-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.d create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-sub-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-2.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-2.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-3.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-3.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-4.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-4.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-cfg-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-cfg-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-drap-1.l create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-unsupported-drap-1.s create mode 100644 gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp