From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70047.outbound.protection.outlook.com [40.107.7.47]) by sourceware.org (Postfix) with ESMTPS id ECFA8385843D for ; Wed, 24 Aug 2022 10:39:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org ECFA8385843D 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=gI0024zQqw/D/mRGooOF12Fy61RI+guEX7odSSrjFX834ge/Gfk+wQBawzA+r5mRzjn498wIyPh8G/myDOyc66r/Cpvn1swx4fKAyng7vX7jmLRbKwl4+HTFvvdJTCF10227J9yP4l3mXKx30syEBRuWZijbB1cWsbYA7b304/CWzwldgufflqWHK6Xw4vyFMLItMFkq1UdC42/UGUta3BVy8PIPwV4gepV+653lp3sYSrJIvZ9H1DFLL4VW3VwY+tgxned9/dz/rFSGs2hJbiHLI0UaqHh6XiOBiH7j653BPvWrWBHFj5AdcXzAkj+UfrsMteAwBNebqXXqvRlJrg== 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=cqgGv209fFL8jtsM7Do2R+Ye+A7orXvY501GthT0YJs=; b=TEsnUR7BotEj5C8w4NKfTy2MmZsc+X5udfJuAsZ2RghUaRuee592c+YSoYGE+6wNQzEtbMYeuVK9dFjJgjJ6f9kuwCjugG8i8kislGHFpayI47sjt6W+SQ0Sdc3/Z1Mcyt3GSantl9HTrqsO3gzZW/dmAxvm1knFXUobBogjbl+vgEou4Xgg3La16NjnE0CvhCFTZdrgdiKTxPWWf2qy2gItkuIF2NeW3QNbPLUlwA5wIojEvMlTkUiL7ifpHD2ei53x+H0/grKmC9AcankPuAhysWb8A1f1pl/zpeGESsGOV3Jd691BRrRXDB5HHImxgYz3fAHIFmhnQKGMANsHfQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=temperror (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=temperror 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=cqgGv209fFL8jtsM7Do2R+Ye+A7orXvY501GthT0YJs=; b=rStBvKRM36DjpgrFCkvBziEH6lH5bCjuuyudUf/RF908jceecpPZeX8zIbUZWy2kMiTEjTHcVfrIYbnezxOlw7KI2rlJFs4IQam0ZfMKFMY50OkUUfHfBst99a6fte49ak6qBUlsR3F5+cH3q9lxok8ICQbPUq6McAxdZJ99YRU= Received: from AS8PR04CA0118.eurprd04.prod.outlook.com (2603:10a6:20b:31e::33) by PA4PR08MB7412.eurprd08.prod.outlook.com (2603:10a6:102:2a4::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Wed, 24 Aug 2022 10:39:01 +0000 Received: from AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:31e:cafe::6e) by AS8PR04CA0118.outlook.office365.com (2603:10a6:20b:31e::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 10:39:01 +0000 X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT018.mail.protection.outlook.com (100.127.140.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 10:39:00 +0000 Received: ("Tessian outbound 63c09d5d38ac:v123"); Wed, 24 Aug 2022 10:39:00 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: ceaf490ede711657 X-CR-MTA-TID: 64aa7808 Received: from c802d98f9f33.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 27AD7C12-CCAD-4E2C-9210-D40085968C30.1; Wed, 24 Aug 2022 10:38:52 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c802d98f9f33.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 24 Aug 2022 10:38:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AvG36WNtzxTWkabUaZQnRmg3SVc461ogW5kuqQXbhUnQQWyvE98uiWePcERIJdXSNKL5XV9oJ29X1dVPytFtj/Le0mkmcvJFgL9Ge/IsbVpMDzSulvzU0hc2FxSQ0alD0Tj8w8k0fwJ76T7nmPaFhdWcKLrSpLlNC7g7BBiM81Z0VjdvK813YBSsNIFoiKGHuFsa0NKH9LuzILJe+kQz/M1VDWcw/0ZSXvuefXWDWlY6HBM4dTSoe+O60RfJlDdVM9ZSaj8Cwt/iYclX0cZqRauymhtaS7fzqqan+C7gtYjqMzw/BxhwERBBIpye333rdhgt32dpf3jOb0p/MEv/5w== 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=cqgGv209fFL8jtsM7Do2R+Ye+A7orXvY501GthT0YJs=; b=GtIiELyxx7H2cFD64eDbCC9pbm0Y4YSiiv9upoUMF+OxcJerFS93husd95VEoLY7HItAxppIRm2BRX31CCXkBJkySs5z3EA3UAbtJ0XYIycnvbq+J1kX3Bw8Uule/F8EgEvBN/tnMfjXHbfSxELtX/ISO3HGZTcBiLfnEmgI9CqePdw9aW68517k8GWULf5dN+WS2yrCsVKYUDPOvJr0+toccptM5ut99/CHIOWOZUrU8y24DZgxk4C6UGRjdfHylVGYohhgBINGcFZoPQ1t25XxGWZDleuMi4qwRsfdTuSZr7wAkGotGMAEljj8uhXvVRp0JCnBLFJkcQLvwCi1sw== 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=cqgGv209fFL8jtsM7Do2R+Ye+A7orXvY501GthT0YJs=; b=rStBvKRM36DjpgrFCkvBziEH6lH5bCjuuyudUf/RF908jceecpPZeX8zIbUZWy2kMiTEjTHcVfrIYbnezxOlw7KI2rlJFs4IQam0ZfMKFMY50OkUUfHfBst99a6fte49ak6qBUlsR3F5+cH3q9lxok8ICQbPUq6McAxdZJ99YRU= Received: from AS9PR06CA0333.eurprd06.prod.outlook.com (2603:10a6:20b:466::12) by AM4PR0802MB2289.eurprd08.prod.outlook.com (2603:10a6:200:62::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.22; Wed, 24 Aug 2022 10:38:50 +0000 Received: from VE1EUR03FT041.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:466:cafe::8c) by AS9PR06CA0333.outlook.office365.com (2603:10a6:20b:466::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14 via Frontend Transport; Wed, 24 Aug 2022 10:38: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 VE1EUR03FT041.mail.protection.outlook.com (10.152.19.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5566.15 via Frontend Transport; Wed, 24 Aug 2022 10:38:50 +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; Wed, 24 Aug 2022 10:38:47 +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.9 via Frontend Transport; Wed, 24 Aug 2022 10:38:47 +0000 From: "Victor L. Do Nascimento" To: CC: Subject: [PATCH v3 6/8] newlib: libc: setjmp/longjmp M-profile PACBTI-enablement In-Reply-To: (Victor L. Do Nascimento's message of "Wed, 24 Aug 2022 11:18:17 +0100") References: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) Date: Wed, 24 Aug 2022 11:38:47 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: 671d50b5-17c5-4d02-fd28-08da85bcdb16 X-MS-TrafficTypeDiagnostic: AM4PR0802MB2289:EE_|AM7EUR03FT018:EE_|PA4PR08MB7412: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: 2UiyqJ6dDGKZdHTRFhGZxvHWI5L9G2mFU0UPuyq71aJR+hp2H8Dd73kYjqUxFts2an2t/VGAulf53rMVBRwVEKd/yxwgYRBEmqowyjCa5+k/o9Fge4vdoV8Rumr9YdkeUFxBdoxyczM0O4ZkKxWugzmJDh1QWCQxo/R4wBnmH8Z3L/9fVftx+paUoaooRicgzXazJ4pKd21eAYL72vCoCdyiG9CGF9qi7mnGHdR4SAiTzTJGhQeS9eoQ0PsOFl18AnH3rvxClKxsj+xiJW4KRUvqsYWzqOwW3rcaRrSjIINO7NTWV3YIHJVvOxEIjpyG3Qu5Wy2/uNnhF2Nmuzc7xMWtPdcBu2zpfNauCAf/QdXL7BPK3Fpz1+a0p54LHHLwAmFvLDPsDyF63ly/ZwMq/DMKAruts4GRyrqLG+iaSZAI93C6heP/vaw16CuOX3am4hyOzeHXfz92hatV4vE3oUaqYlhhmj59befhBdL29oD8aT5H6oHJkFsxJ3wH3nnSWHgpOsifm2+J7y5/yIiFCTvX0KbPEhZECU6K5lR1AIqV6XhhDpr9qmlysCOewQJ085T4j9dL+rrECDc2K0aKbjHnSzYtHp+hkELDrRqLOQLWlXklYj/+ZMFkGh2jw/EJjFJQWRoHCQdx1rthiNzyKCNbf3MBg2p0VcTgzJWtAHJ+9iac00bOo6I+02sJpsGi75AexKzCvXWtIpnvG4qADRjp7AtqUr19P5hlfqMKASfMSmMEUcJxWXrErsDrnD+HRHzgwXf5qYcrIzpLv9U7VXKO0I6G3EYlQzAno5/b4rh0eAEslK6QX0aMVd/ijY9/ 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)(136003)(39860400002)(346002)(376002)(396003)(36840700001)(40470700004)(46966006)(356005)(81166007)(40480700001)(2906002)(478600001)(82740400003)(82310400005)(6916009)(26005)(4326008)(70586007)(8676002)(70206006)(316002)(83380400001)(426003)(41300700001)(5660300002)(186003)(36756003)(336012)(86362001)(47076005)(36860700001)(40460700003)(8936002)(2616005)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2289 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 86f90b2d-a929-4615-f18a-08da85bcd54d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: a7BVkI7MQhdp81pdElEmQXrHP2maujw87bpWz5QdE5ACBZjsf04MO/XqOUg9O8erikTm9c1DdgjT5Vn49FbUfJFNGfciZJNqelI0TUIBpP09Zq9kizog8oyufNAc9g04pR7MMoJzycbU79d9Y4bjvSDnCH+7V185msksG16g1n2glAJyZ8LK5SdXP9goHb6PBGQtCpMZ1lr3W+AfZA3L4tGGbehlWck+6+hrfEUGsDW5qYYYvrKBPwOWuMrrA7ulc/WcP87I0QUEqqxbThOECqLBh6uAJ6A3yhxMPGpQhTmUVeMmszW2rO4VxvZ86LoqyWmEXu3rfwdhLX6zvaghfZjFpqWg/SUCS80D4bFOh3+K8StlaWaYU7VnAKEKN5TU0iEKaLJwipT4ff+VErRFBS6U8NX0uSa9dkVIEul56xoCN3gapNdh1N3sKcElo4YE4D6WPtM9gL+RoGUmGVbNmPJFksEbsPrR/XyVK9fmJ4RGyPh8DTbeBN56/CE22+RbQJYt9dxWbNeI6OzihvM5iw8ruq04KJVka9JVSOHng75vnTKKUEKVcICz11ajiiPxykjuYVO4hyjLxp3vY/R1PBF/0zi2WkuzebkYcyJmo1kVvfLaRbS9Fr0wEU0ll3h9q/RB5nDdrF9NUCNUgbBRtnu4tQN0Lqyyspys5cnnsutsLUe8imUpiLVTNC96t+XK4j59trDW6vnSFe5qF5Mf/0JDit2bxfc2s8Ap0qxXMSNyEYOoms8iQbPp4eRdarHDzWQBDuUgKfTnKXd8Qvtm4g== 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)(376002)(136003)(346002)(396003)(39860400002)(36840700001)(40470700004)(46966006)(2616005)(478600001)(186003)(336012)(426003)(26005)(47076005)(2906002)(63370400001)(83380400001)(40460700003)(82310400005)(41300700001)(316002)(63350400001)(40480700001)(8936002)(70586007)(70206006)(6916009)(8676002)(86362001)(5660300002)(4326008)(36756003)(81166007)(82740400003)(36860700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 10:39:00.1940 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 671d50b5-17c5-4d02-fd28-08da85bcdb16 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: AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7412 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,T_SCC_BODY_TEXT_LINE,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: Hi all, This adds function prologue/epilogue to conditionally add BTI landing pads and/or PAC code generation & authentication instructions depending on compilation flags. Regards, Victor --- 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