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:
parent
bddfd64ec2
commit
adc36ede11
|
@ -26,14 +26,18 @@
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "arm_asm.h"
|
||||||
|
|
||||||
.thumb
|
.thumb
|
||||||
.syntax unified
|
.syntax unified
|
||||||
.global __aeabi_memset
|
.global __aeabi_memset
|
||||||
.type __aeabi_memset, %function
|
.type __aeabi_memset, %function
|
||||||
|
.fnstart
|
||||||
|
.cfi_startproc
|
||||||
ASM_ALIAS __aeabi_memset4 __aeabi_memset
|
ASM_ALIAS __aeabi_memset4 __aeabi_memset
|
||||||
ASM_ALIAS __aeabi_memset8 __aeabi_memset
|
ASM_ALIAS __aeabi_memset8 __aeabi_memset
|
||||||
__aeabi_memset:
|
__aeabi_memset:
|
||||||
push {r4, r5, r6}
|
prologue 4 6
|
||||||
lsls r4, r0, #30
|
lsls r4, r0, #30
|
||||||
beq 10f
|
beq 10f
|
||||||
subs r4, r1, #1
|
subs r4, r1, #1
|
||||||
|
@ -98,10 +102,14 @@ __aeabi_memset:
|
||||||
cmp r3, r4
|
cmp r3, r4
|
||||||
bne 8b
|
bne 8b
|
||||||
9:
|
9:
|
||||||
pop {r4, r5, r6}
|
.cfi_remember_state
|
||||||
bx lr
|
epilogue 4 6
|
||||||
10:
|
10:
|
||||||
|
.cfi_restore_state
|
||||||
mov r4, r1
|
mov r4, r1
|
||||||
mov r3, r0
|
mov r3, r0
|
||||||
b 3b
|
b 3b
|
||||||
|
.cfi_endproc
|
||||||
|
.cantunwind
|
||||||
|
.fnend
|
||||||
.size __aeabi_memset, . - __aeabi_memset
|
.size __aeabi_memset, . - __aeabi_memset
|
||||||
|
|
Loading…
Reference in New Issue