aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc
diff options
context:
space:
mode:
authorVictor L. Do Nascimento <victor.donascimento@arm.com>2022-12-21 11:28:01 +0000
committerRichard Earnshaw <rearnsha@arm.com>2023-01-10 14:16:05 +0000
commitadc36ede1137a0c792e0281cef01e7750f866ac5 (patch)
tree418cb3b7aa8cc31f3a0c3b683c4b730699025637 /newlib/libc
parentbddfd64ec2e94973d6372f90fe9a8a7b0f882e69 (diff)
downloadnewlib-adc36ede1137a0c792e0281cef01e7750f866ac5.zip
newlib-adc36ede1137a0c792e0281cef01e7750f866ac5.tar.gz
newlib-adc36ede1137a0c792e0281cef01e7750f866ac5.tar.bz2
newlib: libc: aeabi_memset 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.
Diffstat (limited to 'newlib/libc')
-rw-r--r--newlib/libc/machine/arm/aeabi_memset-thumb2.S14
1 files changed, 11 insertions, 3 deletions
diff --git a/newlib/libc/machine/arm/aeabi_memset-thumb2.S b/newlib/libc/machine/arm/aeabi_memset-thumb2.S
index eaca1d8..6b77d38 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