[PATCH v4 8/8] newlib: libc: aeabi_memset M-profile PACBTI-enablement

Richard Earnshaw Richard.Earnshaw@foss.arm.com
Tue Nov 22 16:19:47 GMT 2022



On 26/10/2022 12:53, 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_memset-thumb2.S | 14 +++++++++++---
>   1 file changed, 11 insertions(+), 3 deletions(-)

OK.

R.

> 
> diff --git a/newlib/libc/machine/arm/aeabi_memset-thumb2.S b/newlib/libc/machine/arm/aeabi_memset-thumb2.S
> index eaca1d8d7..6b77d3820 100644
> --- a/newlib/libc/machine/arm/aeabi_memset-thumb2.S
> +++ b/newlib/libc/machine/arm/aeabi_memset-thumb2.S
> @@ -26,14 +26,18 @@
>    * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>    */
>   
> +#include "arm_asm.h"
> +
>   	.thumb
>   	.syntax unified
>   	.global __aeabi_memset
>   	.type	__aeabi_memset, %function
> +	.fnstart
> +	.cfi_startproc
>   	ASM_ALIAS __aeabi_memset4 __aeabi_memset
>   	ASM_ALIAS __aeabi_memset8 __aeabi_memset
>   __aeabi_memset:
> -	push	{r4, r5, r6}
> +	prologue 4 6
>   	lsls	r4, r0, #30
>   	beq	10f
>   	subs	r4, r1, #1
> @@ -98,10 +102,14 @@ __aeabi_memset:
>   	cmp	r3, r4
>   	bne	8b
>   9:
> -	pop	{r4, r5, r6}
> -	bx	lr
> +	.cfi_remember_state
> +	epilogue 4 6
>   10:
> +	.cfi_restore_state
>   	mov	r4, r1
>   	mov	r3, r0
>   	b	3b
> +	.cfi_endproc
> +	.cantunwind
> +	.fnend
>   	.size __aeabi_memset, . - __aeabi_memset


More information about the Newlib mailing list