]> sourceware.org Git - newlib-cygwin.git/commitdiff
newlib: libc: aeabi_memmove M-profile PACBTI-enablement
authorVictor L. Do Nascimento <victor.donascimento@arm.com>
Wed, 21 Dec 2022 11:27:01 +0000 (11:27 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Tue, 10 Jan 2023 14:16:05 +0000 (14:16 +0000)
Add function prologue/epilogue to conditionally add BTI landing pads
and/or PAC code generation & authentication instructions depending on
compilation flags.

newlib/libc/machine/arm/aeabi_memmove-thumb2.S

index e9504437b4cd76adb922f483ed5d43bb30597a59..20ca993e56651796ef515ed646776bc58bdb69cd 100644 (file)
@@ -26,6 +26,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "arm_asm.h"
+
        .thumb
        .syntax unified
        .global __aeabi_memmove
        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
This page took 0.036425 seconds and 5 git commands to generate.