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.
This commit is contained in:
parent
60a50c2846
commit
bddfd64ec2
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue