diff options
author | Victor L. Do Nascimento <victor.donascimento@arm.com> | 2022-12-21 11:27:01 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@arm.com> | 2023-01-10 14:16:05 +0000 |
commit | bddfd64ec2e94973d6372f90fe9a8a7b0f882e69 (patch) | |
tree | c927f2d13ccfb61c3156e01109d6065c2d73b51c | |
parent | 60a50c2846f9ad259631598604a7410bee502c70 (diff) | |
download | newlib-bddfd64ec2e94973d6372f90fe9a8a7b0f882e69.zip newlib-bddfd64ec2e94973d6372f90fe9a8a7b0f882e69.tar.gz newlib-bddfd64ec2e94973d6372f90fe9a8a7b0f882e69.tar.bz2 |
newlib: libc: aeabi_memmove M-profile PACBTI-enablement
Add function prologue/epilogue to conditionally add BTI landing pads
and/or PAC code generation & authentication instructions depending on
compilation flags.
-rw-r--r-- | newlib/libc/machine/arm/aeabi_memmove-thumb2.S | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/newlib/libc/machine/arm/aeabi_memmove-thumb2.S b/newlib/libc/machine/arm/aeabi_memmove-thumb2.S index e950443..20ca993 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 |