From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2050.outbound.protection.outlook.com [40.107.21.50]) by sourceware.org (Postfix) with ESMTPS id 11DB23857365 for ; Wed, 26 Oct 2022 11:47:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 11DB23857365 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=LVe6yfNvtntBdOjNMSWzreECk8U5CvF7/wUOeIzyVH0IPBkWo4uEiAwHio+T1x/ypQw6ZALUidzgn13M/RHq1frsnBl5DCgES4b8rXoGS40nsp9wQ8c6i9y2eUxog4qmKTbm6dHshu5rdjKgwkCqd5gt51VF3ugIhgt/DsYv7zrGPNC/m547X00XT6eEZyDgYzyHXT75xF+tFDCZ+aGL/7iZ0MZk5+mtEvdd1EEUbhwYAcqeJWv/w11dwQMMAwt+XHUFY8o8noH+/39TlduYpNZSRdxIhgPp3GJfNnxHUk4ffR9BFFsUpEvh2hXlscSzaGorjqDqmW3BEuQmJLMHwA== 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=hyqG2K9k9D69DW17EHY53LcS4D/a4xY5kZco7HlNE84=; b=SI0TZs01YWzFiWbB8UvU9O4gGWATXbMzQ0QhxG+bz1yU0du4fa7a71skw+J1MlPJXazMKoIwHmGwj8yvHcee70s5y+yuKJmsaom4xcXB1nBdPAdWIv1e8a9JCmdXig2//Sq9hlXH5mOWNjBg+2V7Z3r/Eboxqa2IvDJycq8Qb6x40kh8DDYzOEnlHFmTkxXgSBiJUiuyfdqdQuAQNXVAQwD/H/JXJYWnG5KKRS0aCpCMBbdHwi7/9DByFjn6d0Q92D9tkOrN9SzYOA0zovpOaEkA3bYjzico86yd1JM9WNwbYXS6HeEnM1s+kmcpP+sC4LUOU3gMdIeTn+obQeobag== 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=hyqG2K9k9D69DW17EHY53LcS4D/a4xY5kZco7HlNE84=; b=ILbQDsevwmVtswYrpQ/sugfPjMGBK24UHGIxb5so7vlBMWLrMV8WmJhirQTOmcK8/eiy24EG9c2L8NnezOkx2LxfkvjQwbYNfbHpEi2UOqXWxln7syZrhm6O/urokqNjY3JdG86ofJaQZE3SMAUW2dvZ5NbC8S1iTnfTfO9Oeww= Received: from DUZPR01CA0006.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c3::13) by AS8PR08MB6680.eurprd08.prod.outlook.com (2603:10a6:20b:397::13) 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:47:50 +0000 Received: from DBAEUR03FT048.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:3c3:cafe::97) by DUZPR01CA0006.outlook.office365.com (2603:10a6:10:3c3::13) 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:47:50 +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 DBAEUR03FT048.mail.protection.outlook.com (100.127.142.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.10 via Frontend Transport; Wed, 26 Oct 2022 11:47:50 +0000 Received: ("Tessian outbound b4aebcc5bc64:v130"); Wed, 26 Oct 2022 11:47:50 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1bdb01976fb3f8c6 X-CR-MTA-TID: 64aa7808 Received: from cd71989e1a0f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9E9A0633-368F-4606-80E1-1DC8D14D6FC2.1; Wed, 26 Oct 2022 11:47:43 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cd71989e1a0f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 26 Oct 2022 11:47:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U791ewG8HBt3ikSjognnAYCrxT+t8645XdnJFr0YFM0+U62uZLY++7TGByVuhLT9fv+el5/ie2szT0eSHWYSr45ndkkxwk2g7mCuTAD154p3nTfMSiezACZRc4n1x6cZ7D9UxxBaQilgBjvwmEMWTzz6v5g7dhwkHO3DsVAW7esopX6y3hy1bf8T9tVlpKfGOEEAAm54j5R4QWY6SbtGR4yujbfLSvpEoRAqsII7AQHJGBnZtHqw9HCG+2tqo+nNx1Zm/jTS9jACwudEID0/oBsVyF9kzrs9XiqCJPfZ8zp6GsclGaghYfwDNpbVleDmIP9nY2BLpPKcICu2cvBZxA== 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=hyqG2K9k9D69DW17EHY53LcS4D/a4xY5kZco7HlNE84=; b=OktO7aAYNZFo1M4CAfSjO28Qvzh2L+N4jf9bharg9dGtoRaTQKOhYFMbhClGlAxHmeEO6GBZ1ONE9avV2rwqePhR2PurKdPlY3MEcRRU2rwlTe2dWrc0lvIs/FiA+pp8nx7qlBKMab/6xOafViH3qBdOZ6vC2ntmHKwGqvB11KZmhnNJdzSRNZUxk/QoyiJG2bHnhgeigEhUUzLPMXzU1JZKvdGorGFzLGegpnKQ06bldvQCF/f5nGt3xmQcE+9AU6kZYdzv29H/GOvNYEKaYMcLsrLt5e1SWfVb7X2Cv6SzPvRbOPZC0ZNni17NSZW+NBVpPv5i+NUhhxKTCVws/A== 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=hyqG2K9k9D69DW17EHY53LcS4D/a4xY5kZco7HlNE84=; b=ILbQDsevwmVtswYrpQ/sugfPjMGBK24UHGIxb5so7vlBMWLrMV8WmJhirQTOmcK8/eiy24EG9c2L8NnezOkx2LxfkvjQwbYNfbHpEi2UOqXWxln7syZrhm6O/urokqNjY3JdG86ofJaQZE3SMAUW2dvZ5NbC8S1iTnfTfO9Oeww= Received: from DU2PR04CA0040.eurprd04.prod.outlook.com (2603:10a6:10:234::15) by AS4PR08MB7479.eurprd08.prod.outlook.com (2603:10a6:20b:4e6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.23; Wed, 26 Oct 2022 11:47:42 +0000 Received: from DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:234:cafe::55) by DU2PR04CA0040.outlook.office365.com (2603:10a6:10:234::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21 via Frontend Transport; Wed, 26 Oct 2022 11:47:42 +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 DBAEUR03FT059.mail.protection.outlook.com (100.127.142.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5723.20 via Frontend Transport; Wed, 26 Oct 2022 11:47:42 +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:47:41 +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:47:41 +0000 From: "Victor L. Do Nascimento" To: CC: Subject: [PATCH v4 3/8] newlib: libc: strlen 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:47:41 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DBAEUR03FT059:EE_|AS4PR08MB7479:EE_|DBAEUR03FT048:EE_|AS8PR08MB6680:EE_ X-MS-Office365-Filtering-Correlation-Id: f348738f-e993-4fde-5b94-08dab747e902 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: UzhWO0ERS3sre6maExwk1x4SXBUYvE48EXIs31lu8NfjpuPixzVgsnHIbMmskvPBXf+BiLwATpW8R/L/FhnkzgpSBbOHl4k1/8sDKINIKqOGF1g9el7h/Au0m4QgF0+EqjtkP1mfZHd/Utc+BQDqtWLKtK4uei+J5Amu4cFhqg4qpIexOHZdZ3Cc5ukHv/3X7wdqX+B5YGoLTOiLCRueLy3Z9jdmQvBt0efVSZXlm523VKwO6IO4aeZGjhfDtXMu51VhQdCel2WdZLigKGDZPE9bJktMi6e4MyBDP9xnxprw0qHgLPMHu/Y09ApxxAGqre+mWFTEsmFPcL9m86x2LoL3NejHu5RZr6/TW6Qd33IBGqlGxY27CIHrvgRers+B3/PfLIRgRl+fx80A1I5Znry4mo+EiqHzOgw2mw5ACuUhKnucweYekeCiwD5jHoR4pIL1eectAaFXQCWszaXqjzZLXDzvHmY7AEGr/X9+svfKLNrMFvm1v488QhBG92VzXhdr4V4X3/Ke/q1/TwKAHbALM+RWfDbXJtIK6AV+E+O+oopgu0ZlXZ1/mzyZIW9POilNBkLTtchFkf5odvtePH090HibFFOCUa6+uqRh3VR6CJKxXFbNQZ4o/wg52PyiH4zqz4s/JRx5JehvZrmt9Urxs19l8ZXndp4gZ/TVxvc14r92Y3GFN1g3NqMBXZnwoKqgZNdVYDsmfTs3juhF5uzagzBfWKhX+kDNQcAXaYFGWCGWTbcMS78U1k/ZwsZXTs+QE0RYu9gOjQ6STyB8/ygKef0uvz99Zbc4J21/1+IEFqDqK0DZeqBEtt3GCFpR2DbNs2AJlQ6Ub7E+LrXj6Q== 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)(376002)(136003)(39860400002)(396003)(346002)(451199015)(40470700004)(36840700001)(46966006)(83380400001)(478600001)(4326008)(8676002)(70206006)(70586007)(40460700003)(47076005)(426003)(6916009)(2616005)(356005)(81166007)(5660300002)(8936002)(82740400003)(40480700001)(82310400005)(19627235002)(86362001)(36860700001)(2906002)(336012)(41300700001)(36756003)(186003)(316002)(26005)(36900700001)(357404004);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7479 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT048.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 4d7a0c45-786d-4334-4176-08dab747e404 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bLKmRT835ukCqd3S3lCriYfKNkZF4lXx2fRao7t+hAYVY+8T29Qix/yvuT/IzxLV12rYx1OWE7fSPIX2IUDXJBKdVIFuS4ujeSJIyXUzenu4rpzb5SLkD3CWEUL0eHOW3PnDgxWjDwEw8D13J3luRnFSHXFZ05kOOO9406fahj4Iw/+oNoYRYmXhqVrHNhXLbRKZAJou6zDhWmcK073UmlcUQCxbD8HN+A1XBJvI64EiUzpaQjUOMmWpZEKEQoCnGCBOzz4Z4ShED00WCqAoED5upNY907Vjeud4oqG4HAzn7sN6eZRPUmHsqFtExgrdunox0j9sREbcHtOMQ6bAI2sWm155SH2nBvqoaUww412TZqkZj4iK7Q0kcwm3PgkhtQsD3Vtu3RxbRTPZQ3jbs7Iu2NAB41QjwfluzbajNaRGHAYf2sdm76FyhGRiUJ/swIfyEd7nCTJaMAfT/ug2MYyLi3TD7MY3QKdlo2bRYmALh+LbNx4t8O/JKtPOJOoypNzUBfi9Kz+oLHX7pSpiQQHajVJjkieCuGJ8noYVtZEt6jX59aELX5kDitxR+gOElenCwf/xQnxkMoiRE+w3BT2jMPxP0FiiCJvM72BJeuMc9PspZ3YpW235rIyejFUvu0LX4LVGc/E0DOqefrh1bGwBlwYukqFddT/SH0QMTScaJhXKxuX6AsRZep1jo+t9CJHzKuYVKKELljCRx/K/FhD3ReF4F7Q8NBShUFP/7lTSaFVLeyWGXH8ACUlxdTSSLCF1ktMRlwcxy+FNEQex0OxohwETHdP8ufDk3RQ0ItA= 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)(136003)(396003)(39860400002)(376002)(346002)(451199015)(40470700004)(46966006)(36840700001)(19627235002)(316002)(83380400001)(6916009)(86362001)(336012)(36860700001)(26005)(40480700001)(41300700001)(40460700003)(186003)(70586007)(8936002)(5660300002)(2616005)(70206006)(82310400005)(4326008)(47076005)(8676002)(426003)(36756003)(2906002)(478600001)(82740400003)(81166007)(357404004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2022 11:47:50.6153 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f348738f-e993-4fde-5b94-08dab747e902 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: DBAEUR03FT048.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6680 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. 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 --- newlib/libc/machine/arm/strlen-armv7.S | 17 ++++++++++++++--- newlib/libc/machine/arm/strlen-thumb2-Os.S | 14 +++++++++++--- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/newlib/libc/machine/arm/strlen-armv7.S b/newlib/libc/machine/arm/strlen-armv7.S index f3dda0d60..27094040c 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 push_ip=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. */ @@ -151,6 +158,7 @@ def_fn strlen p2align=6 beq .Lloop_aligned .Lnull_found: + .cfi_remember_state cmp data1a, #0 itt eq addeq result, result, #4 @@ -159,11 +167,11 @@ 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 push_ip=HAVE_PAC_LEAF .Lmisaligned8: + .cfi_restore_state ldrd data1a, data1b, [src] and tmp2, tmp1, #3 rsb result, tmp1, #0 @@ -177,4 +185,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