[PATCH v4 7/8] newlib: libc: aeabi_memmove M-profile PACBTI-enablement
Richard Earnshaw
Richard.Earnshaw@foss.arm.com
Tue Nov 22 16:18:42 GMT 2022
On 26/10/2022 12:52, Victor L. Do Nascimento wrote:
> 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 | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
OK.
R.
>
> diff --git a/newlib/libc/machine/arm/aeabi_memmove-thumb2.S b/newlib/libc/machine/arm/aeabi_memmove-thumb2.S
> index e9504437b..20ca993e5 100644
> --- a/newlib/libc/machine/arm/aeabi_memmove-thumb2.S
> +++ b/newlib/libc/machine/arm/aeabi_memmove-thumb2.S
> @@ -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
More information about the Newlib
mailing list