From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id E8DE23858C50 for ; Tue, 22 Nov 2022 16:18:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E8DE23858C50 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=foss.arm.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=foss.arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 36BDC1FB; Tue, 22 Nov 2022 08:18:51 -0800 (PST) Received: from [10.2.78.76] (unknown [10.2.78.76]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 180263F73D; Tue, 22 Nov 2022 08:18:43 -0800 (PST) Message-ID: <5b35513d-5b07-41d8-1d0d-8283f2fd8b2a@foss.arm.com> Date: Tue, 22 Nov 2022 16:18:42 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH v4 7/8] newlib: libc: aeabi_memmove M-profile PACBTI-enablement Content-Language: en-GB To: "Victor L. Do Nascimento" , newlib@sourceware.org Cc: Richard.Earnshaw@arm.com References: From: Richard Earnshaw In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3495.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,NICE_REPLY_A,SPF_HELO_NONE,SPF_NONE,TXREP 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: On 26/10/2022 12:52, Victor L. Do Nascimento wrote: > 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/aeabi_memmove-thumb2.S | 17 ++++++++++++----- > 1 file changed, 12 insertions(+), 5 deletions(-) OK. R. > > diff --git a/newlib/libc/machine/arm/aeabi_memmove-thumb2.S b/newlib/libc/machine/arm/aeabi_memmove-thumb2.S > index e9504437b..20ca993e5 100644 > --- a/newlib/libc/machine/arm/aeabi_memmove-thumb2.S > +++ b/newlib/libc/machine/arm/aeabi_memmove-thumb2.S > @@ -26,6 +26,8 @@ > * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > */ > > +#include "arm_asm.h" > + > .thumb > .syntax unified > .global __aeabi_memmove > @@ -33,8 +35,10 @@ > ASM_ALIAS __aeabi_memmove4 __aeabi_memmove > ASM_ALIAS __aeabi_memmove8 __aeabi_memmove > __aeabi_memmove: > + .fnstart > + .cfi_startproc > + prologue 4 > cmp r0, r1 > - push {r4} > bls 3f > adds r3, r1, r2 > cmp r0, r3 > @@ -48,9 +52,10 @@ __aeabi_memmove: > strb r4, [r1, #-1]! > bne 1b > 2: > - pop {r4} > - bx lr > + .cfi_remember_state > + epilogue 4 > 3: > + .cfi_restore_state > cmp r2, #0 > beq 2b > add r2, r2, r1 > @@ -60,6 +65,8 @@ __aeabi_memmove: > cmp r2, r1 > strb r4, [r3, #1]! > bne 4b > - pop {r4} > - bx lr > + epilogue 4 > + .cfi_endproc > + .cantunwind > + .fnend > .size __aeabi_memmove, . - __aeabi_memmove