[PATCH] aarch64: simplify __libc_arm_za_disable failure path

Florian Weimer fweimer@redhat.com
Tue Apr 21 14:59:57 GMT 2026


* Muhammad Kamran:

> diff --git a/sysdeps/aarch64/__arm_za_disable.S b/sysdeps/aarch64/__arm_za_disable.S
> index c9663e3bcb..f360c8c77b 100644
> --- a/sysdeps/aarch64/__arm_za_disable.S
> +++ b/sysdeps/aarch64/__arm_za_disable.S
> @@ -88,16 +88,6 @@ L(save_loop):
>  L(end):
>  	ret
>  L(fail):
> -	paciasp
> -	cfi_negate_ra_state
> -	stp	x29, x30, [sp, -32]!
> -	cfi_adjust_cfa_offset (32)
> -	cfi_rel_offset (x29, 0)
> -	cfi_rel_offset (x30, 8)
> -	mov	x29, sp
> -	.inst	0x04e0e3f0  /* cntd	x16  */
> -	str	x16, [sp, 16]
> -	cfi_rel_offset (46, 16)
>  	.inst	0xd503467f  /* smstop  */
>  	adrp	x0, L(msg)
>  	add	x0, x0, :lo12:L(msg)

Doesn't this drop the caller's stack frame from the backtrace?  Usually,
we preserve those when calling noreturn functions, by avoiding a tail
call.

Thanks,
Florian



More information about the Libc-alpha mailing list