From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150055.outbound.protection.outlook.com [40.107.15.55]) by sourceware.org (Postfix) with ESMTPS id 460723857365 for ; Wed, 26 Oct 2022 11:51:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 460723857365 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=k2jURHcpzKzSSK5V6ECj+Mzn2uGahOHew348ivGAACgIcBaOhflgJZSSjI3OkcsV/AbAKx0YgUNPyNJJM0yDgqIQFN+ojMi1+f3bc/8JTDqSQYbfSwOOtPn1QKHRdP3KtMmv++C9V8fUoUBQyp5aYgA/LPhkpwWfz31Skr/iGtA4kUrHzs/Q8eam1o4FP2RixGIGB3ujyIeRARFLroTwX1kc3SGoCGXmgxImBGl5FDWD09/xKom9HXju4BzZsnnQB5WmefCqXAztd2H2IasoHUcxR2Orv4IrzhxM6gmRpWzoHAAjhnfHVnpHUvmoFPSbAWdo3y0E8fcB9noGGShg4Q== 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=4SO97+Dpe4bIqdbNyL0Mks54YvKar7/pPlGXOjfBY/Y=; b=P7NYS1AwJ9b6vBYK1U0BEggyAwo14Y7Qp1fyi8a1O+ZEoK0Zxsr2n89nAM6itRyiVMjp+gfcP2PDqcyf/vG6D1vEoECU28cgb8C4XBAChfuJoasZ7O2UeDw1jvlAOorzOhXX4NELsWpCMwDLLhnhOk86yaZbd6s5QhYjuglArRMER9ytmQ/07o3PbNDsh/1LB3XzVBe502jyr3q1D1++uuWnLvu+yYzMG0uqrVfKGnyQWrDUhSWmiANNQbUpzUxGeHn/74iIwrTSoQFTVBwIl9QK4JYmv1jjZlXTZpa6unL0qME4qYvUf7tqVKBm0gc847UVK2xy3EBFzLB8aSXhZw== 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]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4SO97+Dpe4bIqdbNyL0Mks54YvKar7/pPlGXOjfBY/Y=; b=sDp/LTtswR0mTEnK4IY/thvUbux47834UEtnsnS9QvN09ld8fXvE1AWeJzOHj++zk7W8MGmfjpwJsLyumaqrlTjwp62iAI3m9sVGYdLdQYL+bfuQX/cRLkc4ndAv8zRCctGkNercTNuJnAxxQNYP0Q6FWPFCxi0u1xGPm7hvA9s= Received: from FR3P281CA0120.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::18) by DB9PR08MB7512.eurprd08.prod.outlook.com (2603:10a6:10:303::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.28; Wed, 26 Oct 2022 11:51:43 +0000 Received: from VI1EUR03FT016.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:a3:cafe::7b) by FR3P281CA0120.outlook.office365.com (2603:10a6:d10:a3::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.13 via Frontend Transport; Wed, 26 Oct 2022 11:51:42 +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 VI1EUR03FT016.mail.protection.outlook.com (100.127.144.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.32 via Frontend Transport; Wed, 26 Oct 2022 11:51:42 +0000 Received: ("Tessian outbound 73ab5f36653e:v130"); Wed, 26 Oct 2022 11:51:42 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d5908a4369b65301 X-CR-MTA-TID: 64aa7808 Received: from 0a1f74956a04.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4E49F806-5FA8-4586-8786-FB0579C94207.1; Wed, 26 Oct 2022 11:51:34 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0a1f74956a04.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 26 Oct 2022 11:51:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PynLqMR/aH63GC/P1Li779qc58y63zLPeQbxACRAZgjaxVJEAt8e6bjo74f+jaigywHML3IA1KHf3qY8bWV6YP9Vxtjms5J7QvIt86luMMC8dRfhKCZlKrP/0i8WhSJLsbyIJ9BQOPartKLG7HdxGRe3yBDQO4v7+mYwmQj9Zqu3Fg7vCIMGM5QdfLS0OjcIPN2IO44QpWMBKYUJSO6jhW9OzkJQhC3kcnvAo3Gk7FwghndUwvZcoCRZtH2pL/cBHCC7NkBwzz8LeY34Kevx/X5PDks1Fi1ZvrBQqxcav/26f1JPqlXln1k7VwEPXigNYuaKouwgJ5FXqqPI/0Uazw== 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=4SO97+Dpe4bIqdbNyL0Mks54YvKar7/pPlGXOjfBY/Y=; b=Z1LWNTv8/KV1A5uZIhgRvEmkqgfD4tUPLA4r6UGUsQ1NnBYSlSFdv2P5FHna5gBbXOa3uWjweB4Tb8y8DMSHBorqlpPsI+8iQJalvQdecUQd4iGQIey5QVadisT6huL/9wjjDxCLdn/mRqPI8c28dmFWh6RMDFZNlC1etSLoSbHVspduzUZjDuBQbxvfBMeAOkiepufiFjH+zqrTpDGCa/3MUcJM0rV84+Na9NSdGN075wsnbmGGxYhOpt0YgivHWC/gvEtITSgTcmLBqmJqTI+dzM7EnDNYzk4qeZmYS0PmKhmtTLDImgKluQ2E2sk+pJINJe3JVewlcmLHjOl4NQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4SO97+Dpe4bIqdbNyL0Mks54YvKar7/pPlGXOjfBY/Y=; b=sDp/LTtswR0mTEnK4IY/thvUbux47834UEtnsnS9QvN09ld8fXvE1AWeJzOHj++zk7W8MGmfjpwJsLyumaqrlTjwp62iAI3m9sVGYdLdQYL+bfuQX/cRLkc4ndAv8zRCctGkNercTNuJnAxxQNYP0Q6FWPFCxi0u1xGPm7hvA9s= Received: from AM6P195CA0075.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::16) by DU0PR08MB7859.eurprd08.prod.outlook.com (2603:10a6:10:3b1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Wed, 26 Oct 2022 11:51:33 +0000 Received: from VI1EUR03FT038.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:86:cafe::ba) 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.5746.28 via Frontend Transport; Wed, 26 Oct 2022 11:51:32 +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 VI1EUR03FT038.mail.protection.outlook.com (100.127.145.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5746.19 via Frontend Transport; Wed, 26 Oct 2022 11:51:32 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Wed, 26 Oct 2022 11:51:31 +0000 Received: from e125768 (10.2.78.50) 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.2507.12 via Frontend Transport; Wed, 26 Oct 2022 11:51:31 +0000 From: "Victor L. Do Nascimento" To: CC: Subject: [PATCH v4 6/8] newlib: libc: setjmp/longjmp M-profile PACBTI-enablement In-Reply-To: (Victor L. Do Nascimento's message of "Wed, 26 Oct 2022 12:37:01 +0100") References: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) Date: Wed, 26 Oct 2022 12:51:31 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: VI1EUR03FT038:EE_|DU0PR08MB7859:EE_|VI1EUR03FT016:EE_|DB9PR08MB7512:EE_ X-MS-Office365-Filtering-Correlation-Id: ec32d04e-2cdd-418f-dfea-08dab7487307 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: JOIveFvfynkTzF6aZsiwb3AKeS++26bVEgtbYhrRbvKDIqb4OKsnnNMStjSqA1ujv2GDwp28t0s/WZAFTuiI5sUpSFiUI3sKn/7XlSbon3DfeP1OwAHyp2qloOGAnJ4/fSatVEyKvUVw5jBRRt2UtkvK6fFAX9fJvamBx+ZBzXae3RL8/bAS48xNc546t+MkzRnaDfE8Z4G2iv/if4n0ExAs7IfsZSqHTQ4f1Ylnn+8nS2nPtTdfQm3D3FsGGYjWsWKbftlKwGLDsQgJTgINgvIO0NAm4nMt9EIYM/J3jpzBUJnn8AuDf+d4XSEgFM787LIhUdBw+CtB3nlU9uH6VEmdJAAZ2Az6ONWqpp2ruF5FrxZHxr8CvMU9dTNc4eHBLvOIhXhXhgmX/gEHrUgUdONP5WoBcklk70gAIKIcjF00ye1JxXzYTR06wt3BKvhjqqz8qQzGOu9bXZE9XMmH0LJfiVlEhdY9XnHJQVxyRP6FE5kfFZI4LmjskEv1OpfucDVFH9tzVwaAVK7ePHL8wPH9kLkr3+IsFPA6ssSf7qIS6hJoxREzEJ1gZY2rsJGRwc/uYkxdo0/qzIm801Og0NZCU+0hY/+u+u+EWi3ocqoEw5RLD79cubeaYRLFXNahzLSnrgs/u6QnweMPdo1Od2rxKtTFHUA6IWp/W622UlmpdihmPUQhzKFt6XRuK+EMLLCgSIyyhub0VqWQa8UUXBueGoaI1ZBSBIlpvEjuqKJt6V15sC05nqGq0mv6gLrUBp3eYCGujigBIL/6b9Qgi4JrZ59FqFS0ctKsWdg7Xk0= 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:(13230022)(4636009)(136003)(376002)(39860400002)(346002)(396003)(451199015)(40470700004)(36840700001)(46966006)(186003)(26005)(316002)(5660300002)(2616005)(83380400001)(47076005)(40480700001)(426003)(40460700003)(8676002)(478600001)(4326008)(70206006)(82310400005)(8936002)(70586007)(2906002)(336012)(6916009)(41300700001)(86362001)(36756003)(36860700001)(82740400003)(81166007)(356005)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7859 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR03FT016.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fca73351-7a4b-41d1-c9af-08dab7486d52 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: trs8AbXJQvys747fI1r+msLpCZgCtftXa4ZsdsimYNPQ6vpX37lOCDx0bGx4YtuVcQuirQWd6b+cEzH5fdJ8I1SLUt6D/vxHc5KQRojhQlwZS/qqT0L4pxdoM+SjqnLa8dT3HGDCwgYWAvpCZKc8OSx31wN/29vbaVZiRTRS9/QmyRUt/jsvflKdhWmmomRjb1vXvJcScvQIN/Q+pXys8i6+uNSHWjVHl2jWH/jPc+J7Hqj3bXd6cajTmpAJTrPXrG2acOiMO4+B2eN9bSQNcQQ2iM4uH+ignXoWhfmOz0Ksiqpyz/pYouaguYjegpXkiYTsKYvxZWAcT8D8W4+nLNT8R9SO7DAHIGXLB4PKNA+4O9XImNpSDyMvMjO+YXysS9i/GsLLNQgv5vb1JYLwikgXKXK3czdcXYckGoByAM5NpjX9cXsfvK3VAwlb++MN2FWsnYpMb2KskNoJWtNgQgUkDUeQ6fAG4X+rG/6xjXEavzzuq+UU2+hiUcjWlIJHn1qMoAfg3czDGs+YNM/yjdzxNM8JYBvZqKLJ3aN8Bqbpt494lnUDktA1CiuKmF9qgYGWER2xaQY+PNJ9uEjHa6sLwoHcAo0YrLl/QNfHfILBVK6PoXLkMo9f/qrhgYUofMAHdxlzgRvFtClK9xceVHt+m99bXuM+1Q9vENSXOWWSxEVevP8MXqwCGsao1ucBkbuQO/zJZjXPVBmQT866diF9bWuBi0udt9WCztXrK/VOixZO8SCzhd6E/eC6+MMLCJzn1JFHrZnzXYMhPpuLXA== 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:(13230022)(4636009)(39860400002)(346002)(136003)(396003)(376002)(451199015)(46966006)(40470700004)(36840700001)(316002)(6916009)(70206006)(70586007)(40480700001)(82310400005)(36860700001)(336012)(82740400003)(2906002)(81166007)(4326008)(26005)(41300700001)(8676002)(36756003)(478600001)(426003)(86362001)(5660300002)(8936002)(47076005)(83380400001)(186003)(2616005)(40460700003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2022 11:51:42.0833 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec32d04e-2cdd-418f-dfea-08dab7487307 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: VI1EUR03FT016.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7512 X-Spam-Status: No, score=-13.0 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 List-Id: Add function prologue/epilogue to conditionally add BTI landing pads and/or PAC code generation & authentication instructions depending on compilation flags. --- newlib/libc/machine/arm/setjmp.S | 33 ++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/newlib/libc/machine/arm/setjmp.S b/newlib/libc/machine/arm/setjmp.S index 21d6ff9e7..4fe53cdf2 100644 --- a/newlib/libc/machine/arm/setjmp.S +++ b/newlib/libc/machine/arm/setjmp.S @@ -157,11 +157,15 @@ SYM (.arm_start_of.\name): .globl SYM (\name) TYPE (\name) SYM (\name): + .fnstart + .cfi_startproc PROLOGUE \name .endm .macro FUNC_END name RET + .cfi_endproc + .fnend SIZE (\name) .endm @@ -173,11 +177,26 @@ SYM (\name): /* Save all the callee-preserved registers into the jump buffer. */ #ifdef __thumb2__ +#if __ARM_FEATURE_PAC_DEFAULT +#if __ARM_FEATURE_BTI_DEFAULT + pacbti ip, lr, sp +#else + pac ip, lr, sp +#endif /* __ARM_FEATURE_BTI_DEFAULT */ + .cfi_register 143, 12 + mov a4, ip + mov ip, sp + stmea a1!, { a4, v1-v7, fp, ip, lr } +#else +#if __ARM_FEATURE_BTI_DEFAULT + bti +#endif /* __ARM_FEATURE_BTI_DEFAULT */ mov ip, sp stmea a1!, { v1-v7, fp, ip, lr } +#endif /* __ARM_FEATURE_PAC_DEFAULT */ #else stmea a1!, { v1-v7, fp, ip, sp, lr } -#endif +#endif /* __thumb2__ */ #if 0 /* Simulator does not cope with FP instructions yet. */ #ifndef __SOFTFP__ @@ -200,11 +219,17 @@ SYM (\name): /* Restore the registers, retrieving the state when setjmp() was called. */ #ifdef __thumb2__ +#if __ARM_FEATURE_PAC_DEFAULT + ldmfd a1!, { a4, v1-v7, fp, ip, lr } + mov sp, ip + mov ip, a4 +#else ldmfd a1!, { v1-v7, fp, ip, lr } mov sp, ip +#endif /* __ARM_FEATURE_PAC_DEFAULT */ #else ldmfd a1!, { v1-v7, fp, ip, sp, lr } -#endif +#endif /* __thumb2__ */ #if 0 /* Simulator does not cope with FP instructions yet. */ #ifndef __SOFTFP__ @@ -220,5 +245,9 @@ SYM (\name): #endif moveq a1, #1 +#if __ARM_FEATURE_PAC_DEFAULT + aut ip, lr, sp +#endif + FUNC_END longjmp #endif -- 2.36.1