From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70078.outbound.protection.outlook.com [40.107.7.78]) by sourceware.org (Postfix) with ESMTPS id 376E13854167 for ; Wed, 24 Aug 2022 10:33:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 376E13854167 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=fqnhENGzSbt3NdX04C9aUG0Z1c44voowLAwTdJK1zAxdpql0RO7gU6ES9YjU0LgePdb2VFgmsJSU/6QDe4rmzExx+07ZUYmwU1WzJF7SFG/KztXmjfbGkqnztDO1tVUL3DyKnB/e0gyESjQO0ao6r9UQXBWywKroUzhhDZUUOHooK2QvHb2QRKZZUctXf7e8MrqdMJjOWwdKgbHwEuv7MjjkoOHPWUeuaXHZElkKyFw8G8MJjiAisbpbl5br9DHKRTMu73FUhdGkPKNFQP7fT3RK04avpFknB6TpfdeLNHVoyuven09P/0NAlwPV/xpCwS0KJgxzXon7s54sgWyoWw== 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=I4RZvg/2ZzDweAp8qXJdB/kGWuwuQMFFwzCwywQ/q2Q=; b=ACX3zU1mXrI8bSPd1Qaju1RianG4E+JMZkXrhbcVDFTV3v+24WROwViJB4ySCaxj1GFVzn8rfZBHFSgEm2OR97g2XWvCyII3xiUEdfuBZ9S+Gc5zw4kxq6oB4Xc4/EDXQabHN4WBeGSj0gv8OtTvwluSgG75zn3cLLC8j/iOan6EsBA5ftXjRijxChXHedEGeWb0+COpzTFxsN7uIugRkK5diOby0DcEmCD45RINj6f+3fJ0xjb9nvbeawAF6SUKIm9/EXy2yLysbTcYGzDDR1sSbN3FbirW/kTlHxhLLpDgspedcdfNdCcUZCtafNWzyB0U+9P4r+ChdL1Wy9gYgQ== 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=I4RZvg/2ZzDweAp8qXJdB/kGWuwuQMFFwzCwywQ/q2Q=; b=tVjcpveJshv3Ysl2qx0IIG6bTngQSEiBFxHciuKNnN5Z0M7qNHwHaWOScGUaO5oI0pnK9NKEbzmADBZS4adOUULKoscYdrag2DKx5PspIDqvBeV0uET5NNYLXxr2IGK6Q4l4G37/67VEJdBcX8uFW9R42Ke0gRx0NEl6f/X9wbc= Received: from AM0PR01CA0133.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::38) by DB6PR08MB2919.eurprd08.prod.outlook.com (2603:10a6:6:1e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Wed, 24 Aug 2022 10:33:50 +0000 Received: from VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com (2603:10a6:208:168:cafe::d6) by AM0PR01CA0133.outlook.office365.com (2603:10a6:208:168::38) 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:33:49 +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 VE1EUR03FT005.mail.protection.outlook.com (10.152.18.172) 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:33:49 +0000 Received: ("Tessian outbound 2af316122c7a:v123"); Wed, 24 Aug 2022 10:33:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 0963a53d61369678 X-CR-MTA-TID: 64aa7808 Received: from b4a33ef70a2c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 88B7D480-A217-41A6-B4FD-B6E14008568A.1; Wed, 24 Aug 2022 10:33:42 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b4a33ef70a2c.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 24 Aug 2022 10:33:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HPgGkISmzlQsjkRopk32ldrOSvdXA95jnMNbUeDNUUouH+wgsN8m6wur1SDDD+tJnZ6vBDpEjjpmI35c2nTu3vYhKVQL9nIZITJl3NjD5fRiv3D17o0wgpiF37LdIegg5a+EC4PX/EgvgIlQjNOei3yaD7+hDoUGqB/NseTdrLD2eX9S34WMcg/m4RRM+bBIOp6Tmh4G9L2PgqmIlc7N2EGbXGzSfESt3Xit8arFe2jw91HH2JsMkkwuakPKTW4PSWqeaLyGn3SgRKdoMrWWJLtdnBrCODVXOKy2Y2CaS95EzgvCeyiGx+EX1voS5kIhbib2jDDHw9r+qb4KhXrl/w== 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=I4RZvg/2ZzDweAp8qXJdB/kGWuwuQMFFwzCwywQ/q2Q=; b=gBkTPQ2mYkQJ7jOT1Numgx3Um2XtK8o9q9Wh2TGT+g4/eINwyCHeR9beGMVXsU64eJDgNF89s+QfD/GIz+oXN9OQcbl777A9oy2IyEL/kCGrRBeY/CWiBKDy3NIu9esADD6d4UcyfzwmL7WDQX0yez/FhIZ4zjPUh8tqKyhcWZEkx4smG3iDIwdzgFkUmFx5AlBYoT3Gn0ABkAKZBZqqO0XcZGjLymNvpm3SvtqcmgL9fAcvim8ljxHKhtWu+EBDgE7r1/2kT5RJSML1gg/N+LPKCOKJ4TvFHcLqAJ5fqb5CoC+8qijYbZXLKt3nO3xDCGSaQc0VRw87K3yfv18IeQ== 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=I4RZvg/2ZzDweAp8qXJdB/kGWuwuQMFFwzCwywQ/q2Q=; b=tVjcpveJshv3Ysl2qx0IIG6bTngQSEiBFxHciuKNnN5Z0M7qNHwHaWOScGUaO5oI0pnK9NKEbzmADBZS4adOUULKoscYdrag2DKx5PspIDqvBeV0uET5NNYLXxr2IGK6Q4l4G37/67VEJdBcX8uFW9R42Ke0gRx0NEl6f/X9wbc= Received: from DB6PR07CA0202.eurprd07.prod.outlook.com (2603:10a6:6:42::32) by AM0PR08MB4545.eurprd08.prod.outlook.com (2603:10a6:208:138::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 24 Aug 2022 10:33:40 +0000 Received: from DBAEUR03FT011.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:42:cafe::e4) by DB6PR07CA0202.outlook.office365.com (2603:10a6:6:42::32) 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:33:40 +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 DBAEUR03FT011.mail.protection.outlook.com (100.127.142.132) 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:33:39 +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.9; Wed, 24 Aug 2022 10:33:23 +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:33:23 +0000 From: "Victor L. Do Nascimento" To: CC: Subject: [PATCH v3 3/8] newlib: libc: strlen 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:33:23 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: 85838212-b0f7-4654-c4c7-08da85bc220f X-MS-TrafficTypeDiagnostic: AM0PR08MB4545:EE_|VE1EUR03FT005:EE_|DB6PR08MB2919: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: kdFZeirGE56eVOv5v8HgmX5sWsUDrEJPfjfXHbL1sgX2cU1W2I2LHrzdgY4rTvnwOpMDzXk1M/k6izk3auoepsW6QSiMLwPMIvic6WdRIra78TlN1BEKyz//5IXY6rHuPWxwlWHK/HL5qi54oy4haphAawRDIKIoZVnRKcQcZ3t1bIKCYZsz1e+4603i1ttTCeArRUIcMlnphbeSgYUH3i8j+DpLpQt5W5mikNWPPMDXMbbNSkVlwMlsphLrBo9FEYjM8p4Md7gDyRYMhbMkrfeIiNoNx9MKuHmn/yfkaVtaWmDyC2Svbo9L3r4LzQz6mUYfkWHV+BcXk/Wj/VKkIKh1IeDREoNm79IfSoasvn6u4TCHpiZIJknyxGsVcwmfyo0fPe+tFoQB8cA5ZzNN+RGfpRqvwDSaOVaiNHgnPxMbaJtdS2vUw5exzi7js+eIXRQtWWZOl5Dm+0E0/XHoM47JlpagSHQSvYWmnjdRafkfh2nZPRJJA5mGx37fAB1SPBbu24YN9pVTlViQVOOtUaz9ApZdOqmu3dXzYIWk0NXQ0condooi1FccXyHcQ7OmUDFoe8n8R8XUb+dA3hZYe8qMW+HN9HFKUx6vHViqgd/KWMC9Rk/CZYqG49JFXNnvS6S2V3VC9mK05MEmSqS9BDweP/OIssuWO1jlYCcnoLzpoi7SrA1l32hWBzO8A4LUpA6s7+r16Gx6msG5ATGg0/dYU2r3WJQmlLmu6/IiLMxW4Etv9RyVZwHdkbdU2xvjwTHnpd5X0/5PKro+lkRrCJsDL7LRk99vcbiCG0SZKpRZNkjlH9QylD5KEN6tpROQoFwzY0t3sEVsIK/yjNIYbwJs1M5mBIfY9dNtkQ8nsFSFwZS5hest2VvafsNZER/n 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)(396003)(346002)(39860400002)(376002)(136003)(36840700001)(46966006)(40470700004)(86362001)(83380400001)(4326008)(8676002)(8936002)(70206006)(47076005)(70586007)(2616005)(5660300002)(41300700001)(426003)(336012)(478600001)(186003)(316002)(40480700001)(36756003)(81166007)(19627235002)(36860700001)(82740400003)(82310400005)(6916009)(40460700003)(26005)(356005)(2906002)(36900700001)(357404004);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4545 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 52690291-fd4f-4c1f-6aca-08da85bc1c35 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q+woPBPgh5ykb3QeYB4dnrOQa8kmgQHnKaPWjKoGgnyprLNk9yPTpga8qmO+0abZeodu94iO4R82HU9ARTEe/LJ2NcFh2tke+ee24mkAd2StD0nS6W5UOvUYDJqJvHhr7V8oBJaSLsWq2gsGWqH7cyJ1cieF/n4sgDpsrc8hfFGEU0GweCA3a7bGpuQ5XL6h1NPV3Lm5lF0EkuhhsbdVzcASAYIOuYUzHIRM5/klXIaMb9jEZnhV1BM56nIkxj5CG8MMKo4D0ewtlPQoXn1eJaxzUJCadwtow5aP1kmSSFsHogr487ue8rHYLnVTE1cfK1+bVvHVSzFovquTIkJga9JhlrKLbRLFpl/IQqh9rivIleTjaF5HNCxHCae14DBAVchZdNi738ri1p9WuGbEVymrOTTb7MISSWnn1topWEZgBDnNw/Es2i1gJWr0I4/vfG05Ij1i2pR8jG1hSkCQdPjOr3TUdE5amTbYrlkLJQNjVtI7iuKg1Zep0PtfB2O9DHt30FlYGf9JBJRAPEUT4akpzZO1J1aDT/X8M8936Ra9wivP1P5U9zVOVte3mQFAsKBkywcQtG3vHyALrV7Vc/GJdP50V6csQyfCAG9j8jtbFjnIZQxZq7Z+iS0GhatcXx55Z/E272JGu8jkk8tKsAFJfK9Yq/NUtfl1y/Tc3qye05hu1pvglPrH/KQE4iDzSvr2rEYC0ES344WQFADF5NFr1YwZ8rhNkJ8HPznkEqx5fVmaHhz1LVDF5Z4vEDmNgoiOgM7bb/mVDVhDfAGIu2dqmZ6XjdOOEynEJt5vmxE= 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)(2906002)(36860700001)(41300700001)(26005)(8936002)(186003)(336012)(83380400001)(2616005)(47076005)(478600001)(426003)(40460700003)(40480700001)(5660300002)(82310400005)(316002)(6916009)(70206006)(19627235002)(4326008)(70586007)(86362001)(36756003)(81166007)(82740400003)(8676002)(357404004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2022 10:33:49.6901 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 85838212-b0f7-4654-c4c7-08da85bc220f 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: VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2919 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. This patch enables PACBTI for all relevant variants of strlen: * Newlib for armv8.1-m.main+pacbti * Newlib for armv8.1-m.main+pacbti+mve * Newlib-nano Regards, Victor --- newlib/libc/machine/arm/strlen-armv7.S | 16 +++++++++++++--- newlib/libc/machine/arm/strlen-thumb2-Os.S | 14 +++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/newlib/libc/machine/arm/strlen-armv7.S b/newlib/libc/machine/arm/strlen-armv7.S index f3dda0d60..1ec6398cf 100644 --- a/newlib/libc/machine/arm/strlen-armv7.S +++ b/newlib/libc/machine/arm/strlen-armv7.S @@ -59,6 +59,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "acle-compat.h" +#include "arm_asm.h" .macro def_fn f p2align=0 .text @@ -78,7 +79,11 @@ /* This code requires Thumb. */ #if __ARM_ARCH_PROFILE == 'M' +#if __ARM_ARCH >= 8 + /* keep config inherited from -march=. */ +#else .arch armv7e-m +#endif /* if __ARM_ARCH >= 8 */ #else .arch armv6t2 #endif @@ -100,8 +105,10 @@ #define tmp2 r5 def_fn strlen p2align=6 + .fnstart + .cfi_startproc + prologue 4 5 savepac=HAVE_PAC_LEAF pld [srcin, #0] - strd r4, r5, [sp, #-8]! bic src, srcin, #7 mvn const_m1, #0 ands tmp1, srcin, #7 /* (8 - bytes) to alignment. */ @@ -159,9 +166,9 @@ def_fn strlen p2align=6 rev data1a, data1a #endif clz data1a, data1a - ldrd r4, r5, [sp], #8 add result, result, data1a, lsr #3 /* Bits -> Bytes. */ - bx lr + epilogue 4 5 savepac=HAVE_PAC_LEAF + .Lmisaligned8: ldrd data1a, data1b, [src] @@ -177,4 +184,7 @@ def_fn strlen p2align=6 movne data1a, const_m1 mov const_0, #0 b .Lstart_realigned + .cfi_endproc + .cantunwind + .fnend .size strlen, . - strlen diff --git a/newlib/libc/machine/arm/strlen-thumb2-Os.S b/newlib/libc/machine/arm/strlen-thumb2-Os.S index 961f41a0a..a46db573c 100644 --- a/newlib/libc/machine/arm/strlen-thumb2-Os.S +++ b/newlib/libc/machine/arm/strlen-thumb2-Os.S @@ -25,6 +25,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "acle-compat.h" +#include "arm_asm.h" .macro def_fn f p2align=0 .text @@ -33,8 +34,9 @@ .type \f, %function \f: .endm - -#if __ARM_ARCH_ISA_THUMB >= 2 && __ARM_ARCH >= 7 +#if __ARM_ARCH_PROFILE == 'M' && __ARM_ARCH >= 8 + /* keep config inherited from -march=. */ +#elif __ARM_ARCH_ISA_THUMB >= 2 && __ARM_ARCH >= 7 .arch armv7 #else .arch armv6t2 @@ -44,11 +46,17 @@ .syntax unified def_fn strlen p2align=1 + .fnstart + .cfi_startproc + prologue mov r3, r0 1: ldrb.w r2, [r3], #1 cmp r2, #0 bne 1b subs r0, r3, r0 subs r0, #1 - bx lr + epilogue + .cfi_endproc + .cantunwind + .fnend .size strlen, . - strlen -- 2.36.1