From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50079.outbound.protection.outlook.com [40.107.5.79]) by sourceware.org (Postfix) with ESMTPS id 59E063857C44 for ; Fri, 10 Dec 2021 16:37:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 59E063857C44 Received: from DU2PR04CA0021.eurprd04.prod.outlook.com (2603:10a6:10:3b::26) by VI1PR0801MB2110.eurprd08.prod.outlook.com (2603:10a6:800:88::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Fri, 10 Dec 2021 16:37:02 +0000 Received: from DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:3b:cafe::6c) by DU2PR04CA0021.outlook.office365.com (2603:10a6:10:3b::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.13 via Frontend Transport; Fri, 10 Dec 2021 16:37:02 +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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT026.mail.protection.outlook.com (10.152.20.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.12 via Frontend Transport; Fri, 10 Dec 2021 16:37:02 +0000 Received: ("Tessian outbound 9a8c656e7c94:v110"); Fri, 10 Dec 2021 16:37:02 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 6de4ab0887b9e87d X-CR-MTA-TID: 64aa7808 Received: from 01f3ee8d29b7.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1C079AA0-0DFB-418F-A0FB-60FAE8455048.1; Fri, 10 Dec 2021 16:36:44 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 01f3ee8d29b7.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 10 Dec 2021 16:36:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IM355la6BNwl9TaIDkSwoHXi+7u03C1kuGtHI9uljJiC6QYm4qDAEaAYPXFZx+HHdny9CVVvyV3YJHk+bASiE1RvEDkBnBk26g+QG2Xo9QakzqBN6jtJQq4ccIS5Pqf0j+/qERY/35fGIioyVExwBhnND1jrt2Ky3wlyVzq8vT9POhaeuA/bVdVHE7T2rM1yyLLdBeXf6asMtBc2pYIV2fJGexy9n62Cmgq1HjZ47y4Rz9qgckeelErERYVwZ4eDIhtlhRpGYvRFmR70CTGaQQ7rMob9XDWDLA/W3Shw+hvymmR194belSqtbdlfF2opLKJ0nl5M47g37PIWwLWq/Q== 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=yigljDw9sskdfLR/yh+Ai2Ry+HQIygH8lbvhUlhLsIc=; b=kg4bQxQkCWp8tLkJmYzUWSiJMxKK9fuMPQX5u0E+6fUIHnqTPo6BM2pqMj9L1XuhPgJSXPW0sTc1u3HFqddevE/DC38+gZuWWld/7mT5Nu8r+D88zf5BhedKoDfafnxvA3nFsuUJjUq4Gx5UeY7Phn+sMsOowO9ZwAPBBDeCgz4SChCREWm4gfX1R1ohuhzQ/IqVJi+G8fJiaoWl67YXkdV1AKAsFkQ62cxm95QyGo30KRiipvfHndkwqDHpAsTWotVbvvkpUrAwkXt7tAvdtizqsbxjl9s+lfIIV+QZ1c9pTGIy10Lr+USLfZZBeflVgF+OWPtu8hOfDu4Dt8SgCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.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 DU2PR04CA0058.eurprd04.prod.outlook.com (2603:10a6:10:234::33) by VE1PR08MB5776.eurprd08.prod.outlook.com (2603:10a6:800:1ac::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.15; Fri, 10 Dec 2021 16:36:29 +0000 Received: from DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:234:cafe::c6) by DU2PR04CA0058.outlook.office365.com (2603:10a6:10:234::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.13 via Frontend Transport; Fri, 10 Dec 2021 16:36:29 +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; Received: from nebula.arm.com (40.67.248.234) by DB5EUR03FT035.mail.protection.outlook.com (10.152.20.65) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4778.12 via Frontend Transport; Fri, 10 Dec 2021 16:36:29 +0000 Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.20; Fri, 10 Dec 2021 16:36:28 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.20; Fri, 10 Dec 2021 16:36:28 +0000 Received: from e124257 (10.34.101.64) by mail.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.2308.20 via Frontend Transport; Fri, 10 Dec 2021 16:36:27 +0000 From: Andrea Corallo To: Richard Earnshaw via Gcc-patches CC: Tejas Belagod , Richard Earnshaw , Richard Earnshaw Subject: Re: [Patch 7/8 V2] Arm: Emit build attributes for PACBTI target feature. References: <5ee84862-83fe-6629-9022-f6018e374f2d@foss.arm.com> Date: Fri, 10 Dec 2021 17:36:27 +0100 In-Reply-To: <5ee84862-83fe-6629-9022-f6018e374f2d@foss.arm.com> (Richard Earnshaw via Gcc-patches's message of "Tue, 7 Dec 2021 14:48:16 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: f1e9eca7-fcd7-46aa-d104-08d9bbfb4b7e X-MS-TrafficTypeDiagnostic: VE1PR08MB5776:EE_|DB5EUR03FT026:EE_|VI1PR0801MB2110:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8882;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: RSA7inOmCMnY/1omOGPY5eS66qQRgYIhUXVPz2QNw9gMvSKdfd3yq4t9n1lmgTs9slrum47LGv8AT8oOqA87QzGMCBaGwsiuToqP6E1m8PoCM72TNU7bgiDWJ1sXV1wZGaBKfeC7YI6Kkh8JgyVUzoysBOSAWs0ipTf9eYNoAfbxOTF6KlS73X+1u3hTbUBPeTLDV7VK2E6+Qpe5bCFZB9+gyNAwH3DvAFLSsLymg1HojOD/aprtx6OquQ5OET4rV9QitTTt/BgOKdItDCd5m3RXu3j5zBSJ+tCx+loZ0I9RCsiIJVpJ5GzRXYNkS3sM/eUGKxDYUuSPcU7MVknv7yRTTp788M/pzQ0S7/NpFb2xoDe/nBn3giubVkNzDcxEMoJfxcpn35ENaICYD1L4cl8b6Ccj3Y8rp6OLhE7KNsE1mdwIGRjvv6/2AaROUbGuUNO7L4KT1UYCMKtLcC6k8HaPl3erSK1aTJ086+TZNLGfvNEwiZSzAtoxC7BftTLca0kRVIbdTx69DhC5EFAzb/VX1CjpIcsyACl192DbSwifOfiShRtI2t/hAyuMq7xDGnJ6RHAZQX3Mx61ZfXhV48a9Nyp2LR7JP/Wf9iGBAdIMVKgW+w8OGAH0WVgPk7JwjBztyEd+E6UvnQ4Afiz8Hdk+/ao9yq1I0hqnXXqjxl4A2QFDqTBA6PItV/qITa37Dg0JZodrnPRZYjGaBZab0V1nFv06k4vJjdiSpNZRYiXecgblwcHRCLVtQdou7omSNF1XDF2o5MM1kHqiAIP56KC9bgdSi6q7PGJKcMd5KGvuf8/fUs9aeRWE3BgEXcB8faK1aGeMyhDn/QhotxrhH57YgYpjvI1blGfLJJr9rCEkr0KtiAIv8zEWYuxQjKoAyDm49fzkJg9yjAuxs5CIIvCN0vUDzXYHlHHKesak0jA= 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:(4636009)(46966006)(36840700001)(40470700001)(4001150100001)(2906002)(26005)(36860700001)(40460700001)(316002)(44832011)(82310400004)(5660300002)(36756003)(84970400001)(2616005)(6916009)(54906003)(235185007)(336012)(81166007)(53546011)(47076005)(426003)(86362001)(4326008)(356005)(83380400001)(70206006)(508600001)(8676002)(70586007)(186003)(33964004)(966005)(8936002)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5776 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 2009dbbd-7eb9-4047-de18-08d9bbfb3771 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mLyYhumFtbcc023495c/eEbDxwH3NubZFQfwKj8nvZ1aDa3kwfJQ3eSzfyd5+jhiKM97VNpzcckacedYJUsIaY1Ar30u98Gojb6tzB/GdCGckHgvC4gZgG8dtyegIq/H/90A8nHAiPT6Nm32gSDATohIZ3ATjWWzC93xG6QEoL/IlzxdvqAXcJum5iijt+AWRgnoz9nCdu/POJFQ8XnrDXQrNUgHdR4b2YSt/ZC5Q6f62FXJj27ohPybk6BlFJr/DNCNM/JhOH0u++rpTJL0gVFo2n0JGSbkrVnZSQamGqWauJl0kEElWky8I78KHjFByWXViWQgJGKPXuP2zTgu1nnN6N7t+Orh2X5MlWrCXue3LwySozpXXU1fnWNuC0Gho7Z44Bys7VlaE2K5l5UEY9dS8sw9+emOyGSr5DBqOrhrHs1MMHg0mX+E8nCrdHONfX1YO4/taO3VnTy5/iZkCGDMNQDXU5p+bKAlq7h8oxjtOPbbUXGwKXMH+RZOudR9FYgqvUwigX8uP/iVrcw+TQHC/oJKAZ22LwBAQ9vzJVFDBIUXAF1FLxDdUed3FlH6THCzZdZj1BBDmKFKRgYwtTQvdoxa1FyVA4ZC7daLK9EDzoeSAqGDBZTctTAGTdb/Xm3DkhEqd/qpUIaCkzEkRHAmtkfk7oUjJCoJJkLMge7b/HMC7BrxDbgPrmpHpPcaEnZK+9l1ELZ78JiZU4A+hxENJAXwm2SuXQQqiiBqIj1SiWyycJAHy7Ee36qJw/yhsc3oUk97coCzYcIeZ+uKDmaJa5R1ks/G80hYS13WuUK5gSQtCiU/GWW3Rj+vDmGiICsOOPZdE9sfvGWPuYiaVw== 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)(46966006)(36840700001)(70206006)(70586007)(36756003)(6916009)(8676002)(86362001)(36860700001)(336012)(2906002)(47076005)(316002)(84970400001)(44832011)(54906003)(53546011)(33964004)(81166007)(82310400004)(966005)(83380400001)(5660300002)(8936002)(26005)(186003)(4001150100001)(508600001)(235185007)(4326008)(2616005)(426003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Dec 2021 16:37:02.7288 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f1e9eca7-fcd7-46aa-d104-08d9bbfb4b7e 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: DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2110 X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_SHORT, 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Dec 2021 16:37:09 -0000 --=-=-= Content-Type: text/plain Richard Earnshaw via Gcc-patches writes: > On 28/10/2021 12:43, Tejas Belagod via Gcc-patches wrote: >> >>> -----Original Message----- >>> From: Gcc-patches >> bounces+belagod=gcc.gnu.org@gcc.gnu.org> On Behalf Of Tejas Belagod via >>> Gcc-patches >>> Sent: Friday, October 8, 2021 1:19 PM >>> To: gcc-patches@gcc.gnu.org >>> Subject: [Patch 6/7, Arm, GCC] Emit build attributes for PACBTI target >>> feature. >>> >>> Hi, >>> >>> This patch emits assembler directives for PACBTI build attributes as defined >>> by the ABI. (https://github.com/ARM-software/abi- >>> aa/releases/download/2021Q1/addenda32.pdf) >>> >>> Tested on arm-none-eabi. >>> >>> 2021-10-04 Tejas Belagod >>> >>> gcc/ChangeLog: >>> >>> * config/arm/arm.c (arm_file_start): Emit EABI attributes for >>> Tag_PAC_extension, Tag_BTI_extension, TAG_BTI_use, >>> TAG_PACRET_use. >>> >>> gcc/testsuite/ChangeLog: >>> >>> * gcc.target/arm/acle/pacbti-m-predef-1.c: New test. >>> * gcc.target/arm/acle/pacbti-m-predef-3: New test. >>> * gcc.target/arm/acle/pacbti-m-predef-6.c: New test. >> This patch emits assembler directives for PACBTI build attributes >> as defined by the ABI. >> https://github.com/ARM-software/abi-aa/releases/download/2021Q1/addenda32.pdf >> 2021-10-25 Tejas Belagod >> gcc/ChangeLog: >> * config/arm/arm.c (arm_file_start): Emit EABI attributes for >> Tag_PAC_extension, Tag_BTI_extension, TAG_BTI_use, TAG_PACRET_use. >> gcc/testsuite/ChangeLog: >> * gcc.target/arm/acle/pacbti-m-predef-1.c: New test. >> * gcc.target/arm/acle/pacbti-m-predef-3: New test. >> * gcc.target/arm/acle/pacbti-m-predef-6.c: New test. > > I'm not sure what the value of making these executable tests is. It > means that they can only be used when the test model has PAC/BTI > available. But they don't really test the PAC/BTI generation, so that > seems rather pointless. > > Better, IMO to make them simple compile/scan-assembler tests that > check the build attributes are correct. > > R. Hi Richard, agreed. Please find attached the updated version of the patch. Thanks for reviewing Andrea --=-=-= Content-Type: text/plain; charset="utf-8" Content-Disposition: attachment; filename="0001-Emit-build-attributes-for-PACBTI-target-feature.patch" >From 6e54ecc3e20a3af8f72a38e55f086a33490353a0 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Mon, 6 Dec 2021 11:42:24 +0100 Subject: [PATCH] Emit build attributes for PACBTI target feature. gcc/ChangeLog: * config/arm/arm.c (arm_file_start): Emit EABI attributes for Tag_PAC_extension, Tag_BTI_extension, TAG_BTI_use, TAG_PACRET_use. gcc/testsuite/ChangeLog: * gcc.target/arm/acle/pacbti-m-predef-1.c: New test. * gcc.target/arm/acle/pacbti-m-predef-3: Likewise. * gcc.target/arm/acle/pacbti-m-predef-6.c: Likewise. * gcc.target/arm/acle/pacbti-m-predef-7.c: Likewise. Co-Authored-By: Tejas Belagod --- gcc/config/arm/arm.c | 20 +++++++++++++++++++ .../gcc.target/arm/acle/pacbti-m-predef-1.c | 16 +++++++++++++++ .../gcc.target/arm/acle/pacbti-m-predef-3.c | 16 +++++++++++++++ .../gcc.target/arm/acle/pacbti-m-predef-6.c | 15 ++++++++++++++ .../gcc.target/arm/acle/pacbti-m-predef-7.c | 16 +++++++++++++++ 5 files changed, 83 insertions(+) create mode 100644 gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-1.c create mode 100644 gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-3.c create mode 100644 gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-6.c create mode 100644 gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-7.c diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index ee22acddee5..a493523fe30 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -28221,6 +28221,8 @@ static void arm_file_start (void) { int val; + bool pac = (aarch_ra_sign_scope != AARCH_FUNCTION_NONE); + bool bti = (aarch_enable_bti == 1); arm_print_asm_arch_directives (asm_out_file, TREE_TARGET_OPTION (target_option_default_node)); @@ -28291,6 +28293,24 @@ arm_file_start (void) arm_emit_eabi_attribute ("Tag_ABI_FP_16bit_format", 38, (int) arm_fp16_format); + if (TARGET_HAVE_PACBTI) + { + arm_emit_eabi_attribute ("Tag_PAC_extension", 50, 2); + arm_emit_eabi_attribute ("Tag_BTI_extension", 52, 2); + arm_emit_eabi_attribute ("TAG_BTI_use", 74, bti); + arm_emit_eabi_attribute ("TAG_PACRET_use", 76, pac); + } + else + { + if (pac || bti) + { + arm_emit_eabi_attribute ("Tag_PAC_extension", 50, 1); + arm_emit_eabi_attribute ("Tag_BTI_extension", 52, 1); + arm_emit_eabi_attribute ("TAG_BTI_use", 74, bti); + arm_emit_eabi_attribute ("TAG_PACRET_use", 76, pac); + } + } + if (arm_lang_output_object_attributes_hook) arm_lang_output_object_attributes_hook(); } diff --git a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-1.c b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-1.c new file mode 100644 index 00000000000..75d3e00ef64 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-1.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-additional-options " -mbranch-protection=pac-ret+bti --save-temps" } */ + +#if !defined (__ARM_FEATURE_BTI_DEFAULT) +#error "Feature test macro __ARM_FEATURE_BTI_DEFAULT should be defined." +#endif + +#if !defined (__ARM_FEATURE_PAC_DEFAULT) +#error "Feature test macro __ARM_FEATURE_PAC_DEFAULT should be defined." +#endif + +/* { dg-final { scan-assembler-not "\.arch_extension pacbti" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 50, 1" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 52, 1" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 74, 1" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 76, 1" } } */ diff --git a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-3.c b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-3.c new file mode 100644 index 00000000000..54fd42f16a3 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-3.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-additional-options " -mbranch-protection=pac-ret+leaf --save-temps" } */ + +#if defined (__ARM_FEATURE_BTI_DEFAULT) +#error "Feature test macro __ARM_FEATURE_BTI_DEFAULT should be undefined." +#endif + +#if !defined (__ARM_FEATURE_PAC_DEFAULT) +#error "Feature test macro __ARM_FEATURE_PAC_DEFAULT should be defined." +#endif + +/* { dg-final { scan-assembler-not "\.arch_extension pacbti" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 50, 1" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 52, 1" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 74, 0" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 76, 1" } } */ diff --git a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-6.c b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-6.c new file mode 100644 index 00000000000..309910f7c55 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-6.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-additional-options " -mbranch-protection=bti --save-temps" } */ + +#if !defined (__ARM_FEATURE_BTI_DEFAULT) +#error "Feature test macro __ARM_FEATURE_BTI_DEFAULT should be defined." +#endif + +#if defined (__ARM_FEATURE_PAC_DEFAULT) +#error "Feature test macro __ARM_FEATURE_PAC_DEFAULT should be undefined." +#endif +/* { dg-final { scan-assembler-not "\.arch_extension pacbti" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 50, 1" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 52, 1" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 74, 1" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 76, 0" } } */ diff --git a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-7.c b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-7.c new file mode 100644 index 00000000000..bdf9131c142 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-7.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=armv8.1-m.main+pacbti --save-temps" } */ + +#if defined (__ARM_FEATURE_BTI_DEFAULT) +#error "Feature test macro __ARM_FEATURE_BTI_DEFAULT should be defined." +#endif + +#if defined (__ARM_FEATURE_PAC_DEFAULT) +#error "Feature test macro __ARM_FEATURE_PAC_DEFAULT should be undefined." +#endif + +/* { dg-final { scan-assembler "\.arch_extension pacbti" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 50, 2" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 52, 2" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 74, 0" } } */ +/* { dg-final { scan-assembler "\.eabi_attribute 76, 0" } } */ -- 2.20.1 --=-=-=--