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 E56573858C50 for ; Tue, 22 Nov 2022 16:19:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E56573858C50 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 3BDEF1FB; Tue, 22 Nov 2022 08:19:56 -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 32A8E3F73D; Tue, 22 Nov 2022 08:19:49 -0800 (PST) Message-ID: <909900b5-6b66-8b73-45d9-895eb7d9b81e@foss.arm.com> Date: Tue, 22 Nov 2022 16:19:47 +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 8/8] newlib: libc: aeabi_memset 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:53, 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_memset-thumb2.S | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) OK. R. > > diff --git a/newlib/libc/machine/arm/aeabi_memset-thumb2.S b/newlib/libc/machine/arm/aeabi_memset-thumb2.S > index eaca1d8d7..6b77d3820 100644 > --- a/newlib/libc/machine/arm/aeabi_memset-thumb2.S > +++ b/newlib/libc/machine/arm/aeabi_memset-thumb2.S > @@ -26,14 +26,18 @@ > * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > */ > > +#include "arm_asm.h" > + > .thumb > .syntax unified > .global __aeabi_memset > .type __aeabi_memset, %function > + .fnstart > + .cfi_startproc > ASM_ALIAS __aeabi_memset4 __aeabi_memset > ASM_ALIAS __aeabi_memset8 __aeabi_memset > __aeabi_memset: > - push {r4, r5, r6} > + prologue 4 6 > lsls r4, r0, #30 > beq 10f > subs r4, r1, #1 > @@ -98,10 +102,14 @@ __aeabi_memset: > cmp r3, r4 > bne 8b > 9: > - pop {r4, r5, r6} > - bx lr > + .cfi_remember_state > + epilogue 4 6 > 10: > + .cfi_restore_state > mov r4, r1 > mov r3, r0 > b 3b > + .cfi_endproc > + .cantunwind > + .fnend > .size __aeabi_memset, . - __aeabi_memset