From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1035) id 28131385B51C; Tue, 10 Jan 2023 16:49:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 28131385B51C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1673369390; bh=ddYs+/tpyppZtzr8Ccu2wW+D6fOvMN599NbZErPwTnI=; h=From:To:Subject:Date:From; b=ecNAl7ESjLxk8pF7g5wPTeyId5Tg4HJyhKopkNdp6A/Dtk7gxw3k9S46EHTITbjD3 Q5TYxSLMpYBPzXho4Aiz3aQ1mIMHrOHdZP8dFoMk7EaIMFjda2aydz9+XYzsDKIRd0 iTfhvE3wMuLA0iWjgu+90RD/hb46XVEg9i2HkjjE= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Richard Earnshaw To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] newlib: libc: aeabi_memset M-profile PACBTI-enablement X-Act-Checkin: newlib-cygwin X-Git-Author: Victor L. Do Nascimento X-Git-Refname: refs/heads/master X-Git-Oldrev: bddfd64ec2e94973d6372f90fe9a8a7b0f882e69 X-Git-Newrev: adc36ede1137a0c792e0281cef01e7750f866ac5 Message-Id: <20230110164950.28131385B51C@sourceware.org> Date: Tue, 10 Jan 2023 16:49:50 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Dadc36ede113= 7a0c792e0281cef01e7750f866ac5 commit adc36ede1137a0c792e0281cef01e7750f866ac5 Author: Victor L. Do Nascimento Date: Wed Dec 21 11:28:01 2022 +0000 newlib: libc: aeabi_memset M-profile PACBTI-enablement =20 Add function prologue/epilogue to conditionally add BTI landing pads and/or PAC code generation & authentication instructions depending on compilation flags. Diff: --- newlib/libc/machine/arm/aeabi_memset-thumb2.S | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/newlib/libc/machine/arm/aeabi_memset-thumb2.S b/newlib/libc/ma= chine/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. */ =20 +#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