Re: [PATCH v4 7/8] newlib: libc: aeabi_memmove M-profile PACBTI-enablement

Richard Earnshaw <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.