[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