From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40079.outbound.protection.outlook.com [40.107.4.79]) by sourceware.org (Postfix) with ESMTPS id 2694B3985008 for ; Tue, 20 Jul 2021 15:39:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2694B3985008 Received: from AM6PR04CA0043.eurprd04.prod.outlook.com (2603:10a6:20b:f0::20) by AM8PR08MB5745.eurprd08.prod.outlook.com (2603:10a6:20b:1c5::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.26; Tue, 20 Jul 2021 15:39:13 +0000 Received: from VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:f0:cafe::66) by AM6PR04CA0043.outlook.office365.com (2603:10a6:20b:f0::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:39:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT030.mail.protection.outlook.com (10.152.18.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:39:12 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:39:12 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from 19b41874c815.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1DC8C70A-2F83-4310-BC99-6E22303CA9FC.1; Tue, 20 Jul 2021 15:38:58 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 19b41874c815.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:38:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mPoUizawK+/nkNd1McWDxq9/WD6as8j1C/FJLPzlnluTmUY2lCV4ZD7YarzAwpteuYdO+Sf97UtlF+p3SeMPtJb4HWNO6MpR2RQKJbEAdtnAbOL3HcJFiPoxMDKkfCDcMadKsyDBf3Jc9Wj64ENJ1Z5uomc6qzXa1Yya+7dc+H5ErRRWWmjVBNxYATaWqKze3cdzq8K8FYTrZwrRggfof4xfgn8zmtXR2x4VZziRWHx4hMGHtaxi2np2yPNuL5OCbabLpgRaD5OY6vMBumHkepHzt1LF8lOp2ar7v6fuG12fnwpqtaqu3MDZC+nfU7bZidFL7pJQeqXBamYkChcXeg== 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-SenderADCheck; bh=EGxGAeJyQ7gN2mu9RNzAjkPiPyiehiY3WkE7PGcNI04=; b=jcj6OttBDOVBgqKtiBgAx+ZiMJYkxAuz7+BComWrnCcybQdUapaM1VQvT663bkgjrw6Mfhu7ozqh4Nv89bHsz7mHobgVacwdRVpN1/Rv0KKnHsQzhXqlHhcoEHA9VXaMTk7xRwy9d9RmFn0Ah5Ogu7EZJ8oaaI5aQZDIU91No5sTHBn1aCjzgCzO2nk6RL7MLqVjCrgS5C5eh8xYpPSzxGmSvyh+8Rzr0fXgTLsD7lH9bmvnKlui/fSCrVFMZjgh1NmMfE0kGk1ENA9VpzA5WQeoT1U3kE575qLsdRjUkqcdt58lvs9mLck+YGIsHK8s2WajpVlsOzpTA0xnIDN4JA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7168.eurprd08.prod.outlook.com (2603:10a6:20b:3de::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:38:54 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:38:54 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [1/10] arm: add 'bti' instruction for Armv8.1-M pacbti extension Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO4P123CA0478.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a8::15) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO4P123CA0478.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a8::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:38:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 15eabaa9-24ee-4b5e-0c0b-08d94b948625 X-MS-TrafficTypeDiagnostic: AM9PR08MB7168:|AM8PR08MB5745: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:1284;OLM:1284; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: CyzinNOWeRCsCOaOuA9hC2wnX7fIwSiUb8QirwNC6Rc4Ju2C1HVYcMPP+NhgTnFFvk3fAfh+ugH/AXmOVZz5ZXfsRwrrXSDASrY8OU7ikUWrXy2TRPTx815kjOrQ5/k6P9RP1Wa0vsaRv4WY2X6qh7UN9Bmw1roPcUdLANf2eVanofJNa1edNcbuqhTy92gklal18juQYCZsn/rStFRbVne3llqBNcX74T9qPwv8WURLIlabj4e8x7RNYQ+azt65zFJfUT+Yn6ur7Fqx/BHPDDQBuZr/vHnPeLGt+Vd6HSt7heqMm9b2TgT7zA662y9zFiNoGAvaIoqpy17kta1SMnLHfy1hmC77lisWtxFjIlvv0W7xe9pjnbNYcD8Nhvp0W+GGyAvAf3WTpPGdkx+EuqJcxLE4LrPUfVM9m0jqC1nAs+iCy0NSCPqbzycldrfBw/7Rq7WOp+EWKU6KiUh/pfxXkFDnFd1oqY33o0hWIisAY9edcU6oZV0hIqLL0Bbr0IXfNzH02OB2XuC/JqxovvGlHWpwI1gseJxwPyQkvwc4guHL1ex72CzG45Jo1XWOJ+s2bJf+rkViduZJhPOjrP7u0XsGQm50cB2D6/J9C6DZneu1g8rUvyuYerLwQoCFtNAwZPFUMsMbOhgKkWrb9Y3GuTeJ24pk6+zLM4G5nNYUSGW5Mq7pGjwN3z7/J4pqIhMubEXbFHznIP0UMCcIQUx3Uxq63SQJ9S7KMw+9sZ54tNpGvEC5v/ETerVeThk1aeTv7itxUpZfHCcfTvW8bA3sKKdmggDMo2C6iRCNTNEB6cokYEtKGy6vjs9jVERO X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(39850400004)(346002)(376002)(366004)(6496006)(86362001)(36756003)(33964004)(8936002)(186003)(235185007)(26005)(4326008)(2906002)(6486002)(52116002)(8676002)(478600001)(5660300002)(66616009)(66556008)(66946007)(316002)(66476007)(38100700002)(38350700002)(6916009)(956004)(2616005)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZGuHilsn8Z1ecqg1+ld4meNY6aqyI3tzxm3K35DAJziNIPbzLxzuq0U08S5N?= =?us-ascii?Q?Net8EaLGEB+o+ME1PwggjU84Z8V6A4xKHcUBZO6bI78DGfDKZ9mnEpf7Ax0F?= =?us-ascii?Q?bW2BMAutew3dXy+5M8Nn9uxmSMt9Z+1crc3BVVA9SUTt+L15tHa4nY5L6rhv?= =?us-ascii?Q?HbSu4Y2NVqAYDfLwINsOn6mcs7KAvwbNiygzhWrpwS7t8QASGiyj927L4RkN?= =?us-ascii?Q?JKfqP4UQVMZHI8IKgyUVc47qvW1skFf/V3+9fXT778vUlivjf4bUpcTWW1ST?= =?us-ascii?Q?2DVNGeLwq73e4ZxJrvFXwvq1I5G0KrKmQg+aoQGshOQU/4+AG4eboKwwK5Jd?= =?us-ascii?Q?StU3wl7SzrklfFiAJNxtXZmt3yvVuU5xKgTNTGv/GGEhQBKJYj1ry6RnmI+W?= =?us-ascii?Q?8cvHj8BXjikXMUx+w6tJxCoyXeW4RQmOjRyDAahXKA6VQvQj8j/mMoIwZQat?= =?us-ascii?Q?Srbtec7k4NtkvcQ4sTN7iCnmo2k1S1J/OEbyYEk2yhT2oqvlRfupeUtxESvc?= =?us-ascii?Q?Msk0bAk4IUsHSvnJTbIGzc4t+I5BWy+NIlnG6H6T57Y4korKbP1iKQhWeLyX?= =?us-ascii?Q?ZrgZ+aSl/LctFKO4z78BoltoVpccq/dsBE3YJefMuXHGAbKyjkJS3HtLtHBA?= =?us-ascii?Q?PXwTWy29OyQnY1rzESjCa4DxIQLwY39uxACLOU1H9v6Fz+PjyGHJ43gWIqtC?= =?us-ascii?Q?FVOsaequZQxQtT6ZY7we+yjndMSJieMYdajr5jrlIux6iS2FXcMHhD5xZv7c?= =?us-ascii?Q?39DsUxrKek36V3gevOxsfejfDkIITiNd12LZRjiMfX2PnAFPfRi/TC6/GmdY?= =?us-ascii?Q?egCWNb5QHhn3VNWTRsCIt+1NFZCbB0xPkIz07NoANY6nqEMQUmaLfKkcawjr?= =?us-ascii?Q?WDADbaD5vw3p+07VEyRJUm+6h+EV5JNrcuI5DqvuGZtpjC+fbhm+vkqe6ul0?= =?us-ascii?Q?LqRlc43549d/SmzvXa+gKV05nItsWZfMwN5D0BTJQ0rk9UvuaLH2Z3+vZeRq?= =?us-ascii?Q?FBKswjxQpP7XixM5Zc4t/gfszOSSI0uwLzqF5aoEdNPx6TdeIWYfNkl783Yg?= =?us-ascii?Q?JwgQcmAswDNbKSwkY0IevkyvL2h0eP/BKHVKUSvJs2TXnsc1wSK5XpB7Y0nm?= =?us-ascii?Q?Pp3yKznFHRJm7tRs3rL2bsMZLm3OWZ9bW6SWqn8AZzId4aEowAWhSvza93Ux?= =?us-ascii?Q?bardR2m6gXRBaNypWnF9/y+Bv7FI98Ge9RzWdd00xkFeb08Yu0wWgS4p+LcN?= =?us-ascii?Q?5bAPUsczko67pqlcbaaUZ8QlT5Xny841sX2nx8LAB4vpAHCrhXwoIxiKZJqu?= =?us-ascii?Q?i0HoEIqiMPRZI8plJ3bYEhIf?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7168 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: bb2642ed-40e5-4b91-e623-08d94b947b0d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZCHNseVWAp+TuXujma0fga2YD6E2VQid1lk3ARM2hgobG+3AubtyzoHrmPtmBXlVnHRsxHDWtFT98eqZA7Rwz49CCzC1luhzYBi1SThQgQ4HnyNGiWvHQcKy+l2P03vOo/hp8t757u5328nacPDv438Ag5RnEhp2lBhO2l7jKe3eFUT5vFqjijD67jip+FoVRzXe5twDYlpV78WFFgRtZf6wx6Dxm5+aSMXsACPRWgLuDDKrtER4ycdu13mMIYF3VZrZ0+rHZ+JI8QUVopc/mtoNcdw+XvCzAdu6MRw+LGdwrgMlpwFFBMpW5C3c9ddZsF3bLWP4NOtmlKZ1+qZdS3RvIeIRuVSfk7sqCkEPJwayGNOjcHHM+NeZ83zSKnGrwZ6ewvrBoi5sWsexlK8Nt6twusVjxd7F7PMzWsFsp/bJuC2j9rnWaInHB2JUCMbelaSrJyVmXEpLlXubRSReHmWx/D54HU5BBjzHOa0Bj36QNeI/2AR/nHX+gjsRIl0qcFvVlaQzX800KzJk2At3qxYP3SCb07yywsEAN0dicSdCPwDtr0If6URImzz1Oo7UtAATLmKls1CuCNwsCSFmwhUVDJEflZedzIP51YmedsDuUhazkL2oVMa/bTiQfELjH8gf6K11clbKNcZiaFjBrXtFNMtSimTzpmeAf93K5sIeisAtsl2j9BrykYr3YTxMCLjWJG/g9nDlRLtg1MANh1w7xveapJi+ji2Rl6yFg09K6LakqCb41sE0Hgm+CWDizT9NPh6n1g/qJQwY/6Q5SMgwM+YTPAPeJqybEIrbLJONIlNdc9dST+gy38pfFj4o X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(39850400004)(396003)(376002)(346002)(36840700001)(46966006)(186003)(4326008)(81166007)(5660300002)(478600001)(33964004)(2616005)(6486002)(235185007)(336012)(316002)(956004)(2906002)(82310400003)(356005)(6496006)(86362001)(6916009)(36860700001)(8936002)(26005)(8676002)(66616009)(36756003)(82740400003)(44832011)(70206006)(70586007)(47076005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:39:12.6264 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 15eabaa9-24ee-4b5e-0c0b-08d94b948625 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5745 X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:39:18 -0000 --=-=-= Content-Type: text/plain Hi all, first patch of the series adding support for PACBTI for Cortex-M. This is to add the 'bti' instruction. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] The series was tested and does not introduce regressions. Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0001-PATCH-1-10-arm-add-bti-instruction-for-Armv8.1-M-pac.patch >From a0404601c17994dbbf49a152daf316731161ca68 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Fri, 14 May 2021 16:19:39 +0200 Subject: [PATCH 01/10] PATCH [1/10] arm: add 'bti' instruction for Armv8.1-M pacbti extension gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (insns): Add 'bti' insn. * testsuite/gas/arm/armv8_1-m-pacbti.d: New file. * testsuite/gas/arm/armv8_1-m-pacbti.s: Likewise. opcodes/ 2021-06-11 Andrea Corallo * arm-dis.c (thumb32_opcodes): Add bti instruction. --- gas/config/tc-arm.c | 1 + gas/testsuite/gas/arm/armv8_1-m-pacbti.d | 10 ++++++++++ gas/testsuite/gas/arm/armv8_1-m-pacbti.s | 5 +++++ opcodes/arm-dis.c | 5 +++++ 4 files changed, 21 insertions(+) create mode 100644 gas/testsuite/gas/arm/armv8_1-m-pacbti.d create mode 100644 gas/testsuite/gas/arm/armv8_1-m-pacbti.s diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index fa023b4461e..d7f8fca803b 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -26305,6 +26305,7 @@ static const struct asm_opcode insns[] = /* Armv8.1-M Mainline instructions. */ #undef THUMB_VARIANT #define THUMB_VARIANT & arm_ext_v8_1m_main + ToU("bti", f3af800f, 0, (), noargs), toU("cinc", _cinc, 3, (RRnpcsp, RR_ZR, COND), t_cond), toU("cinv", _cinv, 3, (RRnpcsp, RR_ZR, COND), t_cond), toU("cneg", _cneg, 3, (RRnpcsp, RR_ZR, COND), t_cond), diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d new file mode 100644 index 00000000000..3c693728468 --- /dev/null +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d @@ -0,0 +1,10 @@ +#name: Valid Armv8.1-M pointer authentication and branch target identification extention +#source: armv8_1-m-pacbti.s +#as: -march=armv8.1-m.main +#objdump: -dr --prefix-addresses --show-raw-insn + +.*: +file format .*arm.* + +Disassembly of section .text: +0[0-9a-f]+ <[^>]+> f3af 800f bti +#... diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s new file mode 100644 index 00000000000..38929e3dd02 --- /dev/null +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s @@ -0,0 +1,5 @@ + .syntax unified + .text + .thumb +.Lstart: + bti diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 92cd098d6c9..1e096997543 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4652,6 +4652,11 @@ static const struct opcode16 thumb_opcodes[] = makes heavy use of special-case bit patterns. */ static const struct opcode32 thumb32_opcodes[] = { + /* Arm v8.1-M Mainline Pointer Authentication and Branch Target + Identification Extension. */ + {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), + 0xf3af800f, 0xffffffff, "bti"}, + /* Armv8.1-M Mainline and Armv8.1-M Mainline Security Extensions instructions. */ {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2059.outbound.protection.outlook.com [40.107.22.59]) by sourceware.org (Postfix) with ESMTPS id 899A0398501E for ; Tue, 20 Jul 2021 15:42:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 899A0398501E Received: from DB7PR02CA0020.eurprd02.prod.outlook.com (2603:10a6:10:52::33) by DB7PR08MB3643.eurprd08.prod.outlook.com (2603:10a6:10:27::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.29; Tue, 20 Jul 2021 15:42:53 +0000 Received: from DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:52:cafe::42) by DB7PR02CA0020.outlook.office365.com (2603:10a6:10:52::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:42:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT024.mail.protection.outlook.com (10.152.20.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:42:53 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:42:53 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from 30e3069ae8c1.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 97467B7E-C921-454A-A3DE-EF42D7982EB7.1; Tue, 20 Jul 2021 15:42:52 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 30e3069ae8c1.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:42:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CPnRaso5MDAyyXCiDMeM3Mn4ht5HQ2TFIDeXdvSrMg0yEhUfuslki5gvX2Q6zReO7KksTFl3HdzNozzKySy2Whm5ui5537ZR5OzEQRQdWkm/Jw/UoFd4nnkCkcjIGLS5UnQAjiTHIPRp0+sRgksUcX8rVYRIexQgWhKmhYc5QviI5E1GDCPlT6tQ+awH/0MM6rMWbDzl1QB7oiUN8dGAjtlgVSGcmq3r8ChmoU/WkLpkjwjW5+AvMc05hIKDXutqnvlRF6wmgjms1XIzxF1MPNttHZS6EKI7CYe5AxeYHoR9y7cCkBYAuHvmv9eIiv4Ct4ACcWdiwiR7PCrxmIE49A== 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-SenderADCheck; bh=yWV+Z9qrq5HrRz+BTFzK2lJT8ioK0MYnPxV+47XtWaY=; b=js793GuOcjKqnVEFvY+rua21a8WEK9bR9sq/sU/u71gonG4vrc3LTDZAwZSzh8FaPKZVNB98DjPCvIPurT6df56kALTND/GNuBAyJN1qVjd/quEgAIPT49DnrbyCJmBfvuz/v0zy5h8NwrEXShc34EyqOOlFlo48bxvo7NuRoGoUxGrC28kW6K2aqOxnq5HuZqIADAJQqvv5ASToPX4QqkTt39uqcbO679H/DpMciCEc4/88OVsT7JgHtMf1BiXE2s4y2DTtUv1AQiUVONEVdWQBaxRMBKQsdLbG8LHZT/zy+QHuIQOm+lr45TKOux2QQLPWPgxoWmnC/kOS9So5kQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7197.eurprd08.prod.outlook.com (2603:10a6:20b:3de::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:42:51 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:42:51 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [3/10] arm: add 'aut' instruction for Armv8.1-M pacbti extension Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LNXP265CA0034.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5c::22) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LNXP265CA0034.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:42:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ffdacb69-31a1-4d79-41b7-08d94b9509f5 X-MS-TrafficTypeDiagnostic: AM9PR08MB7197:|DB7PR08MB3643: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:854;OLM:854; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Qv2P9JSIPfYIhc8YMO38emhobp/sjNZt9c4vTkkA8BhsIVX4B5yhjn9YpCRaRvPBpmtHqw1d2T9Lo9+Icz+y49XW13PyRHwWMSzK2mbm+7AsldQn1LcdyphoLRSC4qFxGCb88bp+oyK97y3zZAAI4sZ3dy/Xm50KoqlLimI4aBc9Gayg5pmnEAaOrZweOnDtfNbDALiaCdZRhIc3Rju6GUIhCaNWwR/h2rsCANDB37htWZqb+g2vXKv2vFZjfrc+PV8PmBoyJXZ6X3zeudAqA3/GSOXkSuAp9UnzKenPhlzyut0Va/ClRDGqBcBNoLrLwqhiRS83x5ZTodnNQgAwJnAPV3aCSYGCJaE0tEuFo0nWHPpbKjk7nmszlyW6mpAD8dbYKHySsCT7Bi9wWSvxSl4zrykME+CFXFRH9ji1R8uXYALnswzh6PG/WL5s/FIF96CESCiwsF+dp1Bmg0oKD7TZbFVZrN04kk2uizRzKHqI6HxIHY6/q79RF4v6X3ZqL6m/j8Zo3H6RE6LvHNA/EuAo0xFu/vRCii0NvAqSCaKxHjj5qQaELKj0Q2PEuhSfYb8xjS7BzozAf33qhJRmGQT47BOjOdxeFODUIKsKY0uDKxw7lHOnFWcg2aHtJBW3c0xMyz4ycdEJn9iWyCvnqXRheOCO217TN9wUcLyahmYxUs01xcBtvgnG3Z4nW+s+KbM/tLYunYba8xndKsNOdwfGjv2+MhWcx+aMoKdiXRJyVbevTQ8RdPJR3tn2HJVtbnVD9cWZUKG2FvM3kIL2Wsr5OQ+KKLypUIOIfRx3NeSki4UE4ik9I5fzNySxbJyf X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39830400003)(366004)(346002)(136003)(396003)(5660300002)(235185007)(66616009)(316002)(8936002)(36756003)(44832011)(8676002)(2616005)(956004)(38100700002)(38350700002)(86362001)(6486002)(2906002)(33964004)(6496006)(26005)(66476007)(6916009)(52116002)(478600001)(186003)(4326008)(66946007)(66556008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QR8bq2McBeFjD1faw1bK79XYso2LyS30/bcS4NgHYg0myVbURQf6NRa91YIL?= =?us-ascii?Q?FuGeMou+snY05nKkLvunEQCXVHIzecmISffIbSbtfagO61nT1ZhLr2f4iLO7?= =?us-ascii?Q?KkZ4VRijH5GwKEqMFYm/Ja4jLF3Zy38LuJ3GzXW2NSZmKvEVkXkQbBibN0Z4?= =?us-ascii?Q?26bPIBZuQZ3WTUjGpbJHwZaWA7RKRIqhqD3rVfga6G4INRQFJs8YScuigMOs?= =?us-ascii?Q?S2cCFxvGldKKwqynImbRpAMgUIEIxQx9lXW4N65XjzHcv5qAh1jQDG+iFtQP?= =?us-ascii?Q?b0nFiPBzlh5qCcwfSozhakWJdThwT6+D0n6Xe+fY3Fy4SQMILWY1alJyn5FS?= =?us-ascii?Q?DK1zuw4go0sbylLu9NifiA6nxEepi/zLWz71num+BtvHiZy/WgTSD/fjKTo1?= =?us-ascii?Q?4MD/KngmCQx8IkYiiTKrYUvttEJyKbB35uBmTZMmw7/vXcgrzA8/AQhExX8X?= =?us-ascii?Q?jdyRa4uG2NvqGZAxbR5WCkoxYTUHF9EyS1/KPrvqMUqWjRgd8rvb+zFcqpJV?= =?us-ascii?Q?2eVCnLsCfC9kxnRaXoU0th7Bz7qBN0+FwM7Qsy2ui3oODKH4aYUtJ/RjUIZp?= =?us-ascii?Q?gq/Xg3HxfYkfPo0q0Ugc0meWmHG9ZZzR2IRJpOEVQ+2rtLwdQd2lI8Lsh8fY?= =?us-ascii?Q?6WZWbMlrDkQImzRxCiiBom4qTjN9oAYisblesnqVIBu1dvTuGuuYKMaIeTXf?= =?us-ascii?Q?VknMOWF93uvveTDG5K2v63Ky2TwKEC8R133Vmx8WHwdbf1reFvOiOkNPLW6+?= =?us-ascii?Q?ptT8WDVh/KefM6ggSGISGJ4gUqeLs1+yXHViYkU46SzScaYep7CCRy0vhJ02?= =?us-ascii?Q?+xJFnphJtvFmWxnOohMf5nQ+wZnBJt0XBZooYUZWD+XXMUIDekJjGYxhWDw9?= =?us-ascii?Q?jUXOj6TGy0bu+tt7exrQCCt7b7ThN1pTFlOAB+DaD+rCVYno7P+Jn+dhDVlg?= =?us-ascii?Q?E+/kygNA8mdQRi8pXJv5ellYTTDmE4XJFCiQgf/VXhU/8Z6inC0wm9zuPYjv?= =?us-ascii?Q?uUaJTSKf+neTXJQIq6R49MbgkpmccnIouTU+UfdvIwAKKlQEvuIbdAHVTTyr?= =?us-ascii?Q?D/ufDIkci9tuGbxc7Nvm0c6rUe92gWRFXibkHxzrRtq0+eeNSJQ4pp91P065?= =?us-ascii?Q?DO6QHv1MQb6vTiatmusnEMPn/KSL3mU6l+etDGC3lTs8eE9EGdWkFplwLjJ9?= =?us-ascii?Q?8+0uSWjucVOZhTkYWFORT/OlddlReCtE9ishbKeRmvoFMm34ljUKaQgxqqSU?= =?us-ascii?Q?RTnKFjSaz2ly2T2lXWRbZcOcfOJdJqG7NNb87f9PCk0QekTOy9i1NZ4kY2CQ?= =?us-ascii?Q?PGItGxdqpz83izvRRWgecHZt?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7197 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: e63453e0-d3fc-452a-61ef-08d94b950870 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AuYgT6vDhcCjEs7Cw+SNLmUrRSvkjt740Onk8H7Vl6aXcq4s3kdRMFczHbgVCxA4WbM9E189G9wgrKjESD4aZZG2Ki6UYZdtAU+xgpYLGJ/Y7V8fzd8QpgmAPC1ooBowP6N0JOYDOjGhYikzvT6OWnyqa/p3ht4DXTHLE3KBh+uZqTXZpIkg6Cp8yAM8VFIoV0U56m3Mb0htOvGZ5rmcLjBIfAMfi4ILN3s3lpu7QpSI6HDH+1dPpO7Tbdw/eMsS00PtG0rT3J2rjs+l+zOsf9piJcKt0JV+Key8mzxASq/TDCpM406u48EiOZbiYUObz5AiE2k4BdbyWROL9I1kABDfY3YM7yhe4B5jtYQxpPeDNimqV7RiJOjqVAyQyHsxTcrSqVnrJ4fJmErYKSXsG9FLVv1T1nsKVC8FJ/3T8OKJ9P6gwQS3m7lNx8MFmaZJof5HzLO+LEFtlrr1DjIOajX0AnSn2QfWRQYdzBH/hLep1rULAxRyg64HT7e9bZGrzP+Y86fHLTU2+aF1YNitQKLpLTX0mSQIUvxUq50JH/mEQKqozD2ArDySll2b2dLVG9JephX5YlzGL6f0Q0JmgYK4PeBeH4wnC+Rn2FGjyvhTpvO9uWsGMDyIoiu4ZArh39F/wmnD9sAC849CqrzFvi64TkO/0dfDXt7h/zVc0xcSUtPxC/cn3ITKEmpRUD1T+nFp/pP9bayab5dW31P+mtGusGljuvpe8icdsezswLYxkytTTF4KKmhPC3hv/9zZQvyi2DcUkZMVut01Y1halgRBXi1ZmDH1xcaN230Hv8EeS1+uYQ34YmwNeEKhOFXa X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(5660300002)(8936002)(36756003)(33964004)(356005)(70586007)(235185007)(47076005)(70206006)(8676002)(186003)(26005)(81166007)(44832011)(66616009)(336012)(6486002)(36860700001)(86362001)(2616005)(6496006)(6916009)(82310400003)(4326008)(2906002)(956004)(508600001)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:42:53.8844 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ffdacb69-31a1-4d79-41b7-08d94b9509f5 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3643 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:42:57 -0000 Message-ID: <20210720153852.nDCZaNRApl5JJFkRI1xXABuCZkvyFS6z54N1MMS45mE@z> --=-=-= Content-Type: text/plain Hi all, third patch of the series adding support for PACBTI for Cortex-M. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] This is to add the 'aut' instruction. The series was tested and does not introduce regressions. Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0003-PATCH-3-10-arm-add-aut-instruction-for-Armv8.1-M-pac.patch >From 3f9648d785b2a710949995ce3b1b84785badcff4 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 19 May 2021 09:00:14 +0200 Subject: [PATCH 03/10] PATCH [3/10] arm: add 'aut' instruction for Armv8.1-M pacbti extension gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (insns): Add 'aut.' (T16_32_TAB): Add '_aut'. * testsuite/gas/arm/armv8_1-m-pacbti-bad.l: Add 'aut' tests. * testsuite/gas/arm/armv8_1-m-pacbti-bad.s: Likewise. * testsuite/gas/arm/armv8_1-m-pacbti.d: Likewise. * testsuite/gas/arm/armv8_1-m-pacbti.s: Likewise. opcodes/ 2021-06-11 Andrea Corallo * arm-dis.c (thumb32_opcodes): Add 'aut'. --- gas/config/tc-arm.c | 2 ++ gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l | 3 +++ gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s | 3 +++ gas/testsuite/gas/arm/armv8_1-m-pacbti.d | 1 + gas/testsuite/gas/arm/armv8_1-m-pacbti.s | 1 + opcodes/arm-dis.c | 2 ++ 6 files changed, 12 insertions(+) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index ed870f01aee..b5d23357fc0 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -11450,6 +11450,7 @@ encode_thumb32_addr_mode (int i, bool is_t, bool is_d) X(_ands, 4000, ea100000), \ X(_asr, 1000, fa40f000), \ X(_asrs, 1000, fa50f000), \ + X(_aut, 0000, f3af802d), \ X(_b, e000, f000b000), \ X(_bcond, d000, f0008000), \ X(_bf, 0000, f040e001), \ @@ -26326,6 +26327,7 @@ static const struct asm_opcode insns[] = /* Armv8.1-M Mainline instructions. */ #undef THUMB_VARIANT #define THUMB_VARIANT & arm_ext_v8_1m_main + toU("aut", _aut, 3, (R12, LR, SP), t_pacbti), ToU("bti", f3af800f, 0, (), noargs), toU("pacbti", _pacbti, 3, (R12, LR, SP), t_pacbti), toU("cinc", _cinc, 3, (RRnpcsp, RR_ZR, COND), t_cond), diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l index a812603d88d..317e62f731b 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l @@ -2,3 +2,6 @@ .*:6: Error: operand must be r12 -- `pacbti r11,lr,sp' .*:7: Error: operand must be LR register -- `pacbti r12,r10,sp' .*:8: Error: operand must be SP register -- `pacbti r12,lr,r10' +.*:9: Error: operand must be r12 -- `aut r11,lr,sp' +.*:10: Error: operand must be LR register -- `aut r12,r10,sp' +.*:11: Error: operand must be SP register -- `aut r12,lr,r10' diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s index 64e71e70c11..c2ad20455c7 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s @@ -6,3 +6,6 @@ pacbti r11, lr, sp pacbti r12, r10, sp pacbti r12, lr, r10 + aut r11, lr, sp + aut r12, r10, sp + aut r12, lr, r10 diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d index 593ac34ed49..fe11d7eb036 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d @@ -8,4 +8,5 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f3af 800f bti 0[0-9a-f]+ <[^>]+> f3af 800d pacbti r12, lr, sp +0[0-9a-f]+ <[^>]+> f3af 802d aut r12, lr, sp #... diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s index 39db4542e39..14b0414a59b 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s @@ -4,3 +4,4 @@ .Lstart: bti pacbti r12, lr, sp + aut r12, lr, sp diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 34b0ace58bc..8eeb303630b 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4654,6 +4654,8 @@ static const struct opcode32 thumb32_opcodes[] = { /* Arm v8.1-M Mainline Pointer Authentication and Branch Target Identification Extension. */ + {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), + 0xf3af802d, 0xffffffff, "aut\tr12, lr, sp"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af800f, 0xffffffff, "bti"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140044.outbound.protection.outlook.com [40.107.14.44]) by sourceware.org (Postfix) with ESMTPS id 8CFD1398D06E for ; Tue, 20 Jul 2021 15:43:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8CFD1398D06E Received: from DB6PR0601CA0018.eurprd06.prod.outlook.com (2603:10a6:4:7b::28) by DB8PR08MB5018.eurprd08.prod.outlook.com (2603:10a6:10:e2::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.30; Tue, 20 Jul 2021 15:43:56 +0000 Received: from DB5EUR03FT029.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:7b:cafe::7b) by DB6PR0601CA0018.outlook.office365.com (2603:10a6:4:7b::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.24 via Frontend Transport; Tue, 20 Jul 2021 15:43:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT029.mail.protection.outlook.com (10.152.20.131) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:43:56 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:43:56 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from dbe08d82e51a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 89B658B0-16B0-4D2C-BFDD-184A43330F15.1; Tue, 20 Jul 2021 15:43:55 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dbe08d82e51a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:43:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cJE2UVSFrlJrmbdF6OdWr+kLfIWrfkR8TyyV2euyy7FG+/MGdE5JGSxW4GRnYtzfaOvjrtZ0wnGRbyOqyHzCcWl0/R7vzwWU+nU0E92tb1UOYSv7kRQzBwO4gmaulf6SU57PmWu7x6qLQrhMMS9+0zdVe+6OSL08j7BvV/78n5vUFCbxeuilEE5bALh4hSvuTc397RAtdS8KECDeU5wrAPuThO253HBpDxS9tTOXZuzu75mm75XoVQfDYCmaSO/0yvuDal1pcD/yjow8yTs9OMlJn1jDik3oJE/gTqF+TFy8Y42WWJRUbCHE+Oa3fXF5W78Gwz51f7ww4mZBXxn5kQ== 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-SenderADCheck; bh=+Uy92t0K/YH6osu7WmJkpKOVrEJX1oABxBPfogj3HzU=; b=WSLF3DUOT452COLNVBPacLkCewkWLdhXjhdr6ETOVO50KhdIYrTiz82vpgDUJaxDjXnfLkDsCLaT39oFhToOdu9g0BeVq91Ydcam8dpYi8MKgN/dG0Y5zaFn1nmZryg2gni/5SjFKvUARV93T5llk0JJU0D3sQQ6eXbUVOl3BZDZ8hc2IiVFkTromrGoXIKFm9nU7zzA2ZYNt2+ne3moAUPuemLgrwrVJmZBwTuFV7xtXNELQ2nAcGWoIejko8csjUNmj4YuNwGYEuawRLby3IaoK6P7XVDJkQT53BQItly40g6lMg6jRKXSQ5CKBZJVPq0UT/HB71kisMglBF+E/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7134.eurprd08.prod.outlook.com (2603:10a6:20b:41f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:43:53 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:43:53 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [4/10] arm: add 'pac' instruction for Armv8.1-M pacbti extension Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO4P123CA0154.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:188::15) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO4P123CA0154.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:188::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:43:52 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 08cfd2f3-0338-4962-25b7-08d94b952f20 X-MS-TrafficTypeDiagnostic: AM9PR08MB7134:|DB8PR08MB5018: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:854;OLM:854; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: jlNeC9OFvJQHulAmPXVlNSXu2ABIOrGHgrh+KBfII7OxacrjVWc5GQi5CYHkHHuEsayvohJgxVst05S/X5/+gk5lPOomRaO2DIPkkknjwjVnczQTWv9CB1pZEKyRzZw0NidoI/0XtgA9NGowDf1xAou4giZdHyNuTXyFmm2bpJ1ymM1qwAmpeXZCTfomiH/JG5vlvST0ejG5YbQMWDGGNmUIW+1T7kOhnUuKyOTQrc3uMzOzqSO3MV5O+lVzKFN43xEL9zY4+N1KU4KqhR79pGL1kueCwJUbxFbZ7DQYXoNhjWn9DeEv9pH6/VIf5Fj3DNTeywwooC1/Inz0gYrDPt5333illTkQ97UGOicHSfT02fN8tNg64wmnai6TAL6HWa6e9R7f5fHPvY4dgjou7CRUQUFkEcelt7PcWSZdhri08FMJlhMAz2j6pMCm46sxcjni9HzqpN5/Hjm3YEnHYRSHipIdnGllrkzR7b9THm8WhuQinYC/fgE+LwZi9kMOHmDc8SmgPV4WxISQyDfytst2OGQlq+KfrCk4mWhVMtRcvT64fXQwG7rhXMC9ecM4dTXFf1AK0czp0JULXwY8XekLPW6iIrEyX0RvzxVXtdMZzoFF3bJDX1F5PnOVLzMuh0JZPclwtZWXi4Vd8nu5G+fh+01dklwGtyo5wGMZWYYjd9TinvWJUW8qCIVbhP2uZdi1s1kZJ4eA3nMWRYibDMcBLb2PuqSuooRtGsYDp8Xdt4oUGJlN2TmZo0KfgXV0Ql5fHlK8iZtTnIdH3X+HwV2C3X/OBAIXsF7Ia1eVFYSigMHpQf/Z3IjrjiOp7iyw X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(136003)(346002)(396003)(39850400004)(38350700002)(66616009)(44832011)(26005)(38100700002)(86362001)(8676002)(316002)(66556008)(66946007)(66476007)(6916009)(956004)(478600001)(5660300002)(36756003)(52116002)(186003)(4326008)(235185007)(8936002)(33964004)(2906002)(2616005)(6486002)(6496006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XAQLXUJ67EBGRTxXYD0Wl1MITlun1TlQI24KyXwOyOezwrlzdt4jzTwXceLq?= =?us-ascii?Q?MxE0YX34PGuvMoWSdsJ/aCBbMUoVH0ADVMgrbn3X8PDkGHKHU2gVng3igWtl?= =?us-ascii?Q?BzptXJlDqWhYAYvLd2fNO2Pwb/4H7rTlj1RD7uhbyXWX6918wcZgGtZNYlPq?= =?us-ascii?Q?QHgBGqCpdP2hCpNLAGuuD7xelqkNJiGWCgfAnUFJuH0Fau3242KJL0pDIdih?= =?us-ascii?Q?7WzuZUwFFmbcrCFnGmk93Kdc+SY3N0Lgew2sV5nDkG512gHB8dVDX84vN4vH?= =?us-ascii?Q?NtgX+5B4M3E4BldtMG/CGK77uQpIFj4broC5LHjQMSfg0rzRap5owMsdyM+e?= =?us-ascii?Q?3dCzDXxkrL54bcvcicmlFLdD2GnJLtwlw/ohp/Pu1rG8cDpsi0fYzNTsKJQ0?= =?us-ascii?Q?jjX2pwETS7MN9Vtq5ICi34VM/tLBQfXrN8W9g5D4YhiWV7oxQAbgmnKTq6o6?= =?us-ascii?Q?06q5kpstTS59Wtv7ftKo5JllBpnxS7hcCkIXbZg3aCsDcP3XzO0QCfMzAJhx?= =?us-ascii?Q?CFZkgezYcCdFwhIIR3a/qacJf4W+7Ur09ZcD8idQL0dD0hfVHaeDWxEdwj8S?= =?us-ascii?Q?SNVrp1KVMG2Jyf8CU+njPPxomIy0GBd3KLt2m/cDOggQvsFdNpi/1skVxwAr?= =?us-ascii?Q?WKOxPNREw3o7ZTcJI+B/op4Yf1Ke2yDlMh5h64SpXrjQHWX6MURMVIwLfNRB?= =?us-ascii?Q?2CqTLx7MPP7nPl70hzQPeTO9uf8wI+IGFFJJIOQGyFKOvOIPJxa85M5FYQMv?= =?us-ascii?Q?3DWvVxymKa6fkRnXCf0IL6OtZ1QgINkHCCYjdKl46IalcGhjFNSFGNL56/2L?= =?us-ascii?Q?Fwrw5/mUQIWDkuc54Adcm3ZV6ZbmrHvW5dCEU4bWV8Bjin4/mLdn8PNnTht+?= =?us-ascii?Q?fPPXtYk1rrNTxrcOmQ9hN+dCuaUO+wF2jjU4uJHQW+PAGGG5hkwlfK6MVMZc?= =?us-ascii?Q?DqvRWM33A98MCfg2NAuA+TQyEgnq/nQgrsWDiDt/7eEiComk8OhMmZ/0dc9e?= =?us-ascii?Q?aBy6YVmksYhTGNg0ml/+zBDzPEslFmfqa+VxMyogpBD3fZkfeZnZBE4lluOy?= =?us-ascii?Q?KUn4H335yJgDHWTa8KLOth2GTl2JI822sskiKGUvCGFFR6wdJI6AGtxruA8c?= =?us-ascii?Q?zxt0aq/6GOngIhZETWYGCRkNUVM0T6fHmlhIQjcVhZEIRkynicSMzI23yfk6?= =?us-ascii?Q?9b3y9Fk8aOuvzLXY1bc39MCarbrJqu/HDRUOgYmd6nG49aZXQG27/YG6M9D6?= =?us-ascii?Q?jlt59UKxyK+UcCz0kS6MDgDQluuEdR0gdEeeHxqGZr6b3gc78rxI5ioVNOjE?= =?us-ascii?Q?h+5bn4H+3BrIjETRwbJjPT8A?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7134 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT029.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: b53e2601-0dc4-4f63-6113-08d94b952d1d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sVwxIkdQuugacKglVrZBxegJE5j9Z17prSw1pd9UQWfM5YNIB9DCyizgUVYQTXTsEyY2cqZLyZCgLzVJAYQkEZKfdPj+HbOcEQdGMKz70hn7WVIDxCtxyZ2k7M3abVMCPi3HnUlWdBqRBKtHKJzPwTG6ETPAtjXHm1DgW5ElMgUPSrZAML4MfldYxS06D/dCDK6AUPAaa1YgxueJJRiESqz8XUVJpe4PTM1YFIehDh0P5QyDfDJRWk4CpKyhSkHWKsH0jcikotUFAzCivT6MOFK00YuAdLeHYe7BnJ1x4KCIotnoN8WU119QwfO4Q8BnLvjn8WJ2nwryAVqrGEa5N7UdAlrWevEqHgwcxu4BYdJKYvpuho5RcVETwphA5ZuUxwhHa0YuLaw3zSjskFFcAeTr9c+RlGwq2HOvkGc0l7wRkfL+ToLYNB/MFti/MKYp+MT2pGXzC6vvZ+ceus34eW638od6VvqyVHKU8z4xzTb3vnHOn0CdkgP50dxjM7Gkqjgha9ZwFEsoSuiTRytMNEgEEPHXseU9iJ34si68Y1p1zLHEPqwq0/4NvcbuOE9Ds/jfD66wEr3dYA6PoU1b60WrP8s20esoahRdUByH7Ya3x3cFoUs6zd1QeDFH85a2nWXJQ9KeSfuY8Nir6fg2MmkDEAi2RiD+KoeF/gAIXIwgVYZTaYDDLuHHKAVvy8w/cYuU8B7bUsDHup1TYSd/uGMVA9hVwrO6IfRQAlvoClK9SymUvB+t7OjSYw4AuPlkAa7WcGEChM+gtzru3h6Sj1bO+DMlE5ZThKxDmGe9dhc8uU+B5vGlLvx2jVCUBy1n X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(376002)(346002)(39850400004)(136003)(396003)(46966006)(36840700001)(2906002)(6496006)(336012)(956004)(316002)(6486002)(47076005)(235185007)(2616005)(4326008)(82310400003)(8676002)(5660300002)(356005)(70206006)(33964004)(8936002)(44832011)(66616009)(70586007)(186003)(6916009)(81166007)(86362001)(26005)(36756003)(82740400003)(478600001)(36860700001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:43:56.2412 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 08cfd2f3-0338-4962-25b7-08d94b952f20 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT029.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5018 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:44:01 -0000 Message-ID: <20210720153852.nKBU3HZt7uGa94eS6Ow3nwFJOFdw3KNRL9uM8xOrz4c@z> --=-=-= Content-Type: text/plain Hi all, forth patch of the series adding support for PACBTI for Cortex-M. This is to add the 'pac' instruction. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] The series was tested and does not introduce regressions. Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0004-PATCH-4-10-arm-add-pac-instruction-for-Armv8.1-M-pac.patch >From e533b632d067cbee9a64e54754f48b10ef7f482a Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 19 May 2021 09:51:40 +0200 Subject: [PATCH 04/10] PATCH [4/10] arm: add 'pac' instruction for Armv8.1-M pacbti extension gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (T16_32_TAB): Add '_pac'. (insns): Add 'pac' insn. * testsuite/gas/arm/armv8_1-m-pacbti-bad.l: Add pac tests. * testsuite/gas/arm/armv8_1-m-pacbti-bad.s: Likewise. * testsuite/gas/arm/armv8_1-m-pacbti.d: Likewise. * testsuite/gas/arm/armv8_1-m-pacbti.s: Likewise. opcodes/ 2021-06-11 Andrea Corallo * arm-dis.c (thumb32_opcodes): Add 'pac'. --- gas/config/tc-arm.c | 2 ++ gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l | 3 +++ gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s | 3 +++ gas/testsuite/gas/arm/armv8_1-m-pacbti.d | 1 + gas/testsuite/gas/arm/armv8_1-m-pacbti.s | 1 + opcodes/arm-dis.c | 2 ++ 6 files changed, 12 insertions(+) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index b5d23357fc0..6ef0cd97a5e 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -11506,6 +11506,7 @@ encode_thumb32_addr_mode (int i, bool is_t, bool is_d) X(_negs, 4240, f1d00000), /* rsbs #0 */ \ X(_orr, 4300, ea400000), \ X(_orrs, 4300, ea500000), \ + X(_pac, 0000, f3af801d), \ X(_pacbti, 0000, f3af800d), \ X(_pop, bc00, e8bd0000), /* ldmia sp!,... */ \ X(_push, b400, e92d0000), /* stmdb sp!,... */ \ @@ -26329,6 +26330,7 @@ static const struct asm_opcode insns[] = #define THUMB_VARIANT & arm_ext_v8_1m_main toU("aut", _aut, 3, (R12, LR, SP), t_pacbti), ToU("bti", f3af800f, 0, (), noargs), + toU("pac", _pac, 3, (R12, LR, SP), t_pacbti), toU("pacbti", _pacbti, 3, (R12, LR, SP), t_pacbti), toU("cinc", _cinc, 3, (RRnpcsp, RR_ZR, COND), t_cond), toU("cinv", _cinv, 3, (RRnpcsp, RR_ZR, COND), t_cond), diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l index 317e62f731b..f6f0d41ac71 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l @@ -5,3 +5,6 @@ .*:9: Error: operand must be r12 -- `aut r11,lr,sp' .*:10: Error: operand must be LR register -- `aut r12,r10,sp' .*:11: Error: operand must be SP register -- `aut r12,lr,r10' +.*:12: Error: operand must be r12 -- `pac r11,lr,sp' +.*:13: Error: operand must be LR register -- `pac r12,r10,sp' +.*:14: Error: operand must be SP register -- `pac r12,lr,r10' diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s index c2ad20455c7..4948f855534 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s @@ -9,3 +9,6 @@ aut r11, lr, sp aut r12, r10, sp aut r12, lr, r10 + pac r11, lr, sp + pac r12, r10, sp + pac r12, lr, r10 diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d index fe11d7eb036..9df123af8eb 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d @@ -9,4 +9,5 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f3af 800f bti 0[0-9a-f]+ <[^>]+> f3af 800d pacbti r12, lr, sp 0[0-9a-f]+ <[^>]+> f3af 802d aut r12, lr, sp +0[0-9a-f]+ <[^>]+> f3af 801d pac r12, lr, sp #... diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s index 14b0414a59b..38000c3fc0d 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s @@ -5,3 +5,4 @@ bti pacbti r12, lr, sp aut r12, lr, sp + pac r12, lr, sp diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 8eeb303630b..930fbbfa385 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4658,6 +4658,8 @@ static const struct opcode32 thumb32_opcodes[] = 0xf3af802d, 0xffffffff, "aut\tr12, lr, sp"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af800f, 0xffffffff, "bti"}, + {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), + 0xf3af801d, 0xffffffff, "pac\tr12, lr, sp"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af800d, 0xffffffff, "pacbti\tr12, lr, sp"}, -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10045.outbound.protection.outlook.com [40.107.1.45]) by sourceware.org (Postfix) with ESMTPS id 53062384840C for ; Tue, 20 Jul 2021 15:44:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 53062384840C Received: from AM7PR02CA0012.eurprd02.prod.outlook.com (2603:10a6:20b:100::22) by DB8PR08MB5259.eurprd08.prod.outlook.com (2603:10a6:10:bf::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.26; Tue, 20 Jul 2021 15:44:48 +0000 Received: from AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:100:cafe::44) by AM7PR02CA0012.outlook.office365.com (2603:10a6:20b:100::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:44:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT018.mail.protection.outlook.com (10.152.16.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:44:47 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:44:47 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from 22147adb3f05.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 26EBC30B-A43C-45A0-93AC-F7DF220239C6.1; Tue, 20 Jul 2021 15:44:45 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 22147adb3f05.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:44:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EcNoMuEewg2cXVK5SKVqbT0zovZBjZHXwJ9i1CABVwrz+XFiyA+AEq/VR8CZLrVriBgTGXLmQ5mrTgZ4q4UhdTySjV49zuKLrDzGw7aU8V3d2H2k3xU+iryR8inTlMN58HPwcj/MYyNGcSj0ihOApy2U90zVkqsbXMGD2oXX09/emxbxtRKB2r5cCk1VhGGlPBbW7A+RfhM3kOr0AUukilIn77PUzUXF3viBWxw9IHD6sApTlw+cIa1u590fPeHDh82G9lsdxgBkfCY8YB3fPt7mcrs15Fvj/lQsgiQxbBu5PpDJvUrKywXpl3saTWKgJy2UAm0yBGIHgqmMbwcu7g== 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-SenderADCheck; bh=roul6T2VQhmfpdPQ/yRkBQhZvE2PsF9SxCpaWghFj0Y=; b=PtaRgG85aABx5fd7YdbW6heX4UifeJD3dc5x05BDKVAdvzIdTqit0gYXxNFRrPAX//LxYIQVfqv6lwjOlsE3T46VAQf/deY9TcISndoOWEmcc6hAZZaeT63REX6tNKCPjb1JTrM2BxgUNYtKEgMyGxpj7p0qVr5yL7xlKbycTDSDUKz2Y7i50Satu1L5pDJXm4L/PcOhVENNPnmGYJiHRw8vhaOInqraj2SN1oUoY8bu9QAA5+nXlv03EaWnylhnD9lMi7OjiW7POTrBz105OxJyJugXeUCaxgEVRjZXyqKeHJUGFE/XC6GsTBan3BmvmfIIwV0q3maYo/6GlLugUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7197.eurprd08.prod.outlook.com (2603:10a6:20b:3de::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:44:44 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:44:44 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [5/10] arm: Extend again arm_feature_set struct to provide more bits Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO4P123CA0144.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:193::23) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO4P123CA0144.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:193::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:44:44 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e9a66b0d-6faa-441f-e483-08d94b954de5 X-MS-TrafficTypeDiagnostic: AM9PR08MB7197:|DB8PR08MB5259: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: PQk69YygLV1uBxJLFXnbvtJ8uLX5lpGfGvXOsEDmYKesvnVWRw6xB4IRIyNfz+wF5dCdDpUhTlstQWTC+CgHZMRupIIxT/za0kbbq+XAHxfE2ZllhzNZaDwa/13/NfpWWz/ceq0ydCi3w2zCXUcfGT6Rmed704NwawJc+bYi5LlzqKnsAGSZT+Cyjo/PTWrj0zRToYw5V5npPb8M9ZqI8EmiWzsB3vjBRwwRfSta40RotpTE4fUU0BVPFS34ZcjVrGnJyOh2YNuph4AjDgFFYgIWnKo0NCxcT1Wu8kOnWTmTF128dQGiUhQvGBjqKAMQzM7afzmaCBNBF6KE945H0ZzRCIEkZKN0iVPv5LbjeCCMkHAkO79MgnPlLOx3ocnji6aAn3pvg8mlp0AXNmAB0kZtkjCfZos/IrGtFGl2+mZXSU8OahkPq8zRhAF0Rt0a+WuRL5rESMmKa+iIGNKMCJ1M/b3hQvOdZtmKD3h4HhLiLxOionGKtktdNXzGkqo06eYBCAjhktYrseFcWwRgCyAsJLlRJIgiY+5hMyfJvRkgZBK6Af8cL/o5CtY68t9vLUn7DnavGXV8J+Ybs0nYC1q41OOcKwOAL9aRs3Z2IoZFPCsC0yh6E863atUbeiZ4vrNEDo1hq6ULKxx6WljtjHv9ZbsFCFZANvBIAfD3I5LBQhwEmGD6xfV+pHX9SBb8zyLc4qQROXz6jYEy40oZhQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(346002)(39840400004)(136003)(396003)(5660300002)(235185007)(66616009)(316002)(8936002)(36756003)(44832011)(8676002)(2616005)(956004)(83380400001)(38100700002)(38350700002)(86362001)(6666004)(6486002)(2906002)(33964004)(6496006)(26005)(66476007)(6916009)(52116002)(478600001)(186003)(4326008)(66946007)(66556008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FFVJXv/RJCebWw1ngVV6wIHjcNRmNilxz+FBrpPh3Dg5ohTkaN+L5wYAETMP?= =?us-ascii?Q?PW+eBm6raaIhd2X7BTHLDjGTNjLJkgkrGeM1Uw6l6CqKioAo6oNSjqvQANub?= =?us-ascii?Q?J1dQ3Sev6PTmVWVLnAfwVxSizDh6dglqenllrZ0ieLBeS+r/s/tpKEnciOTg?= =?us-ascii?Q?mxOoQwGp+DwZm5RxDgznghLvKI9YHfZYJb8V7W8jTn0YgHN6JFSOW4LIxFQm?= =?us-ascii?Q?D9HqYGAJCLmwJDFDq+mluVZm+yQXwY0G4Lzi0vZ1DiJ1DXRtk/C2g7CuOn3D?= =?us-ascii?Q?GU6EiHPlQ8T4i5BHc8hftQQDeH4pqqIUhEuFOFQdmNuWqVrhgx5MUgvG0DkK?= =?us-ascii?Q?uAAAPjp3sFtQNr9F/8eMZUwhjgv3P5+IhcPI6ou1q4rN7NfdZSm0vnkGEJ1U?= =?us-ascii?Q?39hD81U3RP9JaPeYdsy1xM4q31xpN5h358PQWB9Ta/IoRPIna40PwjkDTjwu?= =?us-ascii?Q?ETFKWVUuMJfcN1P6QN2DVk+Fc6lgyjVDXMI2pQlOkhkChEkcu68oz85lsf9T?= =?us-ascii?Q?e/sI6WQD9Aqrzr2XSPhrNofnpniCtIdhYavRU4dfFnwQ7cN7SCT8eFDYl+5p?= =?us-ascii?Q?m4gdEcK3QhWZlblM6eNVilZxAhopP+wH91tQEnxohH/8Gv4NdtNRrK8etaL9?= =?us-ascii?Q?c2yG7wg/dXmC3oRDvVtoJ5CsDj2oPdh5taMilCofbmv6Jl1IYrKPA1T2lSYe?= =?us-ascii?Q?AAhX7fjyEDDl5xOFc4ixgJ28MorWFou+jeFs34sR9y1ZkRzPkPHCiv+Stdby?= =?us-ascii?Q?kZvVmkvbuiLngzmjzD4lHrZzeqLf9Kn2q8kouVpxVcrCiL9vaJ3FoH18+LMa?= =?us-ascii?Q?sJ6zULtTB+RoX0/oUgkguUIwNAuf5knNKBywpmgNlibDpMxcZfhxVc5QzOtb?= =?us-ascii?Q?+3LzAr7+sSkDj6GSClGzDpu1XLXuOLyS84gX8lnTYfa3GEiFo0W6iYBlLlPJ?= =?us-ascii?Q?PRB/acqH9QQyPRYgGuF+cxl3CUFjnuQJqyUVaVu3CvyzBZcueA/R4mcd9isg?= =?us-ascii?Q?qYLfmXAI4IU5ufRPwXMOtC/kB172eUBK7LfOB+O9wJ7GjD1gsm+Rmyh6egrN?= =?us-ascii?Q?ztOfc6qvD5bP+b0IQrpvS/0eafvsWYMlj1lwkzdLLANkMwTpqcKVBSeQdt/X?= =?us-ascii?Q?JE+YPh5WV6eS6gMo5JX6fs7Hv8ba1MLYRcGaKz26XFn0h99Fc9id1L0nQFWW?= =?us-ascii?Q?K6eiZcIrch6aFQigCvX5oP9YQrH+t9AJuip1aryV3+eIsEAZLgTUDUduQdmj?= =?us-ascii?Q?MI7ekcM+f4U+5UbJ9doPfgwh9YMS9iK3a6b8YNpWO/MwF2CUvTXuMeBPEza1?= =?us-ascii?Q?rCbDuSL8XJQTTU3IlmMSwf8z?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7197 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: fafec0a0-cf2a-44cd-46d3-08d94b954c03 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FDtcXg6KNdgaY/vftbumAZIi9OQV/UxPbkmN/omw0ULnA/BdtEh45GrOlXPIIUi7evN/DDuGvBNghKTSxkqN5cqWcNzb5jaap+PkBe32fD/e7I4uLurDFcagG+euzgLjXHTr9L9flfg8M9/e1klGW9isWAIpHNnbHqFlNyB3ubaDeaNGQ2gKA0ex37jhj9LeQuYKHDfJKE/ljJylYvWDXLV1H+xhLQImJ9USPOj5OMRK0ezEKwvbY+8JFofV9Q1UyoCCGkMiBRTXm1Fgr67fqRW+JxQRO9oevJaQo0elhIdMjBPeZRfXizsQIAf8N/vdS+BYM4koow/tZAMYylBxC1AV84tnh0x1t1N4ObBSFfsrbIz7uyq/OSaXnazffvtsU8kTENHQAkotFzxQm5zaY6XCJtoANhYzHjVYifm427ctWTN/7LIcGXJxMqtaGvsnpIe6cosrsggVjH2Gco82U64WUR6FSEN1J4PvLRXVqGf9LWOVydnuLErSUf40HypZtXvfeLwRrIUO/pjihdiku5j7fshui0FyLIkDVm5Ptq6GxBjTQAvi7dUhX2lk0DeZ8keqQlEOa6ua6MyEM34zywxUHDgFZwyY9rr3VQMJcrNtRc1EZWakol8si/qLZplUB3VTruQmxWJC9H0zH8hr0If55zxTYTm4IOdbZCzcDx1aVPRhhmafaD8ZS0y82yPlKKZbJyv5ZDtIv7gDRBrD2w== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(346002)(39840400004)(136003)(376002)(396003)(46966006)(36840700001)(70586007)(6496006)(83380400001)(66616009)(47076005)(316002)(186003)(4326008)(33964004)(36756003)(8676002)(70206006)(44832011)(6916009)(26005)(356005)(81166007)(82310400003)(2616005)(86362001)(6666004)(478600001)(8936002)(2906002)(5660300002)(235185007)(336012)(956004)(6486002)(36860700001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:44:47.8178 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e9a66b0d-6faa-441f-e483-08d94b954de5 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5259 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:44:54 -0000 Message-ID: <20210720153852.zEHH7ATpHe7-iwx-qdaC9Qc-zDzZlPe8g2t5w6_PlMs@z> --=-=-= Content-Type: text/plain Hi all, fifth patch of the series adding support for PACBTI for Cortex-M. As all the bits in the 'core' field of 'arm_feature_set' struct are in use this adding a third element to it and is updating the accessor macros we have. This is in order to support the following patch that adds "-march=armv8.1-m.main+pacbti" flag. Regards Andrea --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0005-PATCH-5-10-arm-Extend-again-arm_feature_set-struct-t.patch >From 5f466825eb8240711888c9d32c67ef81be494b47 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Thu, 3 Jun 2021 16:48:05 +0200 Subject: [PATCH 05/10] PATCH [5/10] arm: Extend again arm_feature_set struct to provide more bits include/ 2021-06-11 Andrea Corallo * opcode/arm.h (arm_feature_set): Extend 'core' field. (ARM_CPU_HAS_FEATURE, ARM_FSET_CPU_SUBSET, ARM_CPU_IS_ANY) (ARM_MERGE_FEATURE_SETS, ARM_CLEAR_FEATURE, ARM_FEATURE_EQUAL) (ARM_FEATURE_ZERO, ARM_FEATURE_CORE_EQUAL): Account for 'core[2]'. (ARM_FEATURE_CORE_HIGH_HIGH): New macro. --- include/opcode/arm.h | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 90c09a70658..1152e781222 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -427,7 +427,7 @@ and use macro ARM_FEATURE to initialize the feature set variable. */ typedef struct { - unsigned long core[2]; + unsigned long core[3]; unsigned long coproc; } arm_feature_set; @@ -435,23 +435,27 @@ typedef struct #define ARM_CPU_HAS_FEATURE(CPU,FEAT) \ (((CPU).core[0] & (FEAT).core[0]) != 0 \ || ((CPU).core[1] & (FEAT).core[1]) != 0 \ + || ((CPU).core[2] & (FEAT).core[2]) != 0 \ || ((CPU).coproc & (FEAT).coproc) != 0) /* Tests whether the features of A are a subset of B. */ #define ARM_FSET_CPU_SUBSET(A,B) \ (((A).core[0] & (B).core[0]) == (A).core[0] \ && ((A).core[1] & (B).core[1]) == (A).core[1] \ + && ((A).core[2] & (B).core[2]) == (A).core[2] \ && ((A).coproc & (B).coproc) == (A).coproc) #define ARM_CPU_IS_ANY(CPU) \ ((CPU).core[0] == ((arm_feature_set)ARM_ANY).core[0] \ - && (CPU).core[1] == ((arm_feature_set)ARM_ANY).core[1]) + && (CPU).core[1] == ((arm_feature_set)ARM_ANY).core[1] \ + && (CPU).core[2] == ((arm_feature_set)ARM_ANY).core[2]) #define ARM_MERGE_FEATURE_SETS(TARG,F1,F2) \ do \ { \ (TARG).core[0] = (F1).core[0] | (F2).core[0]; \ (TARG).core[1] = (F1).core[1] | (F2).core[1]; \ + (TARG).core[2] = (F1).core[2] | (F2).core[2]; \ (TARG).coproc = (F1).coproc | (F2).coproc; \ } \ while (0) @@ -461,6 +465,7 @@ typedef struct { \ (TARG).core[0] = (F1).core[0] &~ (F2).core[0]; \ (TARG).core[1] = (F1).core[1] &~ (F2).core[1]; \ + (TARG).core[2] = (F1).core[2] &~ (F2).core[2]; \ (TARG).coproc = (F1).coproc &~ (F2).coproc; \ } \ while (0) @@ -468,17 +473,24 @@ typedef struct #define ARM_FEATURE_EQUAL(T1,T2) \ ( (T1).core[0] == (T2).core[0] \ && (T1).core[1] == (T2).core[1] \ + && (T1).core[2] == (T2).core[2] \ && (T1).coproc == (T2).coproc) #define ARM_FEATURE_ZERO(T) \ - ((T).core[0] == 0 && (T).core[1] == 0 && (T).coproc == 0) + ((T).core[0] == 0 \ + && (T).core[1] == 0 \ + && (T).core[2] == 0 \ + && (T).coproc == 0) #define ARM_FEATURE_CORE_EQUAL(T1, T2) \ - ((T1).core[0] == (T2).core[0] && (T1).core[1] == (T2).core[1]) + ((T1).core[0] == (T2).core[0] \ + && (T1).core[1] == (T2).core[1] \ + && (T1).core[2] == (T2).core[2]) #define ARM_FEATURE_LOW(core, coproc) {{(core), 0}, (coproc)} #define ARM_FEATURE_CORE(core1, core2) {{(core1), (core2)}, 0} #define ARM_FEATURE_CORE_LOW(core) {{(core), 0}, 0} #define ARM_FEATURE_CORE_HIGH(core) {{0, (core)}, 0} +#define ARM_FEATURE_CORE_HIGH_HIGH(core) {{0, 0, (core)}, 0} #define ARM_FEATURE_COPROC(coproc) {{0, 0}, (coproc)} #define ARM_FEATURE(core1, core2, coproc) {{(core1), (core2)}, (coproc)} -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20628.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::628]) by sourceware.org (Postfix) with ESMTPS id 85CA3398502D for ; Tue, 20 Jul 2021 15:45:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 85CA3398502D Received: from PR3P191CA0013.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::18) by VE1PR08MB4701.eurprd08.prod.outlook.com (2603:10a6:802:aa::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.25; Tue, 20 Jul 2021 15:45:38 +0000 Received: from VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com (2603:10a6:102:54:cafe::c0) by PR3P191CA0013.outlook.office365.com (2603:10a6:102:54::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.19 via Frontend Transport; Tue, 20 Jul 2021 15:45:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT014.mail.protection.outlook.com (10.152.19.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:45:38 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:45:38 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from aa6a37331ee7.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 37174EAB-C361-49BC-8F3C-EA7B2E0D241A.1; Tue, 20 Jul 2021 15:45:36 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id aa6a37331ee7.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:45:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kOIwDeoX51a34Nyf6u06VG+sv8W9tYw903ERE3KTkOkWBdcAocBM6t0ZrAevcUqTTJOi3kPFiWA35p2Dh+d+VSbHZWsHUFIcfi4CHch0oNMNmiAVzh23XYJdPj3aZRJMOLiG2zEhdhurDNesn0VSRXW6u3nJr6h+yprTTLGWjoUPzbHtMP8F5EcOzu/PRhjEHD0D7l/yCpNzBJ27mOWDTj5eRMmqGTO7lKUyIQrphpk7rgWePnTwuSIzlfkfbGgbVhtkXwSYCH7thLyKcKb0U3aQEmtoOs72C8St6GEjqEOhDmewtLJ2rNuJkH/6RETV3E3UtGf63YGucmaLUm2k8Q== 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-SenderADCheck; bh=SW7Yd6CdyKQ98qIb8g5qBYIA2e13MFXnKy9zqun7YpA=; b=Yf3QtFhni7MuLDc0fAcpBrV0J1HkQscAXZpyn/yTVZ+WUGoqaurhYA0xxWZpSVD/Emcj2ZSZTv+8xlfSzUykzzUTdLgziuyh5cTf8Pv5vdvTDc24XIlBWdj+R8y7+4KnpXD4aehDlpIj58syK9O56pHnahcFcToj6f1vXw4CfrsGJawZgJCzOejvStMQjBAZ5LN9CI7n43hwCSLrGFYITD4P3qaewih8xD5XIBgSiaieDG8w7E5zTEaByTfDhiXOLi4YjJKFn5/kb+K8Y6XBsYf40oUmHdfiQ08XPPlxwUdgHZ52+g0eh3BPqUMxvfDlxfMI0xzGAMVq3fN34VI3Kw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7197.eurprd08.prod.outlook.com (2603:10a6:20b:3de::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:45:35 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:45:35 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [6/10] arm: Add -march=armv8.1-m.main+pacbti flag Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO2P265CA0109.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::25) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO2P265CA0109.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:45:34 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 60a82c1c-51d9-4bb3-1b85-08d94b956c19 X-MS-TrafficTypeDiagnostic: AM9PR08MB7197:|VE1PR08MB4701: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:5797;OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: x2Gw8+xnyVBOdCXP6R5MK0rqBjNaPdqrPEad0UqqEJxELcxAA/8U95jTeF0YkkpsNt9/u+XTu4/bQvxNTwRRq4k4p1NlA2+kB1OdUUWfhs9+wglHCPCw8Y85XCKA3u/KN+aadBq9igE8MOUjBgAq/HSVX4yRamYjINHQOcDhdWH/n6tM88ZdDI3/iysccVeqQPRYKL8M4GFyRH7vZeKFPs7gByyKaIJ3jxOnrkj5NsGtfLPXMGptYcQ/rQZsHSY/s4Jqyo61frnUNQOE8VNsLqOPLO8LhjRE7nUOBY0rootPxezZLfzvLa+rBr5FMk2cj+K+I2/PTde7M41IR66LDlZZeJhJIbFLfirDKoYDDrJ4XyCLgVJ3HooVxlSxl/64Wn7hmXN3pscHljJ+UQ/rz0t6kFwHsZRfCFpxyH7tJTqxf6LyHEM5UEPJo3Lm72hKBfFdMiu9NfAPTQ9qmEl6cmJXeogW9LZTXunc6NZtGDcKsDCaBLdoRIRYWuZg1pfUMQSxYEy2NJKrqi57XjqNCweacwu5ZGZCW1/UOStDLgN2X02lwyDQ4eGacBA86bOStw/xZobKd0cFUV6PzztdhpsYu4FeZoU9eHHkD5g2rQUgAeTBcpmOdT8yHA+7s8CXVBzMGlmz9E9uutuxKC2jmmSmm58ufbqIcDSjJ6KnpGKq9+PypLJkYEACS1ETJORCYbxfNInkAXqIlGjpz40n6xsA5xEfkHeApSybpM3auS8bvv4aCEPKGBl4SEieoGQ4YHVVAxzG81Uk2ShpzrO5hEyy0GH9d78HJKe4dr5eupcySL6CKlZK+dIwAQ+UsOahX6b8sOdy4iYFYLXumWZBwA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(346002)(39840400004)(136003)(396003)(5660300002)(235185007)(66616009)(316002)(8936002)(36756003)(44832011)(8676002)(2616005)(956004)(38100700002)(38350700002)(86362001)(6666004)(6486002)(2906002)(33964004)(6496006)(26005)(66476007)(6916009)(52116002)(478600001)(186003)(4326008)(66946007)(66556008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KxkexLuhIqdvPNXqM4s5ZoxUU8WXjlVEZyGzW3H33IOiO6uM/cKCru83h8P7?= =?us-ascii?Q?//eqiFlzTR/wy9JbaOaI6tUGFDkzCwRt0IELFjkmeFSqTCgACl40E26Wgtr6?= =?us-ascii?Q?s4yCIciEaof07BbQm7nTmKwBDQEO1RhXtbmEPaFFG16m8l9Q4AJlXY0Vjknb?= =?us-ascii?Q?x0eDmLRz06EnxBagZ8ReWw3X3DbIgpyrskZvEdKXs5T7Bm/9W0nabszdeE6b?= =?us-ascii?Q?OiI27cxGfNlb9bsG85+7mWcitp4t5FLe+8p0qdr7EpCtto56EHiRVohV/hiZ?= =?us-ascii?Q?pPq2OVmsgOPIOux/Dnorc0aHcykpSQNhLYYt81anaJRSFNtloJwZlbPi6bF8?= =?us-ascii?Q?ndQ1sURANaNIKmfzp7rya59ixv4gjcBkFC0lIj8wUuq+WdbHZPyx8rZFX6WL?= =?us-ascii?Q?8MDAe60sRhpJrYnrdtbV3VQ+BAqRpMOH7heso/8Ib8Ady4qcXFYRJk2N62WU?= =?us-ascii?Q?cRoT/5lWqeVS5cTQOc6WJ8vZvjkYGJpsDljbqLphEcY5UXARMa8QVTow9/pZ?= =?us-ascii?Q?pnha4SR1HGhpO1SjnlUoYTPk9zB2tIoIkOTzJ7wtEIf166HUYYl+xoEbYmjj?= =?us-ascii?Q?jU9zP53fyM8EEy7AWbJm+Rm09Hxn8pw8MgVIenwzYlSuNEREyKHo4vqnA/ve?= =?us-ascii?Q?IFfO7sfDX1WdwTUKyjdZYbNrRqsd4Uj/CG1tZoMBOK3t6aSGqFTGFslXboZn?= =?us-ascii?Q?AASCfz+5M3lNMopKv2R/TDiQyscjg1udeLxhO2EOj6bzvGyz5VdXClsX/YzE?= =?us-ascii?Q?wvyEolOJ1/I40Na57fq9MyiDFCktlCvBDl7aE6z3fxMC4uvI1T0mHBu3+RkC?= =?us-ascii?Q?JvDKgWyuEBch28qT24d2pGDfJSL1Rofn+ymmCi/JKvuJUj+UvVyyXqFBZQlq?= =?us-ascii?Q?tlXurRs3ezVTk4PGyeUdJqJYk95hQCYqwt0aNgJis0X2a/sqiW9nnGOY9tHm?= =?us-ascii?Q?KM1jGAC/fl/K7xODUkuPI7jl3Lagl2BqOB+EzW2i2U/0NWC1bDYaw7twnjeF?= =?us-ascii?Q?BL/GG0ADOO+y+1j7P6voG8hJ9qUzVQjjzf+kmS824keIhJNbYJhSTfXYv0U+?= =?us-ascii?Q?FWJtGdYu7WX90MvE0Q+a38fpJOGUjcflzIgyMc8ZzA+Osz0kLQhg2R2xW4XQ?= =?us-ascii?Q?1pHauTxi04ncf8g/Liiy6rt+d/UiBxujZMAWmEpgfhnMyzfJzvecWSmW4kp0?= =?us-ascii?Q?Agh4LMHlZeeAKIgWyJafGrAI9fIPNZqKUzkL9rBZFEzFHtviHS+4neqxvEKN?= =?us-ascii?Q?oQgoO9EQGLvfUC76V+bKQJV1+TZa3GOqqWWEsDPkMFpoUt55VSFSRDAYj4B4?= =?us-ascii?Q?MYFTZJqSx0/IfZytG17krRoT?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7197 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 891a7f1a-0a0c-4ead-d07f-08d94b9569e2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RSM9b35/8yE0wswh22hDaDd+NwfZMid2A2BIFQd75L98ARGsjL+uacVqCkkO76cKUZZwhs8/VJPAj7bAVTyeSIuBiEQM2Q4++0q/XO010qsqhP8h11gNpGhcvz6N+1NzkOouzXA53Us6rebtJB6yRcOKkfSU1A/okO0L4i1Umr6IaaEps4uEB/MdPzSF45/fn0YdWNtsUaTWjes169Jc/DTKQ1giKa7qq7r96FOJcxwkveVTBzlrOazqmbjXIKTRiVMAjCTa6Y8pupVmjMl+Etyeln4WSpAGjti2JNpYLB5TaICvN756vWZf4aTwPbDUr3cashx+kgR2qFQYJPO3XMRhyw2sP/vh3HErrhrBaS2cEHyraKymI9zAMEcqO0Xkj3VeEBnAe96QrLKMBDR8QY82MK/DTb5PK6DPOvT9BKz4uQO5qLjArd6iNgJVeIqurGO5N7qKW21ffMa8f9nFPJ/TqcNR6Z7TGuh+1SyY7z7g+Argtnski5FmSH5wPbfjBzYc8iudfg8BKe0YqkgUY6xP7weouF/mpfbwBrXRk7jcuYeL9LMClUo6QiOhQCG+gfTJUd/IemgwgO2UXf2OslNkTOV4a66TePc0CzWpgbSHThnTyWUAH0+duCmxPU9iQqd4+YGLAORBX7IQoOpnsKZiUuDS0bpJH6fZ1wjCYsVNFqx2MEtKWtM+nM9hK9LRpvwB20Eprs9hgoDFeytsHXxMeHOTbyiwEB/Twxdwh4ektzFRT2HSXzzCjE/92OcEq8ZH0yyZ1JjCYar46Jg6R0GNZ4B/7eH8irkEXNWyEenK3jWD6hfvyik6wzNCnyUn3pF7V2jVEzjRIMDVnFtvEQ== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(396003)(39840400004)(346002)(376002)(36840700001)(46966006)(6496006)(8936002)(235185007)(2906002)(5660300002)(4326008)(33964004)(6666004)(6916009)(66616009)(44832011)(186003)(70586007)(26005)(8676002)(316002)(36756003)(336012)(86362001)(478600001)(70206006)(956004)(82310400003)(36860700001)(356005)(6486002)(2616005)(47076005)(81166007); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:45:38.4241 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 60a82c1c-51d9-4bb3-1b85-08d94b956c19 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4701 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:45:48 -0000 Message-ID: <20210720153852.tZ5ZAt16hXaY-KoC0mzzk9H_VmhX8_BOrlH6FiAj4zQ@z> --=-=-= Content-Type: text/plain Hi all, sixth patch of the series adding support for PACBTI for Cortex-M. This is to add the -march=armv8.1-m.main+pacbti flag. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0006-PATCH-6-10-arm-Add-march-armv8.1-m.main-pacbti-flag.patch >From a1a693d81c8291788428e9bc2a2b5e5b48f181f1 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Fri, 4 Jun 2021 10:17:17 +0200 Subject: [PATCH 06/10] PATCH [6/10] arm: Add -march=armv8.1-m.main+pacbti flag gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (pacbti_ext): Define. (BAD_PACBTI): New macro. (armv8_1m_main_ext_table): Add 'pacbti' extension. include/ 2021-06-11 Andrea Corallo * opcode/arm.h (ARM_EXT3_PACBTI, ARM_AEXT3_V8_1M_MAIN_PACBTI): New macro. --- gas/config/tc-arm.c | 4 ++++ include/opcode/arm.h | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 6ef0cd97a5e..3ec353abf78 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -365,6 +365,8 @@ static const arm_feature_set fpu_neon_ext_v8_1 = ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA); static const arm_feature_set fpu_neon_ext_dotprod = ARM_FEATURE_COPROC (FPU_NEON_EXT_DOTPROD); +static const arm_feature_set pacbti_ext = + ARM_FEATURE_CORE_HIGH_HIGH (ARM_EXT3_PACBTI); static int mfloat_abi_opt = -1; /* Architecture feature bits selected by the last -mcpu/-march or .cpu/.arch @@ -945,6 +947,7 @@ struct asm_opcode "and source operands makes instruction UNPREDICTABLE") #define BAD_EL_TYPE _("bad element type for instruction") #define MVE_BAD_QREG _("MVE vector register Q[0..7] expected") +#define BAD_PACBTI _("selected processor does not support PACBTI extention") static htab_t arm_ops_hsh; static htab_t arm_cond_hsh; @@ -31934,6 +31937,7 @@ static const struct arm_ext_table armv8_1m_main_ext_table[] = ARM_EXT2_FP16_INST | ARM_EXT2_MVE | ARM_EXT2_MVE_FP, FPU_VFP_V5_SP_D16 | FPU_VFP_EXT_FP16 | FPU_VFP_EXT_FMA)), CDE_EXTENSIONS, + ARM_ADD ("pacbti", ARM_FEATURE_CORE_HIGH_HIGH (ARM_AEXT3_V8_1M_MAIN_PACBTI)), { NULL, 0, ARM_ARCH_NONE, ARM_ARCH_NONE } }; diff --git a/include/opcode/arm.h b/include/opcode/arm.h index 1152e781222..4a6044f6f68 100644 --- a/include/opcode/arm.h +++ b/include/opcode/arm.h @@ -90,6 +90,11 @@ #define ARM_EXT2_CDE7 0x40000000 /* Using CDE coproc 7. */ #define ARM_EXT2_V8R 0x80000000 /* Arm V8R. */ +#define ARM_EXT3_PACBTI 0x00000001 /* Arm v8-M Mainline Pointer + Authentication and Branch + Target Identification + Extension. */ + /* Co-processor space extensions. */ #define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */ #define ARM_CEXT_MAVERICK 0x00000002 /* Use Cirrus/DSP coprocessor. */ @@ -197,6 +202,8 @@ #define ARM_AEXT2_V8_1M_MAIN (ARM_AEXT2_V8M_MAIN | ARM_EXT2_V8_1M_MAIN \ | ARM_EXT2_FP16_INST) +#define ARM_AEXT3_V8_1M_MAIN_PACBTI (ARM_AEXT2_V8M_MAIN | ARM_EXT3_PACBTI) + /* Processors with specific extensions in the co-processor space. */ #define ARM_ARCH_XSCALE ARM_FEATURE_LOW (ARM_AEXT_V5TE, ARM_CEXT_XSCALE) #define ARM_ARCH_IWMMXT \ -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140087.outbound.protection.outlook.com [40.107.14.87]) by sourceware.org (Postfix) with ESMTPS id 70A403848434 for ; Tue, 20 Jul 2021 15:46:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 70A403848434 Received: from AS8PR04CA0051.eurprd04.prod.outlook.com (2603:10a6:20b:312::26) by PR3PR08MB5834.eurprd08.prod.outlook.com (2603:10a6:102:90::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:46:30 +0000 Received: from VE1EUR03FT039.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:312:cafe::56) by AS8PR04CA0051.outlook.office365.com (2603:10a6:20b:312::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:46:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT039.mail.protection.outlook.com (10.152.19.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:46:30 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:46:29 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from bc82eda8a620.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E9C470A1-32D5-4020-B07B-D5595239AC41.1; Tue, 20 Jul 2021 15:46:28 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bc82eda8a620.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:46:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HfrP19bscD11s/F0YlmNn3RD3qJOifVgBLK/2XH4l5lnUG0MO+s3ZrrBnVe/PflJX33PXyZ4s/aldDFC5f128cCiK6JrxMuYEAFLMgKuqUXM9Pbby6ciG6Ku4xOddl+Jl+EFQx3M5vJiaC8C7OzLiypitDevzHZVsduJPwYveSqplh6z8AQJoITyzrm+D6xgPwiMlj3TZ8nr1YLz/72jbZJAHe5H6dxyIF09xWN3DSss96tjbZL9zWgSwx4gp4gWdXoAoU7+qfFTH9AHQONcjIVp+ZYlOeGliMbaqI1BZkNt1AYOMuEja8YrqZvMueKAcybFhll57T4MpysA1Sw+8w== 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-SenderADCheck; bh=LwO/gTVgFk5pvjAX8ODOd2muYiG4yqPHi7Rv3L0T1hU=; b=H6fLsTRx+wy7Ixr+5MT9D3FTo28rEXXYbMABNDjPOBUHPzmHOUf43lgouJoUWlVb2csrM8Bll+DPZgLlV+0g2IFz66V+x67aGucIgQs67xYeq8KE8uOUTZ2XbVy5wO3c5X64wtsr/+B6QWqRKvZCxlcjWKavrYiu3zj7xHb9hLI3DAW0QRFoTyxCkZEyPh8OBvyN5tr+2IG+tfTkvvGaJI5FmaUM4dkTNYwHBDAXZ/GpEaD8V3jik8mR9e3a+kwIwLJu4HRJU9kfNUn+u9IAbHr2Z/Et4jaWKWIpDtoHhEvR+CkPj65JLRKdE48Pj9zCK0mxg8Yi/0HEYp82U0AV3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7197.eurprd08.prod.outlook.com (2603:10a6:20b:3de::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:46:26 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:46:26 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [7/10] arm: add 'bxaut' instruction for Armv8.1-M pacbti extension Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO4P123CA0029.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:151::16) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO4P123CA0029.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:151::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:46:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3ae33f05-daa5-4988-c4bf-08d94b958af0 X-MS-TrafficTypeDiagnostic: AM9PR08MB7197:|PR3PR08MB5834: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:854;OLM:854; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: GxCBo7cP0oKXEY62PwGKxGRCTZNSWh93nFCUXqa42srxUseDJM+OQtnPb0nAN98/tNgwFXyNeXGmu1YgW9hHph96XPHj/1ZJSDLw0MExv87e7qXJM1PTGvdv96Uodm7vgm9i5VnLBnZDd5XKHfhFsFPYUWySzKIv33pep/BZ8i/Tl5YxmvZM5Kuoby77nJYCxoJZFLuQ4wqtHpC8a2j9IVs86LLZNx/2Qo7DjpAMgakzKgOgLIx8ji4daMdhGE3/bKSs3di50M1uCnFB4cHVbzCGH+NHxm8e1jYItzt/LZYJK4/nFnvBBYbnX0Dj6Ev9XCTvRvsvxWegNZi+vhvIUwt41EZXeeydv98OQZ2lEPVQEIGz3ezbSoCFHb9DqzDjI9Y1J/aXxN1aeziLJKcigPxJbdVjGomWQi5t9NXkvWlzzlk/LsuQj5TGtoju8bxXa+JMg/RqABC85FYH2JiqzVwAhrxVgXZhGaUtwka2KIsQIcogz5Afp3MnVvC2Ul2W0D7Vu97A31bRuurcxyPSz6dUf1LO7JvUnq4xrwMfPfxAS4FbeQSsqQPFtHZPzGWGq4tHJSaSLVRQmKXPQNj9MkHtAiaLtwTg1lWvzEpcfHfWpeJAqzZRFRsyR33cYVvFH/4cl9OCJghhpmbP8s6bKmimODrdzcIDsorydjqqZ8jmmZ/U4+O1TXMHwJTWP9W5h26LSktKsobrwJYD55B+zhFHa+JJo7Pqr07Dzr2i8M88BoqI7gDTf6uZ+u6OunFGuGSHphjJeHHTgkjAPscfs4Sq146l/mYWnVBJY7BGUX8fJyZ1/MI65XOtbZNpQmJ9 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(346002)(39840400004)(136003)(396003)(5660300002)(235185007)(66616009)(316002)(8936002)(36756003)(44832011)(8676002)(2616005)(956004)(38100700002)(38350700002)(86362001)(6666004)(6486002)(2906002)(33964004)(6496006)(26005)(66476007)(6916009)(52116002)(478600001)(186003)(4326008)(66946007)(66556008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LCFhs2WNlx9dEVe13BcSi8ahPFpi/D3AQq9bvPU3rlx+SHcQUWH2qPiX5v7F?= =?us-ascii?Q?+relSg/z5/jc3KkYLClYqO6rFroSv0uMObISkhSKtoXMsJK06zvq4D2QSCyf?= =?us-ascii?Q?wJhz2c3E17mxq9Dquw2SDOrvjySaJL8HFJrH+LQZbMFOqDGVAw3KoGnnftpz?= =?us-ascii?Q?2uuT9Rjb8HRyIC0NYK1TRxXnfKN7IUtSxvESbulp86EnyR6NQ42Y6nj9MTc3?= =?us-ascii?Q?DNlJWbn7O4jfhOd9/N3io+dPpjlb5aRvCOuWzmQtBi1t/Hse5e49YezL487+?= =?us-ascii?Q?KHbR2C0VYlXZ1e1pfhcx10gEuFdWa0GApqUsh9bZKpXmgnuiH7BabzEv96LX?= =?us-ascii?Q?hVWgTL/xrAQN3AnZT7+nItXuAI9zWiBNv41f/5tLBnQ//WmH9Qo4y7Tgeoh/?= =?us-ascii?Q?Gq4ZP99ry/2lizBZ28tdwlICDuYn6SqInun7aV1qH5E90GP1iQSv8rlidIdL?= =?us-ascii?Q?7Zw9xzFtX8tBIpRR9nAbtRV0UdjjLRoqMGFlqPWcEw8lVqONgu2l2OGoVhdp?= =?us-ascii?Q?XaqJ+sMzq2wmm4CWQ52T4dXPcotGYYjxgigZujjf11Op7hkhGXhpiKE7VmCo?= =?us-ascii?Q?18vGB6wj18dfo3qhVMlHVMhh6tiKbso4tfnggbDQDljoMgtgQ3AlpYwZCO2y?= =?us-ascii?Q?5tG/c8m4hfNKk84nZI8GmWATTq6O6pI2YWqi8rMCDEQY3Q7IYAitBCnHOP0W?= =?us-ascii?Q?9Txm0DJ5ZQZyMFGO8zIQC1ccVzEyKCud23dLFXNZ3a7k9NgZLYQKdEB7Y8C8?= =?us-ascii?Q?WtDmaDE5ryF5+V69tuTHfP9jTwgL8E90UzF/h/wFd6MLz4olKvEs+1u9Ulk/?= =?us-ascii?Q?+jplrHkwXJ+2nPGFsrTJC5tEgk+JE6Ae6K64FmMhdYr4eOq+3nkYd8TSUT2O?= =?us-ascii?Q?Cc2l3Lipu8Fi4LWEUWUOOJs2YurJ1BNOlNyTuL1geJrxtJ3ZfSUWZ/ES9q0E?= =?us-ascii?Q?2DS3FfC2pSDRD6aflNt4T2mQBNmqZWoi7nFQxSqNhCqcFoMmsd05e02pKi60?= =?us-ascii?Q?W5JNE+Hk1wRBbBu936Nj2uTN8ahK8Y52f+6u1HRmLxT1UZrfVegp/44QNK2T?= =?us-ascii?Q?Yo2XolE9D3weeccpsUyNeqeknA4sTIuiJAAHPM06Lk3cVkZBkrjYoWPBlmn0?= =?us-ascii?Q?OdhaJDhEIUACba43Lvk6oS7d6v9IxHBS1DDTEl1sSQwCTTNiyA7D58D4dhlz?= =?us-ascii?Q?OsQXP8SbGrOe3xq1A+v+Clyofw2UsPInKGOaVDwpvqBOBE1c1X4xQ37zZiJi?= =?us-ascii?Q?y+89/roScI8RqVT4wV0n+fSGi4HKvFzplSLUUpOwfpqEQBJasXi8WaS8YjQ1?= =?us-ascii?Q?8toqWM8gAjsj4GLS2g4otZxP?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7197 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT039.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 9a3c3093-ca88-4436-a8cd-08d94b9588af X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dwokG4RAIVy/1zGND1KYqIV7vS0cBhIqAPZqFpg5Qb4e2pVf/5tFV/OEFwBK7Jj9bz2so73IzPNth1Q8KEDqhvOhFGnttL4cZ7NP+VxJkPS2d9iOfQRfpclqLxRH6k6GYhJ6p43NLADlHKDJ/75dhw9oyuHYDwjQ3J9KrlOtmbHsY59ixBQdlhBpEVgA0MVLoqLsmeovY1zuJ7+eR/JeH/i7+MJHVzS1QUy3qW0wIUQT7bAdb+MzA9dlckiyh3d/oUDcCAuLexjHbTrE+U3G8g4znWqNt2U+hgFrFxsN2iF+f8Hb+WGBKPOguWQNqRfUX9BuT9VlSaga5KcS2DpibrBZlUK4DgZU+6cR7V6y9Xdz882ECmOoVtZKxT7LYBPM0ElFBLCH4spP3x4ASdE3GG4Lb2z2WemlOzGwvyb0ksuDlOFSAFTlnXB8RcGiz+nAlr57O+upV5PmPqcKoTAUvVhhQ68XfmRVROFBgY3MjKDonZ7k9ADeiNSfnX10bK0zd82cJR8SM3NxNXA6sMGF5VbY4UZkZ17DWmKjX6qBSxBuCMxqPQobUBUPDvQ+tIIKfMEG2zIpAka6Q7PvHtYiA6wxfC9WlsOM9+VQSrLsSmQGjssR/tQIS8whgoAvh+Br7kXUNd1592HIUaFZVrbzQISoSKnMQbiCCOWwIbVdMo370m20ItO6RPRPoEoxnzBqlD3n+QzUOBWg35y3eKT4meWikOC2DTsWpzCeZZZ/0/MkPzg4Qx3dHRHFb889EuPcXzORByAMeq8CbojPADGyRJJSR55vmWtSvKMNusC9TSU22hxn5NphT4O2GLR0Dulh X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(346002)(136003)(376002)(39840400004)(46966006)(36840700001)(5660300002)(70586007)(2906002)(956004)(44832011)(26005)(8936002)(6666004)(4326008)(336012)(186003)(8676002)(316002)(6916009)(2616005)(235185007)(66616009)(70206006)(478600001)(6486002)(33964004)(81166007)(86362001)(356005)(82310400003)(6496006)(36756003)(36860700001)(47076005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:46:30.1321 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3ae33f05-daa5-4988-c4bf-08d94b958af0 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT039.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5834 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:46:36 -0000 Message-ID: <20210720153852.UFuS0rKKx1VSs16lMTniMyDzkdB4jMwhh6tH95RssTs@z> --=-=-= Content-Type: text/plain Hi all, seventh patch of the series adding support for PACBTI for Cortex-M. This is to add the 'bxaut' instruction. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] The series was tested and does not introduce regressions. Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0007-PATCH-7-10-arm-add-bxaut-instruction-for-Armv8.1-M-p.patch >From 86ca3e580342a231b50cdadd10034c771b178eb1 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 19 May 2021 15:04:24 +0200 Subject: [PATCH 07/10] PATCH [7/10] arm: add 'bxaut' instruction for Armv8.1-M pacbti extension gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (T16_32_TAB): Add '_bxaut'. (do_t_pacbti_nonop): New function. (insns): Define 'bxaut' insn. * testsuite/gas/arm/armv8_1-m-pacbti.d: Add 'bxaut' test. * testsuite/gas/arm/armv8_1-m-pacbti.s: Likewise. opcodes/ 2021-06-11 Andrea Corallo * arm-dis.c (thumb32_opcodes): Add 'bxaut'. --- gas/config/tc-arm.c | 14 ++++++++++++++ gas/testsuite/gas/arm/armv8_1-m-pacbti.d | 3 ++- gas/testsuite/gas/arm/armv8_1-m-pacbti.s | 1 + opcodes/arm-dis.c | 2 ++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 3ec353abf78..30ef1991249 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -11463,6 +11463,7 @@ encode_thumb32_addr_mode (int i, bool is_t, bool is_d) X(_bflx, 0000, f070e001), \ X(_bic, 4380, ea200000), \ X(_bics, 4380, ea300000), \ + X(_bxaut, 0000, fb500f10), \ X(_cinc, 0000, ea509000), \ X(_cinv, 0000, ea50a000), \ X(_cmn, 42c0, eb100f00), \ @@ -22343,6 +22344,18 @@ do_t_pacbti (void) inst.instruction = THUMB_OP32 (inst.instruction); } +static void +do_t_pacbti_nonop (void) +{ + constraint (!ARM_CPU_HAS_FEATURE (cpu_variant, pacbti_ext), + _(BAD_PACBTI)); + + inst.instruction = THUMB_OP32 (inst.instruction); + inst.instruction |= inst.operands[0].reg << 12; + inst.instruction |= inst.operands[1].reg << 16; + inst.instruction |= inst.operands[2].reg; +} + /* Overall per-instruction processing. */ @@ -26333,6 +26346,7 @@ static const struct asm_opcode insns[] = #define THUMB_VARIANT & arm_ext_v8_1m_main toU("aut", _aut, 3, (R12, LR, SP), t_pacbti), ToU("bti", f3af800f, 0, (), noargs), + toU("bxaut", _bxaut, 3, (RR, RR, RR), t_pacbti_nonop), toU("pac", _pac, 3, (R12, LR, SP), t_pacbti), toU("pacbti", _pacbti, 3, (R12, LR, SP), t_pacbti), toU("cinc", _cinc, 3, (RRnpcsp, RR_ZR, COND), t_cond), diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d index 9df123af8eb..411454a5fd1 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d @@ -1,6 +1,6 @@ #name: Valid Armv8.1-M pointer authentication and branch target identification extention #source: armv8_1-m-pacbti.s -#as: -march=armv8.1-m.main +#as: -march=armv8.1-m.main+pacbti #objdump: -dr --prefix-addresses --show-raw-insn .*: +file format .*arm.* @@ -10,4 +10,5 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f3af 800d pacbti r12, lr, sp 0[0-9a-f]+ <[^>]+> f3af 802d aut r12, lr, sp 0[0-9a-f]+ <[^>]+> f3af 801d pac r12, lr, sp +0[0-9a-f]+ <[^>]+> fb54 3f15 bxaut r3, r4, r5 #... diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s index 38000c3fc0d..22da2cefb4e 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s @@ -6,3 +6,4 @@ pacbti r12, lr, sp aut r12, lr, sp pac r12, lr, sp + bxaut r3, r4, r5 diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 930fbbfa385..1d183605030 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4658,6 +4658,8 @@ static const struct opcode32 thumb32_opcodes[] = 0xf3af802d, 0xffffffff, "aut\tr12, lr, sp"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af800f, 0xffffffff, "bti"}, + {ARM_FEATURE_CORE_HIGH_HIGH (ARM_EXT3_PACBTI), + 0xfb500f10, 0xfff00ff0, "bxaut%c\t%12-15r, %16-19r, %0-3r"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af801d, 0xffffffff, "pac\tr12, lr, sp"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80057.outbound.protection.outlook.com [40.107.8.57]) by sourceware.org (Postfix) with ESMTPS id 398FB398D054 for ; Tue, 20 Jul 2021 15:47:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 398FB398D054 Received: from AS8PR04CA0144.eurprd04.prod.outlook.com (2603:10a6:20b:127::29) by AM0PR08MB5075.eurprd08.prod.outlook.com (2603:10a6:208:15b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:47:14 +0000 Received: from VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:127:cafe::a8) by AS8PR04CA0144.outlook.office365.com (2603:10a6:20b:127::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.24 via Frontend Transport; Tue, 20 Jul 2021 15:47:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT029.mail.protection.outlook.com (10.152.18.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:47:14 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:47:13 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from 844fb47cb164.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D3CDEFB4-ACD4-4632-8DC1-E710D674582C.1; Tue, 20 Jul 2021 15:47:12 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 844fb47cb164.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:47:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UShgxG+6WyBEgLcNGJznLJS39msdBtjdZvIXdS2xMMShnvafTMtikmAr1n6nQxz3EWl6TEyQiqIPYx/aHMXvUSTPy+++p25ZXAuhhlyk9iZ8XvCFz11mkqeNE9QcmIT0bqylAkyHfVjxb68bCRV5/dtTa7F8c4+UfaOqCbK/t0SzaI8w7zXlh4G8TRUnb97lx4lcgGOLB3dWnMeXB1Oc4QCVn+an9/+ydHnVANVrRi2Q/WsOSZGmj0gJTeNzLiT00RgY4OZa9xOyAwbDmDTcN5wbtek3/WsuyLb7qCnZXlu11lUjUhxujTehs3V+vTh5h+QA1763xThSrY62ljONXQ== 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-SenderADCheck; bh=f5XeZ+bGe/a2Y9ognuhufP54dHZyniwERfUEZUG/If0=; b=nRg37dVZgW5EwxewISx2poukUgyUCznY8vsrk7FaLWKJch4P8ueyj5uterMsLX9r+Yu8ubpMYEBknWR2Ek+CE+q0JHAcAfAB9u3kp14zPxXbf49blXI4RaxcXiK47q5HeMvAxufcnq7HkB5C20AHfqlRKDtFXlNhgRuvOV+6R67ufzv8+mGqrtPXCk0xxu58bj73pPTP8glUXl8yU5mPvVzdj59xnnNXdwP9sqqPb7k8LcLpRZSW2C4Z7lCPeOcYlwe8I+r+Ld7mBH4au1zOAyn3FdduET802R6hd44k85Gle8vkb5AqeX3U/EP0xNeeSS1pvDGUkN46ltbL2VSc7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7197.eurprd08.prod.outlook.com (2603:10a6:20b:3de::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:47:11 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:47:11 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [8/10] arm: add 'autg' instruction for Armv8.1-M pacbti extension Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO2P123CA0050.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1::14) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO2P123CA0050.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:47:10 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0ec4d291-9e24-45c3-323e-08d94b95a51c X-MS-TrafficTypeDiagnostic: AM9PR08MB7197:|AM0PR08MB5075: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:655;OLM:655; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 7+6mmvhm9YiiGGfiPCBPZdhYGTvPE4x1jTLksGjUop6cBlDoCl3ll0Nn4vmLIgSO2ew6fKiU2SffQB+8yGb9AP/EbH4sxcxSR2SrPn3EokYCRsNAODlrUztf9c8zoIVBbY6BxJvFxKQmeS4KG/RdIQprJhJiG/sU8eKP0Em8YtU63z1ugvU+8spiR6Am9vq9oQFhOKWhoXuq4wTnJmmBS3fVm81bj32+geFv3lMZNC9bUrkqsg2VSR6oQf+T4eb/12GqXka30vDw6onW/KTb4Ah48Zi7gwMYptHiV8NkAoBsTHB74jdmwSD3p4rH/KDp4LwFwcsqkiHFy8jcOGPA4cy3qZ0aumiDDcyOFsBnXCl0OTAY0lpzpFfsWsocK/uqG+3BuiorUwhv9i9yZll8NNqOXkY1n7yur3+/95zE1vPxvktWTAL2i0RFxJCdiXFjQh/ZiBJ0n0QGXEEeOlYqC11BdQStuj3bA6AiSNHbuuK8gGy+e7Ya98TCIdzLaf3WrrNaqY4VLXRE3tO3tSowUBczz1qx7op+sVyT0jt5u0el7CGkrBm6fmuvwan/GdbnbcZATW5DfuCZBsumHZDU0HIWjZSA1KQDtf7iM4uHYIuVBGlfGi7YluANF7PxVUYoxiqSUNZyJ7g+SW4fBwyPH0b/D7bkoXGfXic/SeEWOKjJvh3ogTtDlW7t4iYfVkVKgpcwu6BquolbCGHImxuHqNmsaHqDXieQWuNcUTb7efOSQ0eC5PlsxJ1SoOUfQ8vt6p7EmW+/HBlDRmwlz+Ci+v1SfqLSnegzcVnymAzjgwPJCRZHyfHPe9NxbLsb6vxV X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(346002)(39840400004)(136003)(396003)(5660300002)(235185007)(66616009)(316002)(8936002)(36756003)(44832011)(8676002)(2616005)(956004)(38100700002)(38350700002)(86362001)(6666004)(6486002)(2906002)(33964004)(6496006)(26005)(66476007)(6916009)(52116002)(478600001)(186003)(4326008)(66946007)(66556008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9Na3GVWYvkig/GFEuVY0ARDO8E0u/o8Sy094d3GnBnuBO1ORt8ZrzwDmLUpm?= =?us-ascii?Q?emojhOuBfeMCVGRGxz5V73pZ6y8tTroEye3N5749Xg3tld9UphGgTPGWfYY/?= =?us-ascii?Q?o8w1LBdzGHVpxGHCm1CulIIuCtXG1uVKWf08IsCZBDi+rL3o6bhXZoTjtNeP?= =?us-ascii?Q?g08mgokecfLPMTMXrVKIK51vOe41vzcMoobd5hveqgIupcOIXGqvdMWuiuVx?= =?us-ascii?Q?NbCH0SaDlBk7NebV6wZRrUEIPWuIu8bd0KypNLKyAAI50nDrM0t3JT7os2+p?= =?us-ascii?Q?XqCmfJKi+v90jpbeAoBIrsMb5fWmwWDnVzJSPcHQv+SBFWj2Lp7FcQDivlfo?= =?us-ascii?Q?bV72BfvV/lRDcDlqOC3fbGMvTgQ80vFcUrNt2F9yTcocupK4WtmtQyyGm4HQ?= =?us-ascii?Q?UfDdV1kx7MOb7TG5vvCotOuLEY9cQ4dzc/YeBUBQUY3H9X8sZmE+yfT6eARV?= =?us-ascii?Q?1wZByJPgxGI1o+5jlmNnrT0YEYnMJWmsJyxm+BBPAX2oohsubA+GIdjZFn6P?= =?us-ascii?Q?kgbyceGdydS8tI6jHwU5jsvin7mzxeyopUQPCzZlTf3rfFvv9FAxNogMLY4p?= =?us-ascii?Q?XyOWDQKOi5XKhtpHa1f7ufrK2F3T60CY3Dojj8wBVU2ffFj9cNqWcvdLJ8sG?= =?us-ascii?Q?T9wxtzUoomdmTn+CUwo0ppv5jb2154ckxerYNS4on94n0beC/jp44mjrNI5X?= =?us-ascii?Q?6zI+QfcCs7cSRv3X1q5ah5hu4z0gJEi586ezlfaPy3jRXjpFje0CKBRhjj8i?= =?us-ascii?Q?R1c65Tv0Up9xE/rjDwjNGmubQSXTU3h6RUtseciUyn9cIepO2DSXz1ybF9Aj?= =?us-ascii?Q?X5mfpjKu5s3WsiHh74sI0BBuMcpy2zaYMXl7pot4Dnup9pTv/+f9yDeD/tNv?= =?us-ascii?Q?fTuqVbOlEmbRD/NgfDlIfWwrRQeYjs8y1G0qFqDj1LR73T84WOqRJnAyg24L?= =?us-ascii?Q?NkTRA6a+e7rfPfOROArcntrerqqqTHvorF4TEgM/ieeHRb5xM7Jcnp+bmHG+?= =?us-ascii?Q?u9MXRwXk8x+gHT12aGsjTEweTc6TZC1v4JE+SGleiOf7KNAomwXJK42PuTVE?= =?us-ascii?Q?RESeLLPUyrpb1hn7wPfLdhWKY6oiIkr2CIDfBjERNVVlMqOPPjaOgJUxOL0Q?= =?us-ascii?Q?Vi8+Q90oq1t40VEAuVXm3bmTIHCu4E63Dchf4xR/PYz/KofoBr8Rj6r0898+?= =?us-ascii?Q?yGZvxaC3lUJT71EoOiM1aCDU9dcuh5NUpcb0mQJenxqFDDzv+Dd9tXehZ7mc?= =?us-ascii?Q?4YtM2noQVt3PPkVEFi/+DLCfAWsaevOk8kAzXSUrZ0Mv1OKwtAmxDdUfwDB/?= =?us-ascii?Q?HrCQYcrgaSPRhO1VO9xrKRLn?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7197 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 37afb5d0-bc9d-42f5-ac6a-08d94b95a342 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 56pwza6PwdldojJdkhheI64A2r41TdM94WqMIj8Eot1uVFgRHPGCAQyZYRPmmJwUb/vEOPD+i76xkyaVCrut4Hat4lxt/O1Gl85NpCnQjeMiryDBxvQzbfWbmxjwBSp+AC6CEm76MWSnMD9LLVX4OCDUdqJ+w81Cp1JtGRzwCswzV2wxMseAYn/q3g5xIA3c7jN461deTCg3qFgrOIr5D5stJkr/DTtaElacdVvzq4lKv9bTIeKpdEuLDpCJIMMoBTvWgPIO/uG7WENQBdixIbBgD1R+PM4TuX3bZZKBLpNUSKp790kAvLiH4z1dEh7k1e4w2Az4H09+g6IU/RqV+yYkhZ/bp7FKWg9w7MkegQlssNRtrTn5UUoFcqsrQBaRnkM27fdrH5F43Vg4EUYowW2u0u+CXShJFRBf0HieMO7mHS9yqQun8ONPuL4rd35zarzzLxidAKbTGg4C5Us2mtBcScAtJX/yZawiRfVFtenANAXl6ZNytwEgX4d5EYQzJeiidZ4IrgJDNETDmFUPRp0g+owR5x+JLfrc6/nA/SMLahwQ1x1TJ7eOS6tOWo1HqqaiZ2obKLiQs9YuKVjO7NOg58tPbcoFxTo8TDoACr2i/35PC0RyYbqZ60g8JqsbOucSgMQ7y83QitC8SIADiu7cSNu2wSc2R+mm4raVGGiU5g2l2uC4sQcviZ/kxTBExEO3pv58D9R/ioGxB2+5S4cVzbyQRGeGSLYX2avb0Xsok+USrxS2YvRfgCxHMskIgcVxZPO5tFVJ0RryXtjAYOQjsYawHUSOqEoKP+kmNoh0vNqa0UZ43nDyUb18bDSs X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(6486002)(44832011)(356005)(508600001)(70586007)(70206006)(26005)(4326008)(6496006)(2906002)(956004)(235185007)(33964004)(8676002)(2616005)(5660300002)(316002)(8936002)(47076005)(82310400003)(66616009)(36860700001)(36756003)(6916009)(81166007)(86362001)(6666004)(336012)(186003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:47:14.0735 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0ec4d291-9e24-45c3-323e-08d94b95a51c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5075 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:47:18 -0000 Message-ID: <20210720153852.Gnkw_4VL7vMZ1L7HW5cvxr6cldkim_Zas6qqwi5hvj0@z> --=-=-= Content-Type: text/plain Hi all, eighth patch of the series adding support for PACBTI for Cortex-M. This is to add the 'autg' instruction. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] The series was tested and does not introduce regressions. Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0008-PATCH-8-10-arm-add-autg-instruction-for-Armv8.1-M-pa.patch >From 7a07e27c0219f430ab4eabf9062c1bdd2bff9e35 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Tue, 8 Jun 2021 15:22:12 +0200 Subject: [PATCH 08/10] PATCH [8/10] arm: add 'autg' instruction for Armv8.1-M pacbti extension gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (T16_32_TAB): Add '_autg'. (insns): Define 'autg' insn. * testsuite/gas/arm/armv8_1-m-pacbti.d: Add autg test. * testsuite/gas/arm/armv8_1-m-pacbti.s: Likewise. opcodes/ 2021-06-11 Andrea Corallo * arm-dis.c (thumb32_opcodes): Add 'autg'. --- gas/config/tc-arm.c | 2 ++ gas/testsuite/gas/arm/armv8_1-m-pacbti.d | 1 + gas/testsuite/gas/arm/armv8_1-m-pacbti.s | 1 + opcodes/arm-dis.c | 2 ++ 4 files changed, 6 insertions(+) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 30ef1991249..cd65b25601e 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -11454,6 +11454,7 @@ encode_thumb32_addr_mode (int i, bool is_t, bool is_d) X(_asr, 1000, fa40f000), \ X(_asrs, 1000, fa50f000), \ X(_aut, 0000, f3af802d), \ + X(_autg, 0000, fb500f00), \ X(_b, e000, f000b000), \ X(_bcond, d000, f0008000), \ X(_bf, 0000, f040e001), \ @@ -26345,6 +26346,7 @@ static const struct asm_opcode insns[] = #undef THUMB_VARIANT #define THUMB_VARIANT & arm_ext_v8_1m_main toU("aut", _aut, 3, (R12, LR, SP), t_pacbti), + toU("autg", _autg, 3, (RR, RR, RR), t_pacbti_nonop), ToU("bti", f3af800f, 0, (), noargs), toU("bxaut", _bxaut, 3, (RR, RR, RR), t_pacbti_nonop), toU("pac", _pac, 3, (R12, LR, SP), t_pacbti), diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d index 411454a5fd1..6ddf218c9f9 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d @@ -11,4 +11,5 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f3af 802d aut r12, lr, sp 0[0-9a-f]+ <[^>]+> f3af 801d pac r12, lr, sp 0[0-9a-f]+ <[^>]+> fb54 3f15 bxaut r3, r4, r5 +0[0-9a-f]+ <[^>]+> fb54 3f05 autg r3, r4, r5 #... diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s index 22da2cefb4e..eccd5797ed7 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s @@ -7,3 +7,4 @@ aut r12, lr, sp pac r12, lr, sp bxaut r3, r4, r5 + autg r3, r4, r5 diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 1d183605030..d54cfa8fe84 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4656,6 +4656,8 @@ static const struct opcode32 thumb32_opcodes[] = Identification Extension. */ {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af802d, 0xffffffff, "aut\tr12, lr, sp"}, + {ARM_FEATURE_CORE_HIGH_HIGH (ARM_EXT3_PACBTI), + 0xfb500f00, 0xfff00ff0, "autg%c\t%12-15r, %16-19r, %0-3r"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af800f, 0xffffffff, "bti"}, {ARM_FEATURE_CORE_HIGH_HIGH (ARM_EXT3_PACBTI), -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30041.outbound.protection.outlook.com [40.107.3.41]) by sourceware.org (Postfix) with ESMTPS id BCF21398502E for ; Tue, 20 Jul 2021 15:47:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BCF21398502E Received: from DB8P191CA0003.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::13) by DBBPR08MB6139.eurprd08.prod.outlook.com (2603:10a6:10:200::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.26; Tue, 20 Jul 2021 15:47:53 +0000 Received: from DB5EUR03FT006.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:130:cafe::67) by DB8P191CA0003.outlook.office365.com (2603:10a6:10:130::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:47:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT006.mail.protection.outlook.com (10.152.20.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:47:53 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:47:53 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from 6d604a9deabf.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9F95FF49-44BB-41DB-BF3F-FDA4F69AF6C9.1; Tue, 20 Jul 2021 15:47:53 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6d604a9deabf.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:47:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MDCNgPOMUoKBbKKWymO0BlDFIrIyQRqyuEiI2cV0Ygba8mUSx29cnh3Zt1vibzu89wBV5kk9vOipLId3i9SdhZuXiBAfyP6SWmKayA5pzPfgWIP6x54hnkzgrexXpmbEDyx6r2A+LZT+5dKV57QuZ1cVfkQxS8Zk5qkCbasezScm8nYGjCptEMrD26nIK5ZVSFCmQevIO/2LKFaAD6LM6MKBPiwPzlJ94NYCFKsYkOMXT6deiB5EUd7EzqOFQX/pYHxoTttE3tCFOIMRlH7N+2uzaaCKWAiEGuJGFG8oNG5Pt2LIzY4NpqjZLjg7j/oQPL18RoYxdUeSt3X/rGL7FA== 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-SenderADCheck; bh=5sRictu7kPpSyqwBY7tYPby0CCnL7Oo0WGUYo5k0RX0=; b=NPr4PPYoZ9MzzGZjCbc5C3hH3KKi0gssnUthEjBZgWIkmrwHDsFWSaqxIRs6ECmOVKkz6JbEkBrbGaT3VMpCjZefROXEOXJfLLxoIzaszFKwe3cgodqLt8GygY5Vtyen0sfnzR7pvpZL04AhqR577s+vxAsKVW7qUymmrGcWByfVQ49do0vJwECND3daYXk+AucOn5b/NWe41eaer9J0xQfuMy3Cc45IHSbfYjTrbIqqdiR4avwiW1gDCCtFF/IJBgSDSgchiZuIe1qWmTo9KqKdEGAmoq0KA81piN/VbHTbJHd6/ED9iSDALmsZI88Mff7Rl4VJr9N8GUYnU8zdzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7072.eurprd08.prod.outlook.com (2603:10a6:20b:416::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21; Tue, 20 Jul 2021 15:47:51 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:47:51 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [9/10] arm: add 'pacg' instruction for Armv8.1-M pacbti extension Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO2P265CA0399.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:f::27) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO2P265CA0399.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:f::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.23 via Frontend Transport; Tue, 20 Jul 2021 15:47:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 030fbe31-94c4-45cd-0596-08d94b95bcbc X-MS-TrafficTypeDiagnostic: AM9PR08MB7072:|DBBPR08MB6139: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:655;OLM:655; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: XAqftHZnzMlr7RVTopBws4cP10ULPXinxznFG8RJLkJpZjgSVIuOb1q8B0pb30ISm+kR3EsOv/wweleBiR8wDSFxfpCmoSiB1Hm4jkQ90TIAPWIOwzvO9a/Zvl7RpupYQrU/VLiFzAIFWPPIOiB3bxq3bJW5CHg5nWgVnEBckufpmdoaydina+worQx1eIsFtW1iJ4RxHXJKRwzMp1iXMO/IZN73XmcBHfOeZ6bkkYj/slmlFx1aER3WbZ9FM/MO3IFqiGZfzHguH8Nf1dIIKxyE+3uXo3VTOCYqZ9owsbljtuYC6ggLyPBIUV6esJKLcso6fP/YHh542Z5Zk3/G5aJjzEU0mbLl/+HeFIQLB+SFfB3w1Vx4edr0jQsqQ7vT2MUd7FcStn62iThDRTE8/cbhOu/wGgiTaFg4BSyS2zSfjdEirwIM3Xgo/giYHKJq4pvzXcTqX0mh8mmGeGIcPvSh7SnWVepOX6p7/MxLUvbKRbps5yba+G3blKHlKst45mSTuUTYhbmomkFi8RB5NSsM8PYjZFSwBj0nrIg+Pj26tL8m7zndXpxMnOitZBSX1rYZIfPKumgiX/tZkkco3gUAxKma00idjjrIMrGqWvFOYTFhzuRpshZmSKNY+97oqLFEgJa1nGKtWaFHCajD26UsFXulBw2t5GlBlTrUB4UUszdfrjaSWc4CQWdchUA9aZcpyAxDMUvhaydYFweyjDUni4oJLtYfCtF1KXuhCt6BM2okN0sYnQe81XjYG/YieNdfnMVahthyoxYr35OmHGYwniAkL2gzMpKghI2rojSKy4O1oZQW/L5GporCUtWp X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(136003)(396003)(39840400004)(376002)(5660300002)(6486002)(8676002)(2906002)(2616005)(478600001)(235185007)(4326008)(86362001)(66556008)(44832011)(316002)(66616009)(66946007)(52116002)(66476007)(956004)(38100700002)(36756003)(186003)(6496006)(26005)(33964004)(8936002)(38350700002)(6916009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nDtXcVbtEgM0zDXIzu8K9ONy9030BWGn0ephSiHfGXaKqz3mIAE+rrvJH65+?= =?us-ascii?Q?NMNPY2TtgBejyHfaIgLlXctPPnxeJ9cCQkYiGJ92Ah8BikrIhoGoESCpz1ju?= =?us-ascii?Q?hMb4cU+QJAMhejGdZp2RZIg/UgFnxca6qCjvDZ0Oqq7Hudi5lOzwMX+M8srh?= =?us-ascii?Q?IK0B6KZsRl0hzkQNBcYVj0H5RIZvaTYD15i4xoQbGHl7bZ3vZaM0VeBHNttC?= =?us-ascii?Q?GHoXoB027iU6t2JUk6EqCkzLGbwPI7nLIo9F1rvcuasFMOK2kqm01ug/GURd?= =?us-ascii?Q?VZZyTFJEvRqkKxDHmeeIDj8LoX3qSNQ6LFxJ7JEhCzuAZCfweoNwvHOu156F?= =?us-ascii?Q?p+LUPi/B8a8NX6g8dID28gUiSzKABJEuNKt3POwtrPYtJy4wp+ZBe/5M1cGy?= =?us-ascii?Q?ry9F0otAHf0KV+dJ8OvJwmhu4T577QsqQ2KX+5tidFLSbJ9EGKMcDygMEhm6?= =?us-ascii?Q?fHSQhkJ1zYwHsaC9j6cyYRJhAdlW2afykB2bcM0QUnBn5PtH7Cntr+zF8MBW?= =?us-ascii?Q?qZOiOIX53rR4SoIh6ItjGu7dQY9jyl11D+u2pZEap3P/YUQczmiSLF0uSizI?= =?us-ascii?Q?Yy3loiu7QPjUu1NrRtgybG99kZ9bcwuB86mVzgSMVRwNcNwjDQxzNw77jpwn?= =?us-ascii?Q?xjlEtJMx3JjCCZMAcsgtjfCHVk2brd8swKNvAQEKHkaNWYFv0v6Nrtc3SlCN?= =?us-ascii?Q?n39kVzicLXKnrB81IGG9Ovg+0Prb381YepO+Fk1aZv9K4/RpVHJhsb+/hVH2?= =?us-ascii?Q?/FLxrmhAyhDQX08wOsM4JeBTUKFt0wbAvhw6nVE3QCbryR/ocKzL9gqaNTv3?= =?us-ascii?Q?b5jAVHbJnCfNNRnKKrXxL7G/F/y4Z9NGhFfYH8g2bB2NFWR3WkBaPoem4GlX?= =?us-ascii?Q?TeLhJiaqLYzCASu+veGo04kfG6qDa1p6hQlPERYAyGaYq6AN1mqj3Crqf/1V?= =?us-ascii?Q?RdyWnQvNsY5pVI/lRBp7oPvIGKPhV2l9QrQVtImGYSeTsSse/R0gBffvJI1v?= =?us-ascii?Q?viRSlcwGTzoW5J9tLhXe2/pzg58LGclMQg1VKkXI69F1TSEVoclJFoHQ/mho?= =?us-ascii?Q?BqPdOxtNQ4ogN6lnL6lj6SQMR69GyVNkfJN0aj/RJ8rKIAb4ieNcH80PS5GD?= =?us-ascii?Q?I1eN9Xd0lqaEaUOHYP9W/aN+CpuDA+/gpX9xeoqFAO55kdDR4qi4rpNBf/fC?= =?us-ascii?Q?W373CHyhKxN0JJbbnAGaRQbaClHt0EU3JYX7UAf1/43Hn5FMImc1dYUIyHG/?= =?us-ascii?Q?ub8Xpy7M3sYZnSA0UNsTF7CL0kcnUW30F7iBVMR5MWtFhZuzsZSdUGjxSuSC?= =?us-ascii?Q?WpFOq0AcjdCiGUjFGKyAq4IB?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7072 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT006.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: ccca6757-8697-439f-6589-08d94b95bb81 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ePRbAPl8ZAwrl5lB51sfLQBUPgi1ZysQT4DYkWmAtTMOqYtyfkOwFMSQLZAalhum0eDTU5SgtDhQ+o4u7O6UnUN6O2wZfekJOzX8Cgn6JtMQYdcxuawr+ZT50CVgc5ExKgETFfVUIi5hGs/Lg6qoNQhx7YEEtATgI7wWhfyZg7m/8ysXtYbon5dnfi8GA6upBadGXmxHYBw25wY21fRGuRyl91L9xeTJeq77GsoWcGINHX1hIL2LLXNciQCxFR1u3A8qihfbUIWR5wT2F0funO0GGcqKBDMzoIvJgOYJZjW2iTOqmCHU7TaEOme10bwb16Uh9CEa6Em3UdECP8HwHQpjKjOxh891aUOZyWl77dTO2irWb1ggwZqxOOVo77aFANWZzdzE44kuQ1sf5LEUnxWMHL+fvQKsg4kyM3HB3IYBe+THyxYFH+zwx/DsiFoEPqZ7x8u5jygAv0aCvBZ8QbUKGUnJaURZ8lwXhwr2n0ek2m+T2cd4/SxZWEiKekEo6g/Juh8zVKr4hDXKPk0wOHi8Nx0gX8gkZdwGZOOFb0ukfkfkhAI8JiFseAuXqJj03tbR13egN30VyAfk+YvCQODEGlIs9unXGu+WbajIWkRydHX/9IVl5OxYHVFAt/mpmzr2Y5zqTmK2MGWS2XOzod+o/xwKclX7oErKZYsPz3x5YD0ttvfjkAFfklF9/xxxPUutzxIXCTqILOR1p7QJw3r4Cgh4Z1a+9ZrOwxnjYZCbSc6n7vv7Yi01K1XW51rz9AGxrFEBsrxg8V2xlvcvG1PD9IHKGc5WniOjhtoh4z2xXROkfY7JzIXmcwWGlWuj X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(376002)(39840400004)(136003)(346002)(46966006)(36840700001)(47076005)(235185007)(4326008)(36756003)(6916009)(5660300002)(66616009)(70586007)(8676002)(6486002)(70206006)(82310400003)(6496006)(26005)(36860700001)(33964004)(956004)(356005)(478600001)(81166007)(8936002)(336012)(44832011)(316002)(2906002)(86362001)(2616005)(186003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:47:53.8214 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 030fbe31-94c4-45cd-0596-08d94b95bcbc X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT006.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6139 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:47:59 -0000 Message-ID: <20210720153852.rKvdkVUHyely-4o4TePZQqF2Dmi3vmb33UDfJi4SdkI@z> --=-=-= Content-Type: text/plain Hi all, ninth patch of the series adding support for PACBTI for Cortex-M. This is to add the 'pacg' instruction. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] The series was tested and does not introduce regressions. Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0009-PATCH-9-10-arm-add-pacg-instruction-for-Armv8.1-M-pa.patch >From 9f8ad24c49a405f5503dde2487d952df8efbda5e Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Tue, 8 Jun 2021 19:03:29 +0200 Subject: [PATCH 09/10] PATCH [9/10] arm: add 'pacg' instruction for Armv8.1-M pacbti extension gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (T16_32_TAB): Add '_pacg'. (do_t_pacbti_pacg): New function. (insns): Define 'pacg' insn. * testsuite/gas/arm/armv8_1-m-pacbti.d: Add 'pacg' test. * testsuite/gas/arm/armv8_1-m-pacbti.s: Likewise. opcodes/ 2021-06-11 Andrea Corallo * arm-dis.c (thumb32_opcodes): Add 'pacg'. --- gas/config/tc-arm.c | 14 ++++++++++++++ gas/testsuite/gas/arm/armv8_1-m-pacbti.d | 1 + gas/testsuite/gas/arm/armv8_1-m-pacbti.s | 1 + opcodes/arm-dis.c | 2 ++ 4 files changed, 18 insertions(+) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index cd65b25601e..40e9d2e02f2 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -11513,6 +11513,7 @@ encode_thumb32_addr_mode (int i, bool is_t, bool is_d) X(_orrs, 4300, ea500000), \ X(_pac, 0000, f3af801d), \ X(_pacbti, 0000, f3af800d), \ + X(_pacg, 0000, fb60f000), \ X(_pop, bc00, e8bd0000), /* ldmia sp!,... */ \ X(_push, b400, e92d0000), /* stmdb sp!,... */ \ X(_rev, ba00, fa90f080), \ @@ -22357,6 +22358,18 @@ do_t_pacbti_nonop (void) inst.instruction |= inst.operands[2].reg; } +static void +do_t_pacbti_pacg (void) +{ + constraint (!ARM_CPU_HAS_FEATURE (cpu_variant, pacbti_ext), + _(BAD_PACBTI)); + + inst.instruction = THUMB_OP32 (inst.instruction); + inst.instruction |= inst.operands[0].reg << 8; + inst.instruction |= inst.operands[1].reg << 16; + inst.instruction |= inst.operands[2].reg; +} + /* Overall per-instruction processing. */ @@ -26351,6 +26364,7 @@ static const struct asm_opcode insns[] = toU("bxaut", _bxaut, 3, (RR, RR, RR), t_pacbti_nonop), toU("pac", _pac, 3, (R12, LR, SP), t_pacbti), toU("pacbti", _pacbti, 3, (R12, LR, SP), t_pacbti), + toU("pacg", _pacg, 3, (RR, RR, RR), t_pacbti_pacg), toU("cinc", _cinc, 3, (RRnpcsp, RR_ZR, COND), t_cond), toU("cinv", _cinv, 3, (RRnpcsp, RR_ZR, COND), t_cond), toU("cneg", _cneg, 3, (RRnpcsp, RR_ZR, COND), t_cond), diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d index 6ddf218c9f9..2e7082216ce 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d @@ -12,4 +12,5 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f3af 801d pac r12, lr, sp 0[0-9a-f]+ <[^>]+> fb54 3f15 bxaut r3, r4, r5 0[0-9a-f]+ <[^>]+> fb54 3f05 autg r3, r4, r5 +0[0-9a-f]+ <[^>]+> fb64 f305 pacg r3, r4, r5 #... diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s index eccd5797ed7..8d3a4a44c1c 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s @@ -8,3 +8,4 @@ pac r12, lr, sp bxaut r3, r4, r5 autg r3, r4, r5 + pacg r3, r4, r5 diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index d54cfa8fe84..faabd42b5b3 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4666,6 +4666,8 @@ static const struct opcode32 thumb32_opcodes[] = 0xf3af801d, 0xffffffff, "pac\tr12, lr, sp"}, {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af800d, 0xffffffff, "pacbti\tr12, lr, sp"}, + {ARM_FEATURE_CORE_HIGH_HIGH (ARM_EXT3_PACBTI), + 0xfb60f000, 0xfff0f0f0, "pacg%c\t%8-11r, %16-19r, %0-3r"}, /* Armv8.1-M Mainline and Armv8.1-M Mainline Security Extensions instructions. */ -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150089.outbound.protection.outlook.com [40.107.15.89]) by sourceware.org (Postfix) with ESMTPS id 3BC653864836 for ; Tue, 20 Jul 2021 15:49:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3BC653864836 Received: from AM6P191CA0088.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8a::29) by PAXPR08MB7058.eurprd08.prod.outlook.com (2603:10a6:102:1dd::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.26; Tue, 20 Jul 2021 15:48:58 +0000 Received: from VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8a:cafe::a) by AM6P191CA0088.outlook.office365.com (2603:10a6:209:8a::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:48:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT050.mail.protection.outlook.com (10.152.19.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:48:58 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Tue, 20 Jul 2021 15:48:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08b45f92e2f951a1 X-CR-MTA-TID: 64aa7808 Received: from 467d31be49fb.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E298FCFC-2BB5-4B7E-A355-BCD8A533D707.1; Tue, 20 Jul 2021 15:48:57 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 467d31be49fb.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 20 Jul 2021 15:48:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MQWFSWmjHFWxodg3ky89UmIcqmdHlxF/bpqoGoWSchvmAtpAxbOeMQlFtQE/G992G9NyiqE3855Y06FixMmH0UefR6uwYDDTxn4EPsP9ZCBJfhHF7wdxmXYEtikGNEQeb6uVGa+A/I2WkLFPvuhTlP5WJAKeSHFIw55UKqNhwQGMce7/pA+STTKS3vBh8x3PlCuQrlSoh3b2WCOXk6A+5APsiEMNygYRdtQSAkYH6gLJwLvbV2dJ+dsrszVE9zRPTDO36tajk45xujkEncFjXvrJhMY22wavCEXruGSNxDELCnP5v9T+cU0DWaqLVHCqNb2lIIklMV8vMjNbIkmNCA== 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-SenderADCheck; bh=yOdT4xQ2fkKVT8Tsohu+qKLqgqzvcbELc61R3BJI1gE=; b=c4UEST7RCnrcLjCstAfveUvpINgnK/zhV6Q/GgvBNxprRO7gtCRMCjHHx0nbm3CPnaMWJot4WdWNdVmXXXcmKARf5vVjBU/kOvYH84q7zohObrFOW20DKhSyhJG/5nhHjkaJwjqKV0f3w9mIxazMMYSSMtC/V/j7hoMGICn294BudBdB2N+qrugU1qkA0CuXMQbnfSXl6GXD2frUzR4H7n6nEZql339FvwaMJ/xZ0h4nh2r21gRPh6nUJmXWnzl9y/wK3gw/aY9pWzLFoGtwJ9j+PAmRB2YRkZ15UFuf+eAfl+RfJUlgD+F5N/7ari8+GtXJAaefkOZ0PhhTFrd81w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7225.eurprd08.prod.outlook.com (2603:10a6:20b:410::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.25; Tue, 20 Jul 2021 15:48:54 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Tue, 20 Jul 2021 15:48:54 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [10/10] arm: Alias 'ra_auth_code' to r12 for pacbti. Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO4P123CA0168.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18a::11) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO4P123CA0168.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Tue, 20 Jul 2021 15:48:54 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cbdc2f27-2cfa-4712-288b-08d94b95e35e X-MS-TrafficTypeDiagnostic: AM9PR08MB7225:|PAXPR08MB7058: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: V42+W/FCMeWjugFsVUIKoag0Ww0hCe0iQRgStrFCHnTAV3oYhjeI4i3UlGG1KmnPmPGsI0R4gDHAeaN4o3c/T1mlbgCAV2+gpc/n/2S4Xg7Xh58oop7BX44HZbsuoNyaNU1uArMoXKaS0t0S38U+lTzuzK2SWFm/WGT+enfwHKSSR4kcthGsQ3uQNPDBon6nb4Q/KvbM545rCDgGxZBTohghnGmDGZFfIxGhVxyJA50bHpEDmlxIzLZslmnijSN2K3pIEuJespWkp4cuv05XCnCTRxf2dQ8HmrcjtPNgU/oGCkua3G1ZzoTWkY3HZnH1C6X4PWpjl5y45w9ygbjx1WH4v95ISFfVlAuBJmV45O/QMd3sSV8ZRw5UQkQdRgqbbHAALWPJL2NU1yk6U31HzDgp2Iffzu58E8zICLGQbqhBWYqSphZOQ43l3Flll0vi4EGa/AniyMJ5e2H8wXExq/AHvf26aw9NgI1FtYfMYQQEBg2Mr6Wh6YtAVfslTfbCMIs8nFqfVJIA/3xDO69jVjp1apueJqtIuwIP8Ys3Oe5V5N7GMm/1UZZUnGJvU5ZtRXmp76jJekXni+fyk3v4OixxsmYa54NmdwpxeGTm7sYyqzrJCy7n4x3ymYbkSXtCnK6jMdH1t+/JtYUcWOXwBk7pPrC+1U+gG2rV+xjrMhHblCNiLP1GvhftnAggbzWMfNsvj+hkX+jI/8T9RDZRHKQ8TWUmDUQJUIBGtRaD+Xp2koQOHxkOLNaKJeKb+abYraI4jcqtT/Dd3R+6sOvYOHPvNKWNGceOZK5IrjLsD0NPB1DRB4blxxtzpdPrgL50 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(366004)(396003)(39850400004)(86362001)(8936002)(8676002)(478600001)(6486002)(36756003)(38100700002)(956004)(186003)(2906002)(6916009)(66556008)(66476007)(66616009)(66946007)(5660300002)(26005)(52116002)(235185007)(6496006)(316002)(38350700002)(4326008)(33964004)(2616005)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3q/oQglm5vFmGf5ETreGOHoEwSvKl/HK9c1/VrwkKeJXF9l+Sfp0cJps+/pC?= =?us-ascii?Q?qjw4FJYtzc1a0DJ+5CAC5d8tfL7bTDbPpIa6lhvxzearHisLnq0IIcVLOy1Z?= =?us-ascii?Q?8+x12z0/KZSCg9zbVDZn1MOeL5xU6XGRsbvAugGXNyU3mJomanK4SpmJTilr?= =?us-ascii?Q?aiyUlCohfwhbPai4kdaWOTyTyij2JqiQ7FdqavcnDw5pBwHLASRESEuhJbH5?= =?us-ascii?Q?MJEIwr11QYOLEOf+DKgcft9dDMRUC1NTyP8jrTeFeZHLe3JLIE6ah9izMpFh?= =?us-ascii?Q?bNCU4btURYcpgEjS9BZh/675NK1b6rGYikvMHdaUeONPneMLQEGPrkiapfr+?= =?us-ascii?Q?HzhB9K3hO7qA9YyKP+zSaajmS/nGpHBrwxcG3Yn1zm9FNsvVsICk5/865+CC?= =?us-ascii?Q?35cP4s5JWEbnTMnSjc29HBAkQk3sR1BRwmxbJhn9ejAj2fpq8FXlhdcOSDEy?= =?us-ascii?Q?Wf6/9syjKyXUssrW1wX8Y4n1l802I9iuIVi6ZACkBuIMcf+lERUw+4pvh1GB?= =?us-ascii?Q?BLbAN/Mfe6ubf3na++lk4c2aRsrOg6/gPf3N3HIwdFBPypvFA6S078liaAaV?= =?us-ascii?Q?OCZOaNZug7hsiygWJUhQpQLuuMJQs5TZMElyXQI1oPe6Tvaw97OW3BGKm2iq?= =?us-ascii?Q?F2qz0XMuGKmb2954s12+UrXWjxmk0IB62dd1tCsiBhq4GKUX9gjuewdd4ygH?= =?us-ascii?Q?+p0KVnPRZ+nO6jrJ3ZPuR7shjadfAz4u8Hs6xlJq4Dbypm0foIi4lZ1twBv2?= =?us-ascii?Q?MxOSDYKiQrG1aZufj2VwdB+yC1EXNLZ8zKW1/HENPAk1gM7Fk8qrHGWzRdoE?= =?us-ascii?Q?zkFrgzyyUCzNRmK6AFfbcOBzu+7dbYymjc5pcq8zEawOAvKEmD/8agF1zidY?= =?us-ascii?Q?f6GMlbLKymH0YrY+nS55GuJhwIgA+jW5cKtk4ARg4ZygMyrPpJGn1qTmNgyc?= =?us-ascii?Q?xypNqZ2a4AtNek7yqi6XXlmZq1I6Ybhvf2KhabjrI6ENIYCxKutJSzbwyc60?= =?us-ascii?Q?l0s9OYxuncj7OghuS4e8yiP0bD3OFc3x3xNnWkoBRPT//LaBL5Aa59y8e0U0?= =?us-ascii?Q?MboycO/OIVRZQnV+3toirq18n6mfu30GAE/1cAKWdsWRSFF+lM380E4K5OkJ?= =?us-ascii?Q?pBFUdkVlLSTnnvjdwJ8LKaRpN6fT/iWl1LaZZpqdBVB1DaXgTtSXyXhR4fHU?= =?us-ascii?Q?rExjJsYuZE/8q67UjdBqp3QgaHPBSL6y45SPYlZKbT1Mp761U58B1lLikkXv?= =?us-ascii?Q?MrB8KTSTQiWafcd1VEpo5O2sP9iYD/ci6i+cBda3AlLfnS4jP7HJoDAlsfk6?= =?us-ascii?Q?ZfYaDiaFg7c3dsTtcjh65Dgo?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7225 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 721cbbde-a422-4a3f-f056-08d94b95e102 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IpRMFFOZNmTJZDM7rBt71CI7IuOe/LgA/qbeIjacXE8xozVrdjXfgg+HtALVPTn36qgYCRP7aQzfBK7/barNhge2R8NgZk7ifXRDQYDNUvU3g1BS+7eg1rEbUvdx7QxqYkzdogWYF6eh+eeQA0izGVhnHdvze3aniHBstaOxBPPz3dIFo9PJIY7JbggpKt21OGGq03NGka1EuXDNusFvJlngDAbDqmrEPENMTvTxLxQigCrAgImep4Fsryg9fKTFKYqhF4xxLL8h08O3/TPmQL27M/PqHp+R21TXOkNayh/dK54dTeMfcW5mKnEpxBB3xWHNhnTlMxZuiY2QcpkakpCUN2YmjkWeBdKAVq6KP4eKgLq3QDLn9YgI48CjQPESBjq6pFWdq9hB/Au7tS5Ry5f2Hgt1YdtWTBSvF4lZtQ6OTfN1KkaiVCxbrQtNcYMMbkdx3SZNt+zvzAVTYzLrrglNWme0sKcRe9noHM2lGAqjT6cgkbykSf66y+8OaxVTsh8JNuEe42s8nmsZG/o5kUiZcPgI1JQ2TMHiKiCjscDgP1KUmissh/yA2Axi4rzleu7OIhjZubdW2tvVYh9vDAMln9fnhjLzrufFpt/1AG5NH6L4kZBNBwra2Mud+BObZzsUIusF801JlaA+dzyVPY3Y3fk4c0QDqF5+qvgxSsyqsIcXzNOER8OBUbjbj0GCjj/KyzEoed83P0MTO1N4gzSKrdpEPcVVDzw4+014G+odGWMM1W0cHkdf60FOwy/kF6Q5gDLfBkZNgqskqebzebn0fsFuckeDWSJ3087c5Y1/yCgRyouXn/slQcYEpxlr X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(136003)(346002)(376002)(39840400004)(46966006)(36840700001)(82310400003)(33964004)(6916009)(8676002)(6486002)(336012)(70206006)(235185007)(186003)(956004)(2616005)(70586007)(5660300002)(66616009)(356005)(2906002)(8936002)(36756003)(316002)(81166007)(47076005)(4326008)(86362001)(36860700001)(6496006)(26005)(478600001)(44832011); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2021 15:48:58.5232 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cbdc2f27-2cfa-4712-288b-08d94b95e35e X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7058 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2021 15:49:01 -0000 Message-ID: <20210720153852.VE-pTfhaoXkRGeEDHo0StVmroxnCxmwOZ8ynEdfDm3M@z> --=-=-= Content-Type: text/plain Hi all, last patch of the series adding support for PACBTI for Cortex-M. This is to alias r12 to 'ra_auth_code' as this is used to store the signed return address of each function. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] The series was tested and does not introduce regressions. Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0010-PATCH-10-10-arm-Alias-ra_auth_code-to-r12-for-pacbti.patch >From 5c852c7e94d15cb509cb924a16cd560c4db1cba1 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Fri, 11 Jun 2021 09:53:09 +0200 Subject: [PATCH 10/10] PATCH [10/10] arm: Alias 'ra_auth_code' to r12 for pacbti. gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (reg_names): Alias 'ra_auth_code' to r12. --- gas/config/tc-arm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 40e9d2e02f2..c9e65582b17 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -23957,6 +23957,9 @@ static const struct reg_entry reg_names[] = /* XScale accumulator registers. */ REGNUM(acc,0,XSCALE), REGNUM(ACC,0,XSCALE), + + /* Alias 'ra_auth_code' to r12 for pacbti. */ + REGDEF(ra_auth_code,12,RN), }; #undef REGDEF #undef REGNUM -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60069.outbound.protection.outlook.com [40.107.6.69]) by sourceware.org (Postfix) with ESMTPS id 6015A385480B for ; Wed, 21 Jul 2021 15:07:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6015A385480B Received: from AM5PR0701CA0002.eurprd07.prod.outlook.com (2603:10a6:203:51::12) by PR3PR08MB5594.eurprd08.prod.outlook.com (2603:10a6:102:8b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.29; Wed, 21 Jul 2021 15:07:52 +0000 Received: from VE1EUR03FT059.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:51:cafe::56) by AM5PR0701CA0002.outlook.office365.com (2603:10a6:203:51::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.10 via Frontend Transport; Wed, 21 Jul 2021 15:07:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT059.mail.protection.outlook.com (10.152.19.60) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Wed, 21 Jul 2021 15:07:51 +0000 Received: ("Tessian outbound 870783c3513f:v99"); Wed, 21 Jul 2021 15:07:51 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c091f0af1d240c57 X-CR-MTA-TID: 64aa7808 Received: from 93c61137bf39.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DAE55D21-CE8E-41CF-833C-904E62B25AE1.1; Wed, 21 Jul 2021 15:07:36 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 93c61137bf39.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 21 Jul 2021 15:07:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z0oWHzmj7MCGbGiNe1RO1vtrh/8BGOTbW2lnPusdHBhSCMHY9e664UOj9NdK00W81L4HAe+O7BCuxHpE2V4qrF3Z+X0O6Gpd2/oKBaWWvFdRVkUBTIY9tCTbxw3PhR7+BOAqEtOlYxRpz08YULLBgP5Kr53M5RIoRQnrEgl6lkyc9pxZp5RysyTfJU0HSZggE59tCld70S4Oz9nxQGqzrClWghWwPB0qwZkSQkxE1dpb8sxlKXcznQXeFUB8FSXCW73V5vG+Uu1mZRj1Bn0ni1d2X10zAulB+MB7EP7oKh3jyKBHgLKkU5kUr4aeP3pgVoXtxjGS+OWeQ/sHjPkCRA== 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-SenderADCheck; bh=ZfhgOB3w3P0zmS0bFck2sXmVru/yifqOtZPJ6t8CSQ4=; b=GfjTiE7KGUB5rhlfgKnNvY3nxJSV5MsZR1x7wyEcbqtWu30OGD59cQOYZ9mNH6BXyc8Hri0reIHkhDKMCj4xilYzSAUjBlY78dT4aV7B2jXbI4jhV/K5BNQ5rinLkY8QYrPzQzyd5hcbT7xXAp7ve2unD2Fpf/uK8eahuz2ilgikhUWE3KAkxaxngRhb42Pt6lvw4cYM/CQxKP6MX8UTlXoRt5kdKVy1GNHv1SDokQd13Xt9K1dzj+aSvjGoSQ2CFsYfp6rR1X5P9dAfU4rZwBNdvZffdrjR4Ji+vcAl37PmidcxIkIBp97wOhVsi92GwW9vlbhqgcjO+4a4JR/YHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7242.eurprd08.prod.outlook.com (2603:10a6:20b:431::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.23; Wed, 21 Jul 2021 15:07:34 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%6]) with mapi id 15.20.4331.034; Wed, 21 Jul 2021 15:07:34 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" , Nick Clifton Subject: PATCH V2 [2/10] arm: add 'pacbti' instruction for Armv8.1-M pacbti extension Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: VI1PR0101CA0045.eurprd01.prod.exchangelabs.com (2603:10a6:800:1f::13) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by VI1PR0101CA0045.eurprd01.prod.exchangelabs.com (2603:10a6:800:1f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Wed, 21 Jul 2021 15:07:34 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 15f94ddc-6160-46c4-ac0f-08d94c594f90 X-MS-TrafficTypeDiagnostic: AM9PR08MB7242:|PR3PR08MB5594: X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:2000;OLM:2000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: y9sfCs/voD/LR9J/IUCcHzBKs1jjLeiMYidQw9FeGKva8EcLQY+toGjZqlmb5XeB5GWqBgcAWJlT6s4KUAm5tW67ZNJTuTQF3pgpChwkRJkKlPqrL1mfEc5/K2pMd0YCpSP0CofkOPOD5pPVWBu7F2oDsdxO6YNTR3QeAXFlBlOiKeN3dlZ8RjFUX1SQQ/fb6Fv+ob8Cr/wVGhWrE6sapGQuv8slkvdbUNiC1XVsDn5fiqtiFpq49/MNLfFA9Dc4uxmyQsZRq8orkAMBOghffQfyRve3EYqcs3spczRDx9ZGHI9ncMYU1J7vKkiuCz7f+ZreNQfMCW8IRoUy2UKiIVZJIiwUZ5rQhiWL6Ctb4MP8XNoo0al5kzIs+NbGKT8t5i6vhpqPFHX0EIb2NQ94jpviI1AHmweuZyl2m1REGodUtlOvy91TOrduTtanaN7XGUq1PPD6Y/YVc4yGpBGZgNUYlpJ9K90NExo7KnSNs3tN6Xb8yCMcsupzlYdtI2X+AqH7VbEPVwRnk2epa/KbWLvjxbxemjnLTkJth6BgX0FgP7DS5TJEr5Xz2ZCUJRkBGFRqtV+aRJPHyUIVjWdOsagmdtWeantf101dM57tNo/5tRQEDj7JfkBq4lxxUa7VUVzkQI+Am5eNC0Kmd2TF/fvGIog65ij0OcMCCnkBywfi1WJ46RfukLZ6N4mAdKC+C5TVOCigbsnD+nWYR+cPvMAcNJwIyI+OH/6UOUWzeAVjs8hNRkVGnqRmlktKPTLi4o+KPJvzUqY2cS9nX5iXWbf9D2Ip8VgMgbOGjovx4iYAS9eCdjsIGxp/F05d6eAz+YA3AR2fNVzj1Wr//UX1hA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(6496006)(66556008)(2906002)(52116002)(86362001)(6666004)(66476007)(4326008)(2616005)(66616009)(44832011)(5660300002)(26005)(54906003)(6486002)(36756003)(956004)(8676002)(6916009)(8936002)(316002)(235185007)(186003)(33964004)(38100700002)(38350700002)(66946007)(508600001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?CLakD8+zJVaoPvvf0p8M6nmnkqxZOqtn7r07BN7m5xtjfXMENPsdaeNEm5HS?= =?us-ascii?Q?lfHgNFgSiaEYkDisk+04DGHDB+0dP3d7QHkeUUKpWBc+CPA+YVD+P3oM/fQa?= =?us-ascii?Q?1x3U/fQbLhVjScyTHv4BY8nvgSoJv74nCLdQ/UO5244L5ZN61HoiUwjj/KEC?= =?us-ascii?Q?fibrmW0YtZppQ5rDv/vgRSxdwwdlbBDsmmoCE79uVbLad3w5wABNbppiu5qS?= =?us-ascii?Q?LM+irmSfUqX1YOlkJ4FHLJPQFa+YPABj9K1FHZCsq9MslTjrdyaKwhkPGX9F?= =?us-ascii?Q?Vp3xSiaMrJyV2JWAdAq9HbMYUXSzekWEKLHNg4zghrZIaXsInIYKLcRn8Irr?= =?us-ascii?Q?cXYlzHUF970eSwXUa44Pc/PA81jkxt//Nv7E4meKtjB9n8byZ97B4r6Tibgq?= =?us-ascii?Q?InhIicqFDam6sJT/wf45XxiQOZzl2JhXl7N5AQAPXdO7WbTi23w8uUtL1I6D?= =?us-ascii?Q?Od34kFThxu31H/juvLngDXz5BBvvrdcoFcro1QomTfYgcaJIJfLFRThhDriD?= =?us-ascii?Q?nrmOCQt0Z1/TkH5lD4qBA7x1imwzcMx0NjKmVM59wpYSyA7c07nsTwfOGPjf?= =?us-ascii?Q?wWOkfOKbckHbvcIpACHj8U2SjvN1xD5df46CdxF0EvUNgsbV2RXHiHRDUpMg?= =?us-ascii?Q?XbtBwnpxyHMKzCcfNE/h52SR31z/XNoZmRWGfSNBXUsjqQt2TdNyxXpyHriB?= =?us-ascii?Q?N2CnY0JeeJtRnWgJSYD6OeXwwGsHKg7iDtsfGyt1sRf+CoNi7OBc7rG5RllZ?= =?us-ascii?Q?k/uCQ1rK8GORKO5iJJK8JovpS9sJ53xXof/1zztVbNAnaUmrXEASk2/4rZne?= =?us-ascii?Q?EhV5apUlGpC/sgZdq9muyD4OlP2xryGB4/QBdtSG6goOdZao8nD9c0THoy3J?= =?us-ascii?Q?/f9QBik+9Cb9YBzf9bmMdUjIcVEWaqbnLxEv7FEbv4DLx9cbFnf1c47ZJ1Wi?= =?us-ascii?Q?riL+no9aYLXoeiwmFj7lzciw+GkV3MPUMvBhWOrCYJHtxbBJ5xJOmB8ZSMce?= =?us-ascii?Q?ymQNcYCJ4KZbzS80Uy1BgFMV2Z+ThM6emLHGlSP80SouT6T4kZvftglyWAQ7?= =?us-ascii?Q?UESVf2dIV/OYSKBPyc6Xn8Kwt9E6vT3VSYBpWXSv5GRkzvYKkoaiDv/FHUbT?= =?us-ascii?Q?2DJBwnkseANqsqKPpMmeDQhoTHoNrCl0fRnH0VfdasFlFKmVRQ2dBtWLvqiF?= =?us-ascii?Q?DfWdLtR35cNtf9vkeV4c1pFcVHkCmSQb7lp/2Bq6V+ljAQ+bEai3/U4Ezg2G?= =?us-ascii?Q?QzSh3jLA5k4Jd/TXJG3ojIzCvNrGum+Lo4Pzgn3NRkR7w/9rq6b2qcKO8o3m?= =?us-ascii?Q?4KY2z9TeqbM76xu3/QLKUouG?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7242 Original-Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 02dd3f4a-2d44-4aaf-3c4a-08d94c594547 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hzA7FJ/6AAJnskm3+MghPWOhhxrPNBVKFTu0S5AetIsyGjjh304AsX/4QzExUDTq3YU77wK83EAd2d+YnGE6WTO9FBI/3uhX7shxNaLUJmxk8Wooo51zhFJfixuvleYLp7w6qbn57asFY32DduF6iB5rhqvWAd7dVc6oU3uiEdNpcljiPw3Yj3iqXBqnM1txbdQdaRJAjEQiNOzg1aCK9KoLX69h3FW3zTNnie8fN4+Av34Fn8p0cFfXjg8mzuw4cqRFEZeI9CS0vGvCBwJHO/uQoPsbC35GCsLyI7au4u0jgoqTGAt2YIqzGIX7OlPSDvvbuASxOXcHjdUb+yKo9t9DWVgnY6E+QxewwUbw4kPCnbt0SP/5zT/HZjn0kTPv9aYhi75lycTlQ805nmdwbpg7Bl27V9Aj+1r84zczy0USEJXE5Z9UsAt/Q/ZlgJp4a7ugxfCVOOOfx97cdZXJqRZnA9J1hANO2Nudk/mqeIVOB260x3tkx9FNf/Qw4a7k2EZ4sToWOLFiBH2hEftUMj0zcA9btXpliKIi3ATKR51VquY5AjkViG5Dff8eWIrPk4zWtDeCmPmx3C0pMJI6+LUz02sSJJY/PIE7Lr9Tixs1jvShPpun0csxA/mbXV0MKVG5XkhalxXb0O1h9lUbcz6iEVjqqW7L6ZtyJKqleEA3YPZKc0KSwBwnxVqrG4rIMQWHiIdjGqBf1DBa6bB7YQvfoCbtV65kjnGzOWwm3zTRR7bed0Iig8TNJGA0HhjS7Oh65SRgc+JZ9E35CEMZIY2tnG/Lds+bT65GHYzamEHM3tZLqMZPipvdbbBtU5lB3IfpuSucLKiXuIM6SsJrDQ== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(39850400004)(396003)(136003)(346002)(376002)(36840700001)(46966006)(54906003)(26005)(82740400003)(356005)(8676002)(86362001)(186003)(70586007)(47076005)(2616005)(6916009)(2906002)(956004)(6486002)(36860700001)(6666004)(5660300002)(235185007)(81166007)(33964004)(44832011)(6496006)(36756003)(82310400003)(8936002)(478600001)(70206006)(107886003)(66616009)(336012)(4326008)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2021 15:07:51.8758 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 15f94ddc-6160-46c4-ac0f-08d94c594f90 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5594 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DATE_IN_PAST_12_24, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Jul 2021 15:07:57 -0000 Message-ID: <20210720153852.4V-0qV6pSEmYP80P8-dlLnaSjv4fiAk0kaeKInMoHOQ@z> --=-=-= Content-Type: text/plain Hi all, second patch of the series adding support for PACBTI for Cortex-M. See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] This is to add the 'pacbti' instruction. This version is incorporating Nick suggestion to skip the armv8_1-m-pacbti-bad test on PE format targets. The series was tested and does not introduce regressions. Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0001-PATCH-2-10-arm-add-pacbti-instruction-for-Armv8.1-M-.patch >From 936f5b0ed14703ce5ae5cf7959acf85bdc22ed79 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Tue, 18 May 2021 11:28:17 +0200 Subject: [PATCH] PATCH [2/10] arm: add 'pacbti' instruction for Armv8.1-M pacbti extension gas/ 2021-06-11 Andrea Corallo * config/tc-arm.c (enum operand_parse_code): Add OP_SP and OP_R12. (parse_operands): Add switch cases for OP_SP and OP_R12. (T16_32_TAB): Add '_pacbti'. (do_t_pacbti): New function. (insns): Add 'pacbti'. * testsuite/gas/arm/armv8_1-m-pacbti-bad.d: New file. * testsuite/gas/arm/armv8_1-m-pacbti-bad.l: Likewise. * testsuite/gas/arm/armv8_1-m-pacbti-bad.s: Likewise. * testsuite/gas/arm/armv8_1-m-pacbti.d: Add 'pacbti' to testcase. * testsuite/gas/arm/armv8_1-m-pacbti.s: Likewise. opcodes/ 2021-06-11 Andrea Corallo * arm-dis.c (thumb32_opcodes): Add 'pacbti' instruction. --- gas/config/tc-arm.c | 22 ++++++++++++++++++++ gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.d | 5 +++++ gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l | 4 ++++ gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s | 8 +++++++ gas/testsuite/gas/arm/armv8_1-m-pacbti.d | 1 + gas/testsuite/gas/arm/armv8_1-m-pacbti.s | 1 + opcodes/arm-dis.c | 2 ++ 7 files changed, 43 insertions(+) create mode 100644 gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.d create mode 100644 gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l create mode 100644 gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index d7f8fca803b..ed870f01aee 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -7115,6 +7115,8 @@ enum operand_parse_code /* New operands for Armv8.1-M Mainline. */ OP_LR, /* ARM LR register */ + OP_SP, /* ARM SP register */ + OP_R12, OP_RRe, /* ARM register, only even numbered. */ OP_RRo, /* ARM register, only odd numbered, not r13 or r15. */ OP_RRnpcsp_I32, /* ARM register (no BadReg) or literal 1 .. 32 */ @@ -7425,6 +7427,8 @@ parse_operands (char *str, const unsigned int *pattern, bool thumb) case OP_RRo: case OP_LR: case OP_oLR: + case OP_SP: + case OP_R12: case OP_RR: po_reg_or_fail (REG_TYPE_RN); break; case OP_RCP: po_reg_or_fail (REG_TYPE_CP); break; case OP_RCN: po_reg_or_fail (REG_TYPE_CN); break; @@ -8122,6 +8126,16 @@ parse_operands (char *str, const unsigned int *pattern, bool thumb) inst.error = _("operand must be LR register"); break; + case OP_SP: + if (inst.operands[i].reg != REG_SP) + inst.error = _("operand must be SP register"); + break; + + case OP_R12: + if (inst.operands[i].reg != REG_R12) + inst.error = _("operand must be r12"); + break; + case OP_RMQRZ: case OP_oRMQRZ: case OP_RR_ZR: @@ -11491,6 +11505,7 @@ encode_thumb32_addr_mode (int i, bool is_t, bool is_d) X(_negs, 4240, f1d00000), /* rsbs #0 */ \ X(_orr, 4300, ea400000), \ X(_orrs, 4300, ea500000), \ + X(_pacbti, 0000, f3af800d), \ X(_pop, bc00, e8bd0000), /* ldmia sp!,... */ \ X(_push, b400, e92d0000), /* stmdb sp!,... */ \ X(_rev, ba00, fa90f080), \ @@ -22317,6 +22332,12 @@ do_vmmla (void) neon_three_args (1); } +static void +do_t_pacbti (void) +{ + inst.instruction = THUMB_OP32 (inst.instruction); +} + /* Overall per-instruction processing. */ @@ -26306,6 +26327,7 @@ static const struct asm_opcode insns[] = #undef THUMB_VARIANT #define THUMB_VARIANT & arm_ext_v8_1m_main ToU("bti", f3af800f, 0, (), noargs), + toU("pacbti", _pacbti, 3, (R12, LR, SP), t_pacbti), toU("cinc", _cinc, 3, (RRnpcsp, RR_ZR, COND), t_cond), toU("cinv", _cinv, 3, (RRnpcsp, RR_ZR, COND), t_cond), toU("cneg", _cneg, 3, (RRnpcsp, RR_ZR, COND), t_cond), diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.d b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.d new file mode 100644 index 00000000000..77638ee3f62 --- /dev/null +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.d @@ -0,0 +1,5 @@ +#name: Invalid Armv8.1-M pointer authentication and branch target identification extention +#skip: *-*-pe +#source: armv8_1-m-pacbti-bad.s +#as: -march=armv8.1-m.main +#error_output: armv8_1-m-pacbti-bad.l diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l new file mode 100644 index 00000000000..a812603d88d --- /dev/null +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.l @@ -0,0 +1,4 @@ +.*: Assembler messages: +.*:6: Error: operand must be r12 -- `pacbti r11,lr,sp' +.*:7: Error: operand must be LR register -- `pacbti r12,r10,sp' +.*:8: Error: operand must be SP register -- `pacbti r12,lr,r10' diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s new file mode 100644 index 00000000000..64e71e70c11 --- /dev/null +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti-bad.s @@ -0,0 +1,8 @@ + .syntax unified + .text + .thumb +.Lstart: + bti + pacbti r11, lr, sp + pacbti r12, r10, sp + pacbti r12, lr, r10 diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d index 3c693728468..593ac34ed49 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.d +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.d @@ -7,4 +7,5 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f3af 800f bti +0[0-9a-f]+ <[^>]+> f3af 800d pacbti r12, lr, sp #... diff --git a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s index 38929e3dd02..39db4542e39 100644 --- a/gas/testsuite/gas/arm/armv8_1-m-pacbti.s +++ b/gas/testsuite/gas/arm/armv8_1-m-pacbti.s @@ -3,3 +3,4 @@ .thumb .Lstart: bti + pacbti r12, lr, sp diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 1e096997543..34b0ace58bc 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -4656,6 +4656,8 @@ static const struct opcode32 thumb32_opcodes[] = Identification Extension. */ {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), 0xf3af800f, 0xffffffff, "bti"}, + {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_1M_MAIN), + 0xf3af800d, 0xffffffff, "pacbti\tr12, lr, sp"}, /* Armv8.1-M Mainline and Armv8.1-M Mainline Security Extensions instructions. */ -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00064.outbound.protection.outlook.com [40.107.0.64]) by sourceware.org (Postfix) with ESMTPS id B8D77389103C for ; Mon, 26 Jul 2021 12:39:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B8D77389103C Received: from AM6P193CA0069.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::46) by AM0PR08MB4420.eurprd08.prod.outlook.com (2603:10a6:208:142::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.26; Mon, 26 Jul 2021 12:38:59 +0000 Received: from VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8e:cafe::6d) by AM6P193CA0069.outlook.office365.com (2603:10a6:209:8e::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.26 via Frontend Transport; Mon, 26 Jul 2021 12:38:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT041.mail.protection.outlook.com (10.152.19.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Mon, 26 Jul 2021 12:38:58 +0000 Received: ("Tessian outbound 1e4fcc40c873:v100"); Mon, 26 Jul 2021 12:38:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c091f0af1d240c57 X-CR-MTA-TID: 64aa7808 Received: from 4f0d0de2f179.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9222CBA4-49F7-48E9-8B71-600852DD3E95.1; Mon, 26 Jul 2021 12:38:42 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4f0d0de2f179.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 26 Jul 2021 12:38:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QvIvHNkGtSNVkGzQelE+MUe0QwLUMW/eSoPONeCh/CiHM9o8+GqP8JjlX3q3Fhu9M1gW4BEoF4BoQRNFrvzAC+P/j7OY4ObPBVsgBnBhfakMabcL4akmv2VoP3xJi2xpXFXRnPPhdPV0aByPiU3/M9MAKriZZKBHDlgN5LQhXUXfOyfBKpsTscYjeW9YzE9TRF2MkJl8cz3Bh6HWJro6aMSa9mk2JIplDn8oyVtK02pxOHJlS8X7FAPUMJpmdlOe0EJ8UCCKVypeK5VsoaSvYM+swbUwYBdWGG322p/M2nHhhDr57HfBk+196XgsOGuqzRuqE4e+VUsgpVYlL8eWTg== 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-SenderADCheck; bh=MoLd09dWkVavpyGwt9uQE3BKzH9V0rMuLmmoKZPk6mk=; b=hR3g41cayxlLcwMfQI6zKVYeLIGIwImRGnS4ROQ5bZKO9fbBx80iGCKl9sX9xFCmBbt1uJNPUDSmXQo8exmI+hweMqNlSQcVIzf6rWWn1u1juSSEDIzG16W/V8vzfKhA9c+MhsfXsrvDkdbO5DN+O2iKDSETSjze3dOkIP6yUejRm0y4MUmDBoKw4W+EBfe0LKhxrgMKesML2RxdPxFJ1Tv8Z3jSFnPB8bp/gsR11gtiR9pMU1zrY1TD79nsv+5Yy4ZGkAkHyLZpfcrE3ERbNxLJkEWDzVTOnH9dPUseD71ZGVcIu6UKazHHc4nComRzUkLqgvfFXulPVMQ+JSP8cQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7118.eurprd08.prod.outlook.com (2603:10a6:20b:41e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.25; Mon, 26 Jul 2021 12:38:31 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%7]) with mapi id 15.20.4352.031; Mon, 26 Jul 2021 12:38:31 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [2/4] arm: Add Tag_BTI_extension build attribute Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO4P123CA0139.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:193::18) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO4P123CA0139.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:193::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.26 via Frontend Transport; Mon, 26 Jul 2021 12:38:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 536bc6f5-0a6f-446b-d4aa-08d950325719 X-MS-TrafficTypeDiagnostic: AM9PR08MB7118:|AM0PR08MB4420: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:7691;OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: FqdHg+CgyuNdtrRVUlDWiJvL/FHPCb8pLjr0oTqF2SSp7HoRXwwSJILHgaDC9xRiNvaBSxjxRk+EludIszbHtnLbiTn1F8YDzTP8kCuUQXOjcYpJnoLAnlxo96kJf13TaGDwopn99jBqO5+cLo4HhaXTeK2ZQtrl2nRBHdTq6UfLvGDNuuDDlgsfcaFKt3zJaqBGQ1AbLUzQzGICTeWsi3YHtAKATtRKvOjVL/y+Ofa+cAlFZBaOr8W7dwhe9uHKpmbATrlD35rdm9u1Rvw7zI/kKmvZ2UUgKKF7UgD46MDzH4ZUCdMbCQXOLRYqQ33u9KoXjnYZf/mgqIu2cE76aEANgD2OQWjsPNxqth2AgHKp3SikO5jT9dIB5piU7gsLBJfa710nNNwzRX8xBHgl8F2bspIWAVk5WFIISK6/49rrRkrtvTNyUdWmyY27Wp+wlVc5yDcCpJ12ySOxgxqB+tJCgEjgyzIPEhRdtk3jxdFaaVgUTWYxUunPuZgnPm9aGtiCwMnnnxi4B3/5WXGlRggY/5ZMuEw2F1CPM7DWlq+PS2Mm4ip2RyPQajrSlASfrC6z6esUlBrgQlfqWh2y1JJO9xoO/VTM9vgnE8Fxb6MeHjAHUnmTLXclK2YFya9JetiGrfbek9GBZ2cNAdfe9ViWq4qhESMInrXYUafzIhnxcDglLWh+8y2UV3ZFjzQ4e+8LXOKTlty9Biu/IPJui3iUQF2wjYNiwPSi6EsB74d2BtvTnqMPLAf61Zd2ZULterk5O93Ld9a0k8aCGuQNc/82/rI7bWjC6LYtl2y4Dz9R2187bT2TvsJp9OS6TxJk4FWkyHlg05swBjOu8rSRUQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(376002)(396003)(39850400004)(346002)(316002)(2616005)(5660300002)(33964004)(36756003)(44832011)(52116002)(235185007)(6496006)(478600001)(956004)(86362001)(26005)(8936002)(2906002)(8676002)(6916009)(66946007)(6486002)(66616009)(66556008)(66476007)(4326008)(6666004)(38100700002)(38350700002)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LMchd4TIPojXMFe9oTLaFgt6086rzfxuH2lbJ0j40IPiSa37Jt1K4VjXbQkM?= =?us-ascii?Q?vApdeXhpgG0liGZ1jlgs0SbxcsUFurACHfmC797YPPDndKtAsOviLjkI0lvj?= =?us-ascii?Q?4Sw/qu2D0ZwbgiXfsAEa37CIXSjKwmNolc8/Jq8+uc7t5tzmPlXvs7i1uK2D?= =?us-ascii?Q?GqvjebdY4H3QEwOFlfI54ZuD5JVFLXp/DPXAhyYkfRbkPjg45AaaOXoGsGbJ?= =?us-ascii?Q?45JiDChjTX+9IvQg8jey5KGcMbjPckrrcXcTpRJSzFOg00Xtcer6P/VRz4eX?= =?us-ascii?Q?8FXDs0inrXb6r565GZdlWu/JuqVj7WyOADFa/UnC8ZzaEAnNza1pNVzXFSis?= =?us-ascii?Q?4ZXibgJUf2tpNZwWseXohL3bNGk0UmeWkeNjDOVrEXvPXpMhLrDeVGhLysWi?= =?us-ascii?Q?B6fBPs2F0SRWFUjcDjMDLrSy0xNA1RsXuU7xSP1U1NQFHV4l6ChoCRy0/k3e?= =?us-ascii?Q?/dZX1IzRTnxbdrkq1xhOsaGrGG6DHNqMe3tX+DFvJYzsYQSmaTvDvfSIhoYm?= =?us-ascii?Q?WsPPjb8m8wCPd0i2wMXGGNiwD0weVYcdDxltgO31bySejySq3E2DmUS480qE?= =?us-ascii?Q?dGuxNdu4aNx39nmM7Gb0GdnuV+P2xFf354GWSRRVmwTCSbAvj5NRxXZBuqWy?= =?us-ascii?Q?nHQs4rONMXbP2xws32ptwrIbwjfXMiQUsS3M1g0WWuISNh5i7d4nteRXgDQr?= =?us-ascii?Q?ifrw56pw0gRjfOgbUnoUM4sIpvYvuWF/YI/jEldodGIBD610ARRdIwehWqCP?= =?us-ascii?Q?qIKYKAayd1RbgA8wNSTxLeag9MoI6iTQz2GJVUlrVVEIT7OrHrDJOIQ/aB4K?= =?us-ascii?Q?I5N9YMvmUyLmmvY8sykgs1qzt5qNAQNR4u690PTlWUxDqhuSvum2TUCnrHAx?= =?us-ascii?Q?ulPn1XuQX595ptzO3QAp5wEAng5ol9hnSY20LPKFz5ihEQqSom6zmVR7/JOy?= =?us-ascii?Q?3ym2Zr/xGGshDbxwnhWLlWB+Kd/aF5P5wmDYj0y/TjJbzTE+EAHfCpeQ6DdZ?= =?us-ascii?Q?XWlbh7mZFlrJH5VvjJ8XAugo/rz3ryREemNMFIGDY2cqPlbL02DoxrxHmaMr?= =?us-ascii?Q?IGcx0WUeOYjGHOwAvIhhqDBQ8qmXbveogJUsne68PvAaTuw7cYF0V80KaVrv?= =?us-ascii?Q?B+BrxG78AjEeTFENmVc+v0tNVKJ4eYp6W35Iqkb6M92BjiLOrCIr7jUn/zsZ?= =?us-ascii?Q?bBNKdMsu9tRambBWvmPzncrTy2hGOReu0vDlhqmWW0W8CZ20qv7KTTQlTsyh?= =?us-ascii?Q?brbdhQZ4UztBSVMfF5fSuphymTqwPoOExLmEN5ramdb6SxNB5uuX0o5dzUbG?= =?us-ascii?Q?ocnb1MlcmryTY1lcQlTwgKWU?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7118 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 4a2a7942-20d4-46cd-44a1-08d950324656 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TVBPW2by7IuBr1nuFGsISBElkZks9qqtbV14IilRkB/F2Jb4zCAPkVXI6x09JjY2dJluhgJ+quYQYKBryheKtlg12CIuG6ruXSMX38bGtG8RMkc4iI6O7hiWuatpqib70KTuI+PuDjc39uyvIBFh2GUP82F/Vu9R1euJgtgF2345fEkoZJWvghHSm01MrcOgrTZdU7wqI0ODXjiolanu0wDQemvPRlaJa9DxThUhIpekkFtE4Om6IlUtqUWYhkQW94CIQzyTwbB1XIXGo3Czpfshlhzt/aMa1JgQw78MGQMrych5xzpCrUQT0jV4C+tn3ybc/sDKfUyKmCWeVnyV65D+KLQji+9lwMB6NJOjmXdu1XMFdrwuF8e+8rfJcXhmAwDj8cK9e+NO4xYPbfcW/UYMnDtzQVUq1XIp8vtWDiq3wuCfnbXAIWPmRTBprs0vSVZ0lynnkhkh5uL4RUBECmTkcYCn4dDnzY2EWKo9dBYXK5g7Yp0o8pvkEFyWjnZZmHLR3B10+s8cKBgOoHfG8eJGgoVxBU1Fk8P00sWPrAZEWrDU50MRhNdxZSKCBjaHU6iLZFzDo6wuEFu0mccCHKxJBIh23pS2Q0Rcwvu/z8nD7vhOOju8N5gSZI/ugCuWIuqNrq91Z0C+0KDWndYx6lASxmULB9ssk7FiV82zUUGYAuHlWZEuLHXWotlyiMlmDlpC02vr6RwftPwmqe4mAwZUX1VdHKNG/gDDom2xCbO7f9NEznRezUN2C5t+oUBv11I1RHjwQQPEsgoxYD8G/1XiOWnuLpNBPXRsbzVJci5VGVqoftkWgqvHQr2ctEzvC2Em9r0uSGgLW91B1XXikA== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(346002)(396003)(376002)(39850400004)(136003)(36840700001)(46966006)(336012)(478600001)(2906002)(2616005)(81166007)(82740400003)(47076005)(26005)(8936002)(235185007)(186003)(36860700001)(956004)(44832011)(6916009)(82310400003)(6666004)(86362001)(4326008)(5660300002)(66616009)(6486002)(6496006)(8676002)(70206006)(70586007)(33964004)(316002)(356005)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2021 12:38:58.8403 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 536bc6f5-0a6f-446b-d4aa-08d950325719 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4420 X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, DATE_IN_PAST_96_XX, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jul 2021 12:39:02 -0000 Message-ID: <20210720153852.zte00W9rmp34ONhlo5wOoC3Vf3gqe6gOXt3fKMzLi0g@z> --=-=-= Content-Type: text/plain Hi all, second patch of the series adding 'Tag_BTI_extension' build attribute support. Here follows its semantic: 0 The user did not permit this entity to use BTI instructions 1 The user permitted this entity to use BTI instructions in the NOP space 2 The user permitted this entity to use BTI instructions in the NOP and in the non-NOP space See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] Regtested clean on current master. Best Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0002-PATCH-2-4-arm-Add-Tag_BTI_extension-build-attribute.patch >From a9888c54abba17d87a64a3be509d12b848c2378a Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Mon, 5 Jul 2021 16:37:19 +0200 Subject: [PATCH 2/4] PATCH [2/4] arm: Add Tag_BTI_extension build attribute bfd/ 2021-07-06 Andrea Corallo * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add 'Tag_BTI_extension' case. binutils/ 2021-07-06 Andrea Corallo * readelf.c (arm_attr_tag_PAC_extension): Declare. (arm_attr_public_tags): Add 'PAC_extension' lookup. elfcpp/ 2021-07-06 Andrea Corallo * arm.h: Define 'Tag_BTI_extension' enum. gas/ 2021-07-06 Andrea Corallo * config/tc-arm.c (arm_convert_symbolic_attribute): Add 'Tag_BTI_extension' to the attribute_table. include/ 2021-07-06 Andrea Corallo * elf/arm.h (elf_arm_reloc_type): Add 'Tag_BTI_extension'. --- bfd/elf32-arm.c | 1 + binutils/readelf.c | 6 ++++++ elfcpp/arm.h | 1 + gas/config/tc-arm.c | 1 + include/elf/arm.h | 1 + 5 files changed, 10 insertions(+) diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index bb4ba89357e..73061047e29 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -14613,6 +14613,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, struct bfd_link_info *info) case Tag_MPextension_use: case Tag_MVE_arch: case Tag_PAC_extension: + case Tag_BTI_extension: /* Use the largest value specified. */ if (in_attr[i].i > out_attr[i].i) out_attr[i].i = in_attr[i].i; diff --git a/binutils/readelf.c b/binutils/readelf.c index cccc17afc3f..9091a44eac4 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -16144,6 +16144,11 @@ static const char * arm_attr_tag_PAC_extension[] = "PAC/AUT instructions permitted in the NOP space", "PAC/AUT instructions permitted in the NOP and in the non-NOP space"}; +static const char * arm_attr_tag_BTI_extension[] = + {"BTI instructions not permitted", + "BTI instructions permitted in the NOP space", + "BTI instructions permitted in the NOP and in the non-NOP space"}; + #define LOOKUP(id, name) \ {id, #name, 0x80 | ARRAY_SIZE(arm_attr_tag_##name), arm_attr_tag_##name} static arm_attr_public_tag arm_attr_public_tags[] = @@ -16185,6 +16190,7 @@ static arm_attr_public_tag arm_attr_public_tags[] = LOOKUP(46, DSP_extension), LOOKUP(48, MVE_arch), LOOKUP(50, PAC_extension), + LOOKUP(52, BTI_extension), {64, "nodefaults", 0, NULL}, {65, "also_compatible_with", 0, NULL}, LOOKUP(66, T2EE_use), diff --git a/elfcpp/arm.h b/elfcpp/arm.h index ce682a5bdc6..42144ce13be 100644 --- a/elfcpp/arm.h +++ b/elfcpp/arm.h @@ -307,6 +307,7 @@ enum Tag_DIV_use = 44, Tag_MVE_arch = 48, Tag_PAC_extension = 50, + Tag_BTI_extension = 52, Tag_nodefaults = 64, Tag_also_compatible_with = 65, Tag_T2EE_use = 66, diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 9213134eb55..0ad1219ba9c 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -33560,6 +33560,7 @@ arm_convert_symbolic_attribute (const char *name) T (Tag_DSP_extension), T (Tag_MVE_arch), T (Tag_PAC_extension), + T (Tag_BTI_extension), /* We deliberately do not include Tag_MPextension_use_legacy. */ #undef T }; diff --git a/include/elf/arm.h b/include/elf/arm.h index 27b676860dd..eb2ae9f4301 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -328,6 +328,7 @@ enum Tag_DSP_extension = 46, Tag_MVE_arch = 48, Tag_PAC_extension = 50, + Tag_BTI_extension = 52, Tag_nodefaults = 64, Tag_also_compatible_with, Tag_T2EE_use, -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50076.outbound.protection.outlook.com [40.107.5.76]) by sourceware.org (Postfix) with ESMTPS id 769323896811 for ; Mon, 26 Jul 2021 12:39:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 769323896811 Received: from AS8PR04CA0122.eurprd04.prod.outlook.com (2603:10a6:20b:127::7) by AM8PR08MB6370.eurprd08.prod.outlook.com (2603:10a6:20b:361::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.26; Mon, 26 Jul 2021 12:39:37 +0000 Received: from AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:127:cafe::b) by AS8PR04CA0122.outlook.office365.com (2603:10a6:20b:127::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Mon, 26 Jul 2021 12:39:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT042.mail.protection.outlook.com (10.152.17.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Mon, 26 Jul 2021 12:39:36 +0000 Received: ("Tessian outbound 1e4fcc40c873:v100"); Mon, 26 Jul 2021 12:39:35 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c091f0af1d240c57 X-CR-MTA-TID: 64aa7808 Received: from bce65ef93886.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6CC5DE5C-4B49-4078-A898-091438A62796.1; Mon, 26 Jul 2021 12:39:34 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bce65ef93886.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 26 Jul 2021 12:39:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EYUZMXIXpNGYSeQVjmakfwaBbXuM6qnR9yiM5Ga6knneCg9vyLHzr/kmPWIudzk+AgRrPK8tNqdIWsu4WI6dRJI9Ac0/fO0QEklot8orQf8m0RyXKl3CIACPOJVgSmJJnfe5PIl+Ba4wS9dzsTLKJx7gEWNS/9/cU25dkCdRmyzMtt8SMcZzyI8ml/TWXsldyzdB9xw053PnDRzwZakb5UlppBmKv82QHrrZCz+AWIp9aqZjAxnW3+6zWm2c/Wdej+H/gzcOKdo6huRVxSpws1U2eRpoumNZa+hF8eH4zDWVwnMMlxFEsrAg7TVUqiBnNEwHsVbnJNwJ2UtxNd4gLQ== 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-SenderADCheck; bh=Z73oj/n/OmWN/mjOyymrkKx1bltp6ChuwRfg3ZbYIdc=; b=TIy+cmJuVHc0KH15/jXgZEL0MIzJLz0x7ZyMgEIOptZz1FrtkD+9+70azaxG9NieKIz9p3UelptDGTEunDTFrG0xdDoZlERHoltMjoNCOVDCiF2i6z+zE+l9BDCPB1fkcRz9SOHOSjofXPNEm7PmRxncqRXZaXDzM11ssa3ykQdWxqVBNfKcMfzdCvekyzpVxecA4cfWxQm++7eoVS10XSNaEUjpt/cqLWWRHrPBHplH5YZ4r8Ae7316cYxH5bj9Tp2mAUXeFv9h0/pLath3SnyEcXrXZljKGSNdLVMTZCOY41K8PtcmjQ0C/feLgF3sMYmrR3x6jAs7qNCR/zCbTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7104.eurprd08.prod.outlook.com (2603:10a6:20b:41e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.25; Mon, 26 Jul 2021 12:39:33 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%7]) with mapi id 15.20.4352.031; Mon, 26 Jul 2021 12:39:33 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [3/4] arm: Add Tag_BTI_use build attribute Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO2P123CA0037.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600::25) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO2P123CA0037.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.25 via Frontend Transport; Mon, 26 Jul 2021 12:39:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8f9e6440-17ed-404b-20fd-08d950326dba X-MS-TrafficTypeDiagnostic: AM9PR08MB7104:|AM8PR08MB6370: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: XPjvgIeuOzoW149lv/SZ54ijwr8YqZC+m1HVULOhgXdli+YcBCOcXkCZsGONjI8StBaczx1Fw/f5qrK9pVNGFdFNgt62hp+6io0tgSU5K+8/bWtmkU5sKHbl+TUZ6QrC8xiQr+Dlf4DH7xhV4chDt5g9UZ4qo9uZorAJekP7mMmo7OhO7iMe9OeWiQT3BU5u8OSUYBQ1rtpc/MTM9uVa/p7pO117RAfMY5CYrvOICJxLshlBtCDTWONURMYAU4wnYKtMWcJCA6IibKWZoTv2vg1Yfv2adzbO0cIXQLlFN52gO6pgJZLoGWAE2mVE4md12hIc2gg6Buy08Cv9pr8IpSTQ1I3HZK81A2SOpJvM0oJqj9YC+MpwJ5jrH9UibU3dVYff0hK8c6jVunb9PMzgCYOy4hEARS7GjnPAaCAoC1YvbcCloJ3ncANoxm/gREVgj5WscqvhmZfmota/byBvxRpfXstpOzdO7FPC+rv5t9FuBsVP8LFBMZ+RfF7sW36/z8+vk6M03jGVOR9Qffu+lANVa6p7ozGKESPrIz62k43jCcey6nTkVT8ekcr7ZDHA4c2ln0z9QXz9tE0q7MYBwS9QzVXb+AePpJ0TC/rb2YVUMHIe5xog4kfuyBHq1krfo2BCO2UwWEmVcwSquvmbVBOGySmONGck+abGiGCedYIp7HgDsUQ95S06ZCMaORd/AAPLeAnGYNIlIJyewCiLQnnjhXfKk1ejDAS3M7iOQe4iKjtakE6hif712/aKiwYIRitA3Gdk5frOgdEkq48XW1QKbf4oQxpoKUngJ/ucDxKpJxLE9Y5p0uF64JHbNiPxB6qLec8KfZLcbT5C0f/I9Q== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(44832011)(38100700002)(8936002)(6486002)(6916009)(235185007)(5660300002)(956004)(6496006)(38350700002)(33964004)(2616005)(316002)(66476007)(66616009)(66556008)(66946007)(86362001)(186003)(26005)(508600001)(36756003)(52116002)(4326008)(8676002)(2906002)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kcY92Ys+I0VXu1mnQAgnAcUuHGhJz/4YweNNngCJSf4e08DpVfewczAzqFIL?= =?us-ascii?Q?lEjpjuTI/j0XkdFOthU2p3FWsgTZu/BUDysJ8VIVZCR4F+rj06z2ZPKhKEuJ?= =?us-ascii?Q?X7I970rh0siA1+VEiI+qx5bkEsV5JxKaSLJNH1eKL5ZrdDG3nlUfM9DdNBls?= =?us-ascii?Q?KAfw8BXOBKoFcyyZ8B67ir1zoa+0M9FIAuvAncs1M1qGYnJ0+0iWl/qqECWU?= =?us-ascii?Q?JQGOvIMAOSGNgJuiFAPYvaACsEmT6C8sjWgygDrh3L3Q6/SFl7r0L8O76e2n?= =?us-ascii?Q?iUIzPSi2znyJeaQRNYmIjZQYxNhZgySur8qD0f/RK2mm4FfCcPI0dGQbc7e2?= =?us-ascii?Q?SGxQ4ovzsjUWWe3/GuNqAwAA22MNTfRrJaSR2VKRGHTQS/3qT8B6aRP0m67X?= =?us-ascii?Q?9fKHdCk6GTR6BSofSsMWxAapR6m83EWSb0j38Cr/xC0d6oJH1IMOsK9bpwcf?= =?us-ascii?Q?1hmsh6MsUrCG6Ur1W0wLHFXZJEw7Qg7RdgdvLZ5yRBeEELW/Vq44SE3gv+mS?= =?us-ascii?Q?VdHfwBNlfqkDLQILFkY7Mih2sYMzfamyF3992AOjpW8edkByb2MufIRqWPkE?= =?us-ascii?Q?7c156G7yBxm6yWpUNplUhnBomrRpUEn13HbruNfBpZ06qnrm9Xmk2YRWK5h4?= =?us-ascii?Q?901QxODqMMBBUMZ7MsDLXtau5o8zHCZRcHBIjSJ6v2zS4B7Ah+wCsMLYZ+Oh?= =?us-ascii?Q?WDYmEIMgvpx/fIM1a9UCk5/cyCCTbTXL/qG60UExCd8GtrAf29nAY8FndSAf?= =?us-ascii?Q?VdRk6R8Oq2O5YeLWXRG7uLlt4CeM49use/U4g4CcCWfnrs/tfzl8RNgwmM1e?= =?us-ascii?Q?Y4jcMXf4FLw+J2AJGjKQIwcrSszcKXBRzoX+x8D4NMcwtJ6oX6UHLd9x5XXH?= =?us-ascii?Q?6Go5T69U3vh4vmVra8yeN+KvhyLd02ZEWH0WRf5iypaTE7BAfQknLfnAYHJn?= =?us-ascii?Q?cnzwfz07CXvcKTU4yvtXuXCdVBZIn4DZTy0wWRnWoUf8UCZ9kfQMF+3n5s+0?= =?us-ascii?Q?mNlfOceY7lp8xyb35YrkNaS4X0spUBAVoct8VUBYNmGZYoFzjBlaFJ35n9Et?= =?us-ascii?Q?MK9nuHtCkj3wgBfiYRKjPQFGEGp9mmPACtWn1wUIJ1ZpwRNuyBmUdDkfRq/Y?= =?us-ascii?Q?oVkSwHvEj2VpzZE6T7nkZtVQbXxsGoNMOu5b96cAS81BG3to81S0bLiQ0raF?= =?us-ascii?Q?/iof4H5niXZ5BsXCyfNvi8JqzCBXABoaMQiS8kurbqQ342Y+95XV9E1C07BE?= =?us-ascii?Q?IjNvigIe7Ox7nmVZ60l7PVyy2L1X7xrIS4B3Q6XEu9vhnRsQNq4Qs55Rro5G?= =?us-ascii?Q?nODLs8tv6BDLW4zZJEsVDlqu?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7104 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 92972eb4-b167-4558-93f7-08d950326b85 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: v+87gaCRhx3BzO8xkTwMDlTrfSQYv1ix0pM4HUVimNqWKF+KvJfrqNThVBzoQE1goH+cFtZgRilWVcAyDcO7Ars+tZMO0Cb4OhT7b9/esF/MSYA40NTvAsnDBeBjJsq3xBIa1UBvUaNsHOxD52sxwk8mlH+Qz/Sbq6zSYDaEm0Oh4CARpjwL2WTiNVSiDJF2UpING1s4SjszdYiZUUeNc4Po2mfhioTb0vN/GAUdTO2vHV76dVnS3vFTvrSgmH24gIsN7Ec0XW20grXGGQmu+KFn7cGB+eC4/cVbxv8gYoHtqzfAMP0kuJr1OODTymHAov60CT6yRFWnUooG5fOuT4tIcSiAGHqsnPxrN7mxaxXCEzTzkUduaY40UCpkZwc5j2sTHfUS13bCfc7n4Kb/DwUs2C/pbRrkhwTUmnsRi1uAmPDN0uiJPxh9KxX/Djx/43kPiUuU2UTO6lUdnIWqUE8fJNH+HTW/Bat+HFCPWPVsbRcPNYts+dFlCkqFfP3YpZ2NArFlnnVhkcVfkgWR9gzUzJh1ILF/nbEmTej6vvOdKKRtBQnUtcd0ygqXkHf6mpptxOHao6nBwMMCcW8aTKfq5ZKfFL1wyqeBp17X4ugZ5cdjO2wJDPTHF6jWoLj8tt2blQ4KFs3o46wS7HH3r9uQIXo2OeMOrn9CiOTmMolzJVIPWo5VxCZR1bW1uFhy2S1Mj4O6nn+2Jo35tEAyIGsJDGJRsX9SkM3u03Wkf9EyihwnnywBFZnpDmhL7VtQiw9A01NDjV5YdaZMx0ZEf/voYBOoXpSYmczluN+J4/7WVZiWoh2wJXcSEhWeqwodtwtbi2EZIoMVkHs0lB2kUA== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(376002)(346002)(396003)(39860400002)(36840700001)(46966006)(336012)(478600001)(2906002)(2616005)(82740400003)(8936002)(81166007)(26005)(47076005)(235185007)(186003)(956004)(36860700001)(82310400003)(44832011)(86362001)(6666004)(6916009)(4326008)(5660300002)(66616009)(6486002)(6496006)(8676002)(70206006)(316002)(33964004)(70586007)(356005)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2021 12:39:36.8577 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8f9e6440-17ed-404b-20fd-08d950326dba X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6370 X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, DATE_IN_PAST_96_XX, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jul 2021 12:39:42 -0000 Message-ID: <20210720153852.1DLOVmXbm5KqMUC1jR1vdxhQv9IdBiL5nbe4qwQpKLc@z> --=-=-= Content-Type: text/plain Hi all, third patch of the series adding 'Tag_BTI_use' build attribute support. Here follows its semantic: 0 This code is compiled without branch target enforcement 1 This code is compiled with branch target enforcement See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] Regtested clean on current master. Best Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0003-PATCH-3-4-arm-Add-Tag_BTI_use-build-attribute.patch >From 853ada30059936dd1b1541edc939b895c351de49 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Mon, 5 Jul 2021 17:14:47 +0200 Subject: [PATCH 3/4] PATCH [3/4] arm: Add Tag_BTI_use build attribute bfd/ 2021-07-06 Andrea Corallo * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add 'Tag_BTI_use' case. binutils/ 2021-07-06 Andrea Corallo * readelf.c (arm_attr_tag_PAC_extension): Declare. (arm_attr_public_tags): Add 'PAC_extension' lookup. elfcpp/ 2021-07-06 Andrea Corallo * arm.h: Define 'Tag_BTI_use' enum. gas/ 2021-07-06 Andrea Corallo * config/tc-arm.c (arm_convert_symbolic_attribute): Add 'Tag_BTI_use' to the attribute_table. include/ 2021-07-06 Andrea Corallo * elf/arm.h (elf_arm_reloc_type): Add 'Tag_BTI_use'. --- bfd/elf32-arm.c | 1 + binutils/readelf.c | 5 +++++ elfcpp/arm.h | 1 + gas/config/tc-arm.c | 1 + include/elf/arm.h | 1 + 5 files changed, 9 insertions(+) diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 73061047e29..98f92401942 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -14614,6 +14614,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, struct bfd_link_info *info) case Tag_MVE_arch: case Tag_PAC_extension: case Tag_BTI_extension: + case Tag_BTI_use: /* Use the largest value specified. */ if (in_attr[i].i > out_attr[i].i) out_attr[i].i = in_attr[i].i; diff --git a/binutils/readelf.c b/binutils/readelf.c index 9091a44eac4..993f3160ab6 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -16149,6 +16149,10 @@ static const char * arm_attr_tag_BTI_extension[] = "BTI instructions permitted in the NOP space", "BTI instructions permitted in the NOP and in the non-NOP space"}; +static const char * arm_attr_tag_BTI_use[] = + {"Compiled without branch target enforcement", + "Compiled with branch target enforcement"}; + #define LOOKUP(id, name) \ {id, #name, 0x80 | ARRAY_SIZE(arm_attr_tag_##name), arm_attr_tag_##name} static arm_attr_public_tag arm_attr_public_tags[] = @@ -16191,6 +16195,7 @@ static arm_attr_public_tag arm_attr_public_tags[] = LOOKUP(48, MVE_arch), LOOKUP(50, PAC_extension), LOOKUP(52, BTI_extension), + LOOKUP(74, BTI_use), {64, "nodefaults", 0, NULL}, {65, "also_compatible_with", 0, NULL}, LOOKUP(66, T2EE_use), diff --git a/elfcpp/arm.h b/elfcpp/arm.h index 42144ce13be..12ba3fa7a1e 100644 --- a/elfcpp/arm.h +++ b/elfcpp/arm.h @@ -308,6 +308,7 @@ enum Tag_MVE_arch = 48, Tag_PAC_extension = 50, Tag_BTI_extension = 52, + Tag_BTI_use = 74, Tag_nodefaults = 64, Tag_also_compatible_with = 65, Tag_T2EE_use = 66, diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 0ad1219ba9c..6248adccf2d 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -33561,6 +33561,7 @@ arm_convert_symbolic_attribute (const char *name) T (Tag_MVE_arch), T (Tag_PAC_extension), T (Tag_BTI_extension), + T (Tag_BTI_use), /* We deliberately do not include Tag_MPextension_use_legacy. */ #undef T }; diff --git a/include/elf/arm.h b/include/elf/arm.h index eb2ae9f4301..0f6e734e6d0 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -329,6 +329,7 @@ enum Tag_MVE_arch = 48, Tag_PAC_extension = 50, Tag_BTI_extension = 52, + Tag_BTI_use = 74, Tag_nodefaults = 64, Tag_also_compatible_with, Tag_T2EE_use, -- 2.20.1 --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80045.outbound.protection.outlook.com [40.107.8.45]) by sourceware.org (Postfix) with ESMTPS id 493CE3893C6D for ; Mon, 26 Jul 2021 12:40:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 493CE3893C6D Received: from AM6P195CA0075.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::16) by AM6PR08MB4326.eurprd08.prod.outlook.com (2603:10a6:20b:b9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.29; Mon, 26 Jul 2021 12:40:50 +0000 Received: from VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:86:cafe::e1) by AM6P195CA0075.outlook.office365.com (2603:10a6:209:86::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Mon, 26 Jul 2021 12:40:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT037.mail.protection.outlook.com (10.152.19.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Mon, 26 Jul 2021 12:40:50 +0000 Received: ("Tessian outbound 1e4fcc40c873:v100"); Mon, 26 Jul 2021 12:40:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c091f0af1d240c57 X-CR-MTA-TID: 64aa7808 Received: from 1be797081b18.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F1972741-B9C6-475E-A81D-0F4C7E1C87FE.1; Mon, 26 Jul 2021 12:40:48 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1be797081b18.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 26 Jul 2021 12:40:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T/wRhInHLXMSost6CdUqwIuyhicQ6FscpivmaUcRY8oLlsrag4XFKCjnbLqX1dxi9epvpnLRtd/EumLB0n4fnfrg/bqULC+bgGt0DlfNomToYH9oog1VtYROjTROr3IjfaCKNmkeMTBbMC1iYaC1r9eK+TA86hmJaB9qI9UVeFDN6fbq7RGFsNKYO3lbiV670A9d6W5qcZMKr58/4AwTMw9DRwJkrgcmExbLf2Qt5mtS0L3AnhxK4omVsVnbL/TlPC6O+2D2XHM8ukrAFX+lbzN/lVgh7Lu12rNep6pThfG/kpUZmYuIZX1Lr91rl+b0s9QBksg4eKTsJqf6aTyWpg== 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-SenderADCheck; bh=h+pVLE2m8lRjE4UL234qABAaN/wJC7OGlCg8oBbJCGw=; b=LKQ55+JJsFcvJWd/mdTU1y3tI+jY9Og6M0WYmN6tkbk8l8c8x3at+NDRbUyfX4o194Reg7uaje2PElbgTOeZ7k+38cgHxRtEWH9DY8Ja6rMvpQkvj9ebDsMmvYE1QImnpm7DiHbZ4D+17ejNAhIYB0o67Ty7SCGEUiwuNcGHDVNkhPc7QljvsHni6EhvVqYWM+RlxEJtQ7eK0IGDHh18jvFywWOiXKbdig9309p/7RTL7ETACWsgU0xBDydelP/lZHlSIQ3m7GQBCGUUJJ2DNw4ju+FdeXn7+W1HYJ4H+VU/mqn74baxhTY3e38mPA2V225JyN7aqkId1JIwryCWRQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) by AM9PR08MB7119.eurprd08.prod.outlook.com (2603:10a6:20b:41f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24; Mon, 26 Jul 2021 12:40:47 +0000 Received: from AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a]) by AM9PR08MB7226.eurprd08.prod.outlook.com ([fe80::214d:9f28:63a7:8e1a%7]) with mapi id 15.20.4352.031; Mon, 26 Jul 2021 12:40:47 +0000 From: Andrea Corallo To: Binutils Cc: "richard.earnshaw@arm.com" Subject: PATCH [4/4] arm: Add Tag_PACRET_use build attribute Date: Tue, 20 Jul 2021 17:38:52 +0200 Message-ID: Content-Type: multipart/mixed; boundary="=-=-=" X-ClientProxiedBy: LO2P265CA0103.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::19) To AM9PR08MB7226.eurprd08.prod.outlook.com (2603:10a6:20b:411::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO2P265CA0103.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.25 via Frontend Transport; Mon, 26 Jul 2021 12:40:47 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 29489087-70fc-4c57-e7ed-08d95032996f X-MS-TrafficTypeDiagnostic: AM9PR08MB7119:|AM6PR08MB4326: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: lXR4RtpZMZSuqdXXL1//+mO+9Un6OnBC8y1SC1eu0FRqpnMMbtaSkhaxp+YZB3EwOtQ8oDUC1EAynXs13SC0Qkyoprfsi8jZf7QoF9ZnEx5CQeTnYOaMYP1E857VxPck7lBp1yOkTsBAthspu0BunHuSnjNrJU6l3p1RBhJNSDWLONb7ht4SnYEwIvYLO6wsmZVT5N80pVqHGLESwXIR2LwA6txELyuOcqVpWRCJUYEelPtp5yaonuNQM8vM1YS595Tc+QYk/YHSMcRFTYfmyVlXNxsSbfR8qjeMWe2+UcoGJpcScK5ERQq7f1hfMbKTf2TmmpV24MLX2y3neK2cFjuoa8Au5gQzogAcwodPJLB3vhZIlvmSvPdawas3qqXtKUabG1LhPt04r6czPcQEaJNvD3GR7BEHzmh9xy5/jmuGAeygz953m+hped+gs0EsxImM0I+RCl7NQjaK5xyFCA+3EDshndpE1NxNNv1ERwZwKk4KqniWoyOXvqOS2sTPzQii4MAHMplNnCN2bGULUq7RGN1iT9P9ijeWA6UEW/lXvsTTeDKvd4vAvwbBaC4JeFyyXdMcJpd9d4DaRehSSdoAkJJMqqN4BvTtTaEb6ibHWhKQ5M/5Ne7q2ypuqrkJkLPQHxSuMvM8KtyKN+Ja7uhAFuxoV+vnpKLz637OVgsODc+f7jC2u70MdAJA4PxfKqnCtOuEFjm3K2DYu05G3Vq18Ayu8FSjuKIGuPf3uWFFsxZt+7cLnvdFBKyKUivszrSC6sL31hodCZipRa6UTnzfIdLGa5EALKbLEm7luJBrs0N+RYIC6J/ccMmmxx1V60UVP960Ffcy5tnWHYdapw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB7226.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(39860400002)(366004)(376002)(136003)(396003)(956004)(2906002)(8676002)(6666004)(478600001)(66556008)(2616005)(5660300002)(44832011)(235185007)(33964004)(83380400001)(38100700002)(66616009)(66476007)(6486002)(4326008)(6496006)(186003)(52116002)(6916009)(36756003)(26005)(38350700002)(66946007)(316002)(8936002)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?S7MDa1I3OF/AmziR8d6WiuGZS2TcKbdlVYMEdOqGyYq179jzGlHBkFjcFWWd?= =?us-ascii?Q?RFx8bqrDG80WhzqxaRXW9A1mSmSg5JA5F06HT4Sl9vFLCqnVZBKopt8SCNWk?= =?us-ascii?Q?E2dC3AP/ebMrPBDsccawbrLEeH/8s+ZoKggY6UuGrZoeX6MrBmN/qQOUMBKX?= =?us-ascii?Q?sF9XZDwSGJrANV2HlSazOQTR2vZ9qAg4q69x9GYUsWIlUf8UR7yyEy49DvQc?= =?us-ascii?Q?lOAkgHpn7PNw1lTEBZniaNqquT6xKgMGNKoXagU0jDaRz1QC6OWSXKgcQ/9s?= =?us-ascii?Q?QdrB/UGAlzqadA7BjIwDR2EIHAkwtwBcHHk4182AoFCLsJGHfvmuxaYeWV6M?= =?us-ascii?Q?DmTwUbSJjnnsb+XNaxRWxr4KOylDKqpuejgrzuDFnFxaKMsuRBvpyDGz/nTx?= =?us-ascii?Q?QvYRmZsea6MiS4rrcVeZyzBuTTnYk0BRxcIOaQq9WfVEn8bGzyyTNrM6W8oe?= =?us-ascii?Q?5TRUSLxWm1yBqXspp16Q5+1n/8AGVW2TNNXQXrGYfUKSqxYUZo4wh093kG2t?= =?us-ascii?Q?7jTP/S01U7U73CwbUQka9wpLIzG1wcNwj1hUVbx/t6UX/s8Yud19C1uPzcch?= =?us-ascii?Q?oxwrJJ7oeqg0q/JhX87CRsx0BZEDcDx2MiU9DQEDFjRoghj4rLrKDAD6NWnH?= =?us-ascii?Q?DRfJY0IS6iCira0Fc9q0dAxGdI8ibY7arK2GEHdl4iU/hXbVVwcOGaVahedz?= =?us-ascii?Q?SB3Io935o8hmTr4LY4lNRJkCT4wSJDrYK1jK/LG9zDMncnDHffAkUu+fTuxy?= =?us-ascii?Q?R1zjjkk7f41mCTeSo+LZgLqX+3OfHyRWVQFFNBw9aixQMdUD8U8A6B1t7uRK?= =?us-ascii?Q?vWHxZFIn6pkMPOW0yX6muZCt+aiff9cHzBpVO1pdtii1zvEEH4ACr08zC4PE?= =?us-ascii?Q?aJy3+06SiwI2dMpnri7YX9YMSeKP3iP62X4BGMF7Lbxoxq4CHbQeFbDNBR8t?= =?us-ascii?Q?2vSIF4ZnOnCvt7FuEQluPinVEdXeoepsgl/n9vTI492Mxz+4d8wwj6cYJhvX?= =?us-ascii?Q?kfaU1p8Ho9F4b1VYUqSVQO6laebj5bh7chaupgACxkqFB7vJHWzI+eS3XRI0?= =?us-ascii?Q?U5+d47lPBiN5qgvy276fiw9u6NPgBfYxlexaP/l4d3lLA1yozbSpjmtUt9rG?= =?us-ascii?Q?ZvDqNbELxB9DcDs89iDBG32BTwch3KThUEAKH/0eAssETy3H5E7D9xNd7UZa?= =?us-ascii?Q?k2lftqQsjFm8LlNBkaWlaVmUwOMPrkL+jrnKvlX0mfb6cCsVeJ9hvI8l6F79?= =?us-ascii?Q?MDBZwMz4j5SwfocDgdAd8fTyn/e6TCQgL7/ZTlRJPnXYzj0ooM+IXT8fsSJ/?= =?us-ascii?Q?XkbImQr67C4oNh33/qABndmF?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7119 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 5dc43e92-1fe7-4dd2-3798-08d9503297e7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VTyOiNwM/SQsCWZ11FEgaGBySsMmI9w36FgqyBlMDJOBojG9F/dELzpRCi6ZYaVmBpbnjImz8gYpcFjfZuOalmHeqn1ZAC87zuQD+Ss/ghpxloSzhPoOO0IUd+W+rIqK7IcEyGpwfyYRohoyzt+pajuOum+82EpIhdEW2k+KkTIZWmiL71/sxkeN01sAKvpku/fRFMvUEnCP8dyh1WnKD3P9RUjRC2igouvls5yNWnXEzkHsSpMQH/76f1xzw7wtwj5PmiO585OngQklReVDJvXilEmsPG2IfoJ4gVvpJ1tHzTV4hxTv1LARWmnPsplVA7tP+VMukX/Gz6UQ8GISmI98a+QQui1YAmmpcF4ayWG7204YAnl7Ols2jZjmV/UzeobicrAvjXHXkGq86ANUSY21U6aH77f9OrJrWXJHXZTJHE3d0qiu+JvHhE4ck8HSVJAlsnNXgyHNWf7LicFLpIHtFPrCcw0MhhY+Cl+rg4rh3ipEldWwLHaBuKzol80oOsG+9z1UgseBeVHJz7D95rJBjveIjVPtYLj6daF5Qoedr9OhjI4LXb1spnVGIeXFgrQokMtw7lBz4qq91DoVdOspKYgTdrpwPFTK7f2/ZomRq3pfT4ZoTL0/grh6+8HRZc3Zg3bD3dILh9bM46eiPhPRGpghlB0JPRn/SCLMpauWdsIQrp3SV7l+XeXiT/OrNM/cTVNRNANgKS+Fyqy69EdjiAuG15a5FTWPkpJ6ZueqOfgpBuYMK9mJib74W27k7+APKBKQ3n6ju48NcB3SN+PPSfJiaiIWAOztLQ7vrCCX1vpozbDqLgl/AUX3yDYH7yDr8jaRUvqSSkfBXzNZUg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(346002)(136003)(376002)(39860400002)(46966006)(36840700001)(356005)(33964004)(478600001)(81166007)(36860700001)(186003)(956004)(2616005)(66616009)(70206006)(70586007)(5660300002)(336012)(235185007)(83380400001)(6496006)(44832011)(86362001)(36756003)(8676002)(82740400003)(2906002)(6486002)(316002)(82310400003)(26005)(8936002)(6666004)(47076005)(4326008)(6916009); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2021 12:40:50.1271 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 29489087-70fc-4c57-e7ed-08d95032996f X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4326 X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, DATE_IN_PAST_96_XX, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jul 2021 12:40:54 -0000 Message-ID: <20210720153852.KZm1vd_Ms6Ka9s9R-cywvWQnacDXBCI_2tcDEu9MbXw@z> --=-=-= Content-Type: text/plain Hi all, last patch of the series adding 'Tag_PACRET_use' build attribute support. Here follows its semantic: 0 This code is compiled without return address signing and authentication 1 This code is compiled with return address signing and authentication See: - Armv8.1-M Pointer Authentication and Branch Target Identification Extension [1] - Armv8-M Architecture Reference Manual [2] Regtested clean on current master. Best Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0004-PATCH-4-4-arm-Add-Tag_PACRET_use-build-attribute.patch >From 5e2aa6357180ace750e80856acd1370b07118567 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Mon, 5 Jul 2021 17:27:00 +0200 Subject: [PATCH 4/4] PATCH [4/4] arm: Add Tag_PACRET_use build attribute bfd/ 2021-07-06 Andrea Corallo * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add 'Tag_PACRET_use' case. binutils/ 2021-07-06 Andrea Corallo * readelf.c (arm_attr_tag_PAC_extension): Declare. (arm_attr_public_tags): Add 'PAC_extension' lookup. elfcpp/ 2021-07-06 Andrea Corallo * arm.h: Define 'Tag_PACRET_use' enum. gas/ 2021-07-06 Andrea Corallo * config/tc-arm.c (arm_convert_symbolic_attribute): Add 'Tag_PACRET_use' to the attribute_table. include/ 2021-07-06 Andrea Corallo * elf/arm.h (elf_arm_reloc_type): Add 'Tag_PACRET_use'. --- bfd/elf32-arm.c | 1 + binutils/readelf.c | 5 +++++ elfcpp/arm.h | 1 + gas/config/tc-arm.c | 1 + include/elf/arm.h | 1 + 5 files changed, 9 insertions(+) diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 98f92401942..2cb8768868b 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -14615,6 +14615,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, struct bfd_link_info *info) case Tag_PAC_extension: case Tag_BTI_extension: case Tag_BTI_use: + case Tag_PACRET_use: /* Use the largest value specified. */ if (in_attr[i].i > out_attr[i].i) out_attr[i].i = in_attr[i].i; diff --git a/binutils/readelf.c b/binutils/readelf.c index 993f3160ab6..9fbb9e7a852 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -16153,6 +16153,10 @@ static const char * arm_attr_tag_BTI_use[] = {"Compiled without branch target enforcement", "Compiled with branch target enforcement"}; +static const char * arm_attr_tag_PACRET_use[] = + {"Compiled without return address signing and authentication", + "Compiled with return address signing and authentication"}; + #define LOOKUP(id, name) \ {id, #name, 0x80 | ARRAY_SIZE(arm_attr_tag_##name), arm_attr_tag_##name} static arm_attr_public_tag arm_attr_public_tags[] = @@ -16196,6 +16200,7 @@ static arm_attr_public_tag arm_attr_public_tags[] = LOOKUP(50, PAC_extension), LOOKUP(52, BTI_extension), LOOKUP(74, BTI_use), + LOOKUP(76, PACRET_use), {64, "nodefaults", 0, NULL}, {65, "also_compatible_with", 0, NULL}, LOOKUP(66, T2EE_use), diff --git a/elfcpp/arm.h b/elfcpp/arm.h index 12ba3fa7a1e..db549a8ee68 100644 --- a/elfcpp/arm.h +++ b/elfcpp/arm.h @@ -309,6 +309,7 @@ enum Tag_PAC_extension = 50, Tag_BTI_extension = 52, Tag_BTI_use = 74, + Tag_PACRET_use = 76, Tag_nodefaults = 64, Tag_also_compatible_with = 65, Tag_T2EE_use = 66, diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 6248adccf2d..16959fa540c 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -33562,6 +33562,7 @@ arm_convert_symbolic_attribute (const char *name) T (Tag_PAC_extension), T (Tag_BTI_extension), T (Tag_BTI_use), + T (Tag_PACRET_use), /* We deliberately do not include Tag_MPextension_use_legacy. */ #undef T }; diff --git a/include/elf/arm.h b/include/elf/arm.h index 0f6e734e6d0..299f394b7ae 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -330,6 +330,7 @@ enum Tag_PAC_extension = 50, Tag_BTI_extension = 52, Tag_BTI_use = 74, + Tag_PACRET_use = 76, Tag_nodefaults = 64, Tag_also_compatible_with, Tag_T2EE_use, -- 2.20.1 --=-=-=--