aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor L. Do Nascimento <victor.donascimento@arm.com>2022-12-21 11:27:01 +0000
committerRichard Earnshaw <rearnsha@arm.com>2023-01-10 14:16:05 +0000
commitbddfd64ec2e94973d6372f90fe9a8a7b0f882e69 (patch)
treec927f2d13ccfb61c3156e01109d6065c2d73b51c
parent60a50c2846f9ad259631598604a7410bee502c70 (diff)
downloadnewlib-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.S17
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