From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70072.outbound.protection.outlook.com [40.107.7.72]) by sourceware.org (Postfix) with ESMTPS id BEA533858D28 for ; Mon, 18 Jul 2022 16:03:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BEA533858D28 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=W13HF3O3hkzh38wozgTNX0/VN09HAtA6iyBVziMYzRkB05zH/kfdG2JofXhQu9NI7SDtCtIF8IhOsu2tYOu8RhfgcEKDKr/O99flMsqsSizk74WBV5pd2/yPvlJZ8yTDEb/Tb8BOeguRecaYWe6ZI2RyybJ1hoBVsEY+kn7BB8e3BUDlikezGteMz5M2s0S2fFswdsQnrOYNBFcLAcRNp0/tCYutNyQma6OFpiBpQJu3QIl0PQRdR7RkGnUkvAXW1PSTlvCqALjUlcMP3yDB1NawyLy5dhbIbBKHg1oS99kJptR6JnqmINlmBB61RQQ6gTvLoxFmdOqZEtCJDEibjQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lMDlPItTG3+CIOoDAVmrHAuWV+4rEUQPiSiPF/ZNZAE=; b=AoA2cjoLheAtwsn6JniAQOHT1ZumhXFmotGGY9q/H4gEo77XRvircHu712ZGXKeCCIKpP0Ox5cG40mGbsrJWLUF2P9Q6ZxTUJj3mtV0qckeCVI1t2GNE1tzjjqc3e0pU3ViRsA7c1KIwD4gfbuSX63Ta7ok+jgp4WF6L8blTYH068+IwxNatWH9tqKn30B/iVJ1gMR+2Q0vzWN6NSxJA7tbuQM4FaqszqqywmZBVjbC40Vvyz5vNBZwhz6wToOfvSYcb4D+TEPNkVnQiUH7JoGMAgls4pKJXwMH3KbhnevceuB1KsfeVt0x5wacIPKt6T8Bi1C4Oz1VwFwvDhs4C/w== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1, 1, smtp.mailfrom=arm.com] dmarc=[1, 1, header.from=arm.com]) Received: from AM6P193CA0127.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::32) by VI1PR0801MB1952.eurprd08.prod.outlook.com (2603:10a6:800:8a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.20; Mon, 18 Jul 2022 16:03:01 +0000 Received: from AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:85:cafe::d2) by AM6P193CA0127.outlook.office365.com (2603:10a6:209:85::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.11 via Frontend Transport; Mon, 18 Jul 2022 16:03:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT008.mail.protection.outlook.com (10.152.16.123) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.12 via Frontend Transport; Mon, 18 Jul 2022 16:02:59 +0000 Received: ("Tessian outbound 2af316122c7a:v123"); Mon, 18 Jul 2022 16:02:59 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 059fdfbfc251185c X-CR-MTA-TID: 64aa7808 Received: from 0e57cc19bac6.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F2EBA5A2-C6AF-44F1-8E85-AC9FA6A10619.1; Mon, 18 Jul 2022 16:02:52 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0e57cc19bac6.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 18 Jul 2022 16:02:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AaHBg89u42678Gk+mg2bzkN1iZVBzHZOLs1i7vH/4lxdJehyncC3XJ1mra3ZSDa75aRACCsv0M8ecrato4T3+1aDtsbInm/X1TxWr9LgDsPXMCJWPFGe57Z2nbjDE9TwErxI+vuWiUwxr50sR7ERLoOHLVGfv6jBwTm1APQgHrM4pPm5dhHM4BOuY7chDfm99M6sfOfrRTgSiTrmYPbUfsFfEHHHSaT4I5OrX31TpP5jdEpxXvvEwW35ab7nd/UwuhHLa1Xy64pRqRXRNOEccQxQH/X91/5Hlvzl3r85KygPnNWLMgjOAP2TEUmCrgBbCu4pBSNfIxFtgoHAYUFveQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lMDlPItTG3+CIOoDAVmrHAuWV+4rEUQPiSiPF/ZNZAE=; b=mPjdboALb+a/i5bgeP0r4Uu/i3SKKJTXVVKxoovFsLJKVYn/nXsh9H32pJvp4eW7+P5Gd4SEkh/S/b+sdIlDhs3aAppy8qPKDG6MiPvfWiMmJch8+Ai8ulS1SNGNqhxL8PAzFse6gRUhYJKJ7f4fHTnhjxT4Mj1O69e7+rY2cAsXavsF0x8NKQPf0PDMLftoIt47pdNOQh3N8dUZH8KFdcaOTfDrKSu5ERxq3swFEHHZVX65eQtcdyPBG4q/oF3dvIHRzaj/AN5FqNcsB4Gddc7BLqclpzla35pQGTQ+xJLx+pncoY89oT0Az4/nzvEJOvIC7BV1Wa/NUmUXrGl0QA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none Received: from AS9PR06CA0515.eurprd06.prod.outlook.com (2603:10a6:20b:49d::7) by VE1PR08MB5646.eurprd08.prod.outlook.com (2603:10a6:800:1a9::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.15; Mon, 18 Jul 2022 16:02:50 +0000 Received: from AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:49d:cafe::37) by AS9PR06CA0515.outlook.office365.com (2603:10a6:20b:49d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.17 via Frontend Transport; Mon, 18 Jul 2022 16:02:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM5EUR03FT058.mail.protection.outlook.com (10.152.17.48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5438.12 via Frontend Transport; Mon, 18 Jul 2022 16:02:49 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Mon, 18 Jul 2022 16:02:48 +0000 Received: from e125768.cambridge.arm.com (10.2.78.50) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.9 via Frontend Transport; Mon, 18 Jul 2022 16:02:48 +0000 From: Victor Do Nascimento To: CC: , Victor Do Nascimento Subject: [PATCH][Binutils][GAS] arm: Add cfi expression support for ra_auth_code Date: Mon, 18 Jul 2022 17:01:31 +0100 Message-ID: <20220718160129.15652-1-victor.donascimento@arm.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: 9431c815-1bac-4b2f-e3ea-08da68d6fca7 X-MS-TrafficTypeDiagnostic: VE1PR08MB5646:EE_|AM5EUR03FT008:EE_|VI1PR0801MB1952:EE_ x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: U/IZlIY3kZZyYWipCA6Rmk7Jtki73RSAmS6myGTowZVvwt/OSzqgEjTuOSOqq7Jz2GCIKus01r4+HCAU8cfhJMxL5rAIYrS5xQyKkJMerJMFUzJbnjATry75+RMAYWAwoKK3jDxgwAiaDMVPe/vIAMBFxvjO3PpWvojVjfks8l4imP+M559+aAQEziSVuzp340fNtfQnY594g8jIK83U5nY2m6K/70FsxetDPeluQPsPfWK25l1nAdzW+ZcU6odurWk/AZbnhhEml5VAIRJYDvalQElXArQhzTh9h+v+m29dVNuUiYyhT75+EXHfp0j4OZm+JHHYqY3+U69dX/WfbohVCVK5CLxQcXabyaLpQkAND+zzncPrWhmeba8D8I2X0PWY3NDVRDBY0N+znjbWoeCBOQIKKJT7b0GSysWzw0G8hokw2Q0dDaDbP4TWEFOE2Got8yeoKmDJmM3Tp0SjrtVGOr9Keo9JR/IDxiKVoa/yN8v4KBa3ijEDvNACIcHC47LAjJt4uqBRvRYfdtoCszpsx5GFnQqOhOgWlk6ij7cPnGlxym10+bAwk9cWvRfeYKpNrYyx9T48O69WH/wPZgWApgK9PgZr683zEWr4j41mBzh7t+YwRpCebgIFXuDmm7QkQdWaEqOUymbWfmHEpQalMqPWJjcngldeRbxCtUTholMutqrwk+T9kanNqcpEzUIM6/DpkWzuOnbPD3+NzlSgZlXvmIfXJYlIGf83ik1Yxp2JUEAfPCxgAn57wYVf6ITxo1DPCPSbAy0vg8K/RXYFhQuNNIc/UwQwXApRS5XFU0ueVO5oXDdWUDB6/V6+uHx/AC5s0EC5UPlfryvvxxumNi+MH9XYHF5SvbjjZ14= X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230016)(4636009)(39860400002)(346002)(136003)(376002)(396003)(46966006)(40470700004)(36840700001)(7696005)(41300700001)(6666004)(426003)(83380400001)(478600001)(186003)(336012)(47076005)(26005)(1076003)(40480700001)(5660300002)(40460700003)(82310400005)(2616005)(6916009)(54906003)(316002)(4326008)(8676002)(70206006)(70586007)(8936002)(36860700001)(36756003)(81166007)(82740400003)(86362001)(356005)(2906002)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5646 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 061176c0-d533-47cc-e5ef-08da68d6f67e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cKqlLk6jWYSu3dXQCPBIO8Okjillf1dKe11swQrpj4Akk9I3ERMJw2xvtHglLGxAvacUjA/JbE8e8SleRQPwBYZ6IYAj+aH+3aXZQrQwgeyTrnLGi287PPk4Z6JQtNdY3WdCcPNzyYhAz0yVkiFcbjtpJtTIdn+tTrzgfdUaWJ4kLG343J2zcBRJ2ajqAnMJ0sKXPCZBWTDavZfv3JD33zRyryFe4g/iH+wiojABOffRLluc57Q19+6OONf8se9LnVvjFqkgfZpUizXkgNdVULHg4ebUS9vJl5V5eEKsmXKCN1gUwxIKOwKnm1XBXxlpuMNBKfLt6YXoOO3feac6QltO3LUp0+A6pTadOin1WsBhx+hLkyiaXQocMR5HEwWvRxKnGTlCWSZF++0HpeC12i/WVo8lZgI7gRqraFpoEprDeQqT+Q+s2ByEdDfuV9QuwbA8Ir7SeDs6XK1BrqlsvIuDLPJc3LPJBA84Pm32Ev9XT8VvUaiKSElycGFaR0Eiymhg7CPQ+j9YFUM+s2ijUaW2+obEHxufziVSMNKVQ1ewryRuyF94xpZN3QGWV5m+KipzkRaLJuwn032K9MY2/Qbvnn5HsL0JZfQ1eqMWXncHL45k85f+9iGASZBRI28ST5363qlWUeIFnXzK+acK3vG8CUnsr1s9BCWAiAF4Lf2UX5EOuq05n8WCRGWr69knAqw9PiZbjpf28SFr+URLTRyey/M5VLNpEnhPaV4xa3ooj8Vc3rW1U//JaCOUkGmoZk85Zf/0/cb+PWZR2+nV0mTJaQq2s60HiKHR4q3WnO7uuKRebaVVuTwkEFkT5fKj 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:(13230016)(4636009)(396003)(136003)(346002)(376002)(39860400002)(46966006)(40470700004)(36840700001)(40460700003)(82310400005)(26005)(54906003)(6916009)(70206006)(1076003)(426003)(336012)(41300700001)(47076005)(2616005)(40480700001)(36756003)(186003)(478600001)(36860700001)(2906002)(8936002)(86362001)(316002)(81166007)(83380400001)(7696005)(5660300002)(6666004)(70586007)(82740400003)(4326008)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jul 2022 16:02:59.6868 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9431c815-1bac-4b2f-e3ea-08da68d6fca7 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: AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1952 X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2022 16:03:12 -0000 Hi all, This patch extends assembler support for the use of ra_auth_code register, particularly in the context of CFI directives, mapping the register to the correct DWARF-2 register number. Tested for arm-none-eabi. Thanks, Victor. gas/Changelog: * gas/config/tc-arm.c (tc_arm_regname_to_dw2regnum): Add REG_TYPE_PSEUDO handling. * gas/testsuite/gas/arm/cfi-pacbti-m-readelf.d: New. * gas/testsuite/gas/arm/cfi-pacbti-m.s: New. --- gas/config/tc-arm.c | 9 ++++++ gas/testsuite/gas/arm/cfi-pacbti-m-readelf.d | 31 ++++++++++++++++++++ gas/testsuite/gas/arm/cfi-pacbti-m.s | 22 ++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 gas/testsuite/gas/arm/cfi-pacbti-m-readelf.d create mode 100644 gas/testsuite/gas/arm/cfi-pacbti-m.s diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 2e6d175482e..bf912ccf2d5 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -27933,6 +27933,15 @@ tc_arm_regname_to_dw2regnum (char *regname) if (reg != FAIL) return reg + 256; + reg = arm_reg_parse (®name, REG_TYPE_PSEUDO); + switch (reg) + { + case 12: + return 143; + default: + break; + } + return FAIL; } diff --git a/gas/testsuite/gas/arm/cfi-pacbti-m-readelf.d b/gas/testsuite/gas/arm/cfi-pacbti-m-readelf.d new file mode 100644 index 00000000000..997ea75f179 --- /dev/null +++ b/gas/testsuite/gas/arm/cfi-pacbti-m-readelf.d @@ -0,0 +1,31 @@ +#readelf: -wf +#source: cfi-pacbti-m.s +#name: Call Frame information for Armv8.1-M.Mainline PACBTI extension +# This test is only valid on ELF based ports. +#notarget: *-*-pe *-*-wince +# VxWorks needs a special variant of this file. +#skip: *-*-vxworks* + +Contents of the .eh_frame section: + + +00000000 00000010 00000000 CIE + Version: 1 + Augmentation: "zR" + Code alignment factor: 2 + Data alignment factor: -4 + Return address column: 14 + Augmentation data: 1b + DW_CFA_def_cfa: r13 ofs 0 + +00000014 00000020 00000018 FDE cie=00000000 pc=00000000..0000000c + DW_CFA_advance_loc: 4 to 00000004 + DW_CFA_register: r143 in r12 + DW_CFA_advance_loc: 4 to 00000008 + DW_CFA_def_cfa_offset: 8 + DW_CFA_offset: r14 at cfa-8 + DW_CFA_offset: r12 at cfa-4 + DW_CFA_advance_loc: 4 to 0000000c + DW_CFA_restore_extended: r143 + DW_CFA_restore: r14 + DW_CFA_def_cfa_offset: 0 diff --git a/gas/testsuite/gas/arm/cfi-pacbti-m.s b/gas/testsuite/gas/arm/cfi-pacbti-m.s new file mode 100644 index 00000000000..515400d86f5 --- /dev/null +++ b/gas/testsuite/gas/arm/cfi-pacbti-m.s @@ -0,0 +1,22 @@ + .arch armv8.1-m.main + .arch_extension pacbti + .eabi_attribute Tag_PAC_extension, 2 + .eabi_attribute Tag_BTI_extension, 2 + .eabi_attribute Tag_BTI_use, 1 + .eabi_attribute Tag_PACRET_use, 1 + .syntax unified + .text + .thumb +.Lstart: + .cfi_startproc + pacbti ip, lr, sp + .cfi_register ra_auth_code, ip + push {ip, lr} + .cfi_def_cfa_offset 8 + .cfi_offset lr, -8 + .cfi_offset ip, -4 + pop {ip, lr} + .cfi_restore 143 + .cfi_restore 14 + .cfi_def_cfa_offset 0 + .cfi_endproc -- 2.36.1