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.
This commit is contained in:
Victor L. Do Nascimento 2022-12-21 11:28:01 +00:00 committed by Richard Earnshaw
parent bddfd64ec2
commit adc36ede11
1 changed files with 11 additions and 3 deletions

View File

@ -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