CFI tag AES-NI key expansion helpers.

962432c brought in some OpenSSL assembly that's missing CFI start/end
tags around some functions. This doesn't trigger the unwind tests in
many contexts, but it does trigger test errors on Ubuntu 24.04 for
x86-64.

Change-Id: Ib97509b4699aa587f084d2fa07fbf01ce61581e2
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/70127
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
index ab45749..d111e38 100644
--- a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
@@ -3385,6 +3385,7 @@
 
 .align	16
 .Lkey_expansion_128:
+.cfi_startproc
 	$movkey	%xmm0,(%rax)
 	lea	16(%rax),%rax
 .Lkey_expansion_128_cold:
@@ -3395,9 +3396,11 @@
 	shufps	\$0b11111111,%xmm1,%xmm1	# critical path
 	xorps	%xmm1,%xmm0
 	ret
+.cfi_endproc
 
 .align 16
 .Lkey_expansion_192a:
+.cfi_startproc
 	$movkey	%xmm0,(%rax)
 	lea	16(%rax),%rax
 .Lkey_expansion_192a_cold:
@@ -3415,9 +3418,11 @@
 	pshufd	\$0b11111111,%xmm0,%xmm3
 	pxor	%xmm3,%xmm2
 	ret
+.cfi_endproc
 
 .align 16
 .Lkey_expansion_192b:
+.cfi_startproc
 	movaps	%xmm0,%xmm3
 	shufps	\$0b01000100,%xmm0,%xmm5
 	$movkey	%xmm5,(%rax)
@@ -3425,9 +3430,11 @@
 	$movkey	%xmm3,16(%rax)
 	lea	32(%rax),%rax
 	jmp	.Lkey_expansion_192b_warm
+.cfi_endproc
 
 .align	16
 .Lkey_expansion_256a:
+.cfi_startproc
 	$movkey	%xmm2,(%rax)
 	lea	16(%rax),%rax
 .Lkey_expansion_256a_cold:
@@ -3438,9 +3445,11 @@
 	shufps	\$0b11111111,%xmm1,%xmm1	# critical path
 	xorps	%xmm1,%xmm0
 	ret
+.cfi_endproc
 
 .align 16
 .Lkey_expansion_256b:
+.cfi_startproc
 	$movkey	%xmm0,(%rax)
 	lea	16(%rax),%rax
 
@@ -3451,6 +3460,7 @@
 	shufps	\$0b10101010,%xmm1,%xmm1	# critical path
 	xorps	%xmm1,%xmm2
 	ret
+.cfi_endproc
 .size	${PREFIX}_set_encrypt_key_base,.-${PREFIX}_set_encrypt_key_base
 
 .globl	${PREFIX}_set_encrypt_key_alt
diff --git a/gen/bcm/aesni-x86_64-apple.S b/gen/bcm/aesni-x86_64-apple.S
index 23c15c3..0247a2d 100644
--- a/gen/bcm/aesni-x86_64-apple.S
+++ b/gen/bcm/aesni-x86_64-apple.S
@@ -2082,6 +2082,7 @@
 
 .p2align	4
 L$key_expansion_128:
+
 	movups	%xmm0,(%rax)
 	leaq	16(%rax),%rax
 L$key_expansion_128_cold:
@@ -2093,8 +2094,10 @@
 	xorps	%xmm1,%xmm0
 	ret
 
+
 .p2align	4
 L$key_expansion_192a:
+
 	movups	%xmm0,(%rax)
 	leaq	16(%rax),%rax
 L$key_expansion_192a_cold:
@@ -2113,8 +2116,10 @@
 	pxor	%xmm3,%xmm2
 	ret
 
+
 .p2align	4
 L$key_expansion_192b:
+
 	movaps	%xmm0,%xmm3
 	shufps	$68,%xmm0,%xmm5
 	movups	%xmm5,(%rax)
@@ -2123,8 +2128,10 @@
 	leaq	32(%rax),%rax
 	jmp	L$key_expansion_192b_warm
 
+
 .p2align	4
 L$key_expansion_256a:
+
 	movups	%xmm2,(%rax)
 	leaq	16(%rax),%rax
 L$key_expansion_256a_cold:
@@ -2136,8 +2143,10 @@
 	xorps	%xmm1,%xmm0
 	ret
 
+
 .p2align	4
 L$key_expansion_256b:
+
 	movups	%xmm0,(%rax)
 	leaq	16(%rax),%rax
 
@@ -2150,6 +2159,7 @@
 	ret
 
 
+
 .globl	_aes_hw_set_encrypt_key_alt
 .private_extern _aes_hw_set_encrypt_key_alt
 
diff --git a/gen/bcm/aesni-x86_64-linux.S b/gen/bcm/aesni-x86_64-linux.S
index cd695b4..bedd98b 100644
--- a/gen/bcm/aesni-x86_64-linux.S
+++ b/gen/bcm/aesni-x86_64-linux.S
@@ -2083,6 +2083,7 @@
 
 .align	16
 .Lkey_expansion_128:
+.cfi_startproc	
 	movups	%xmm0,(%rax)
 	leaq	16(%rax),%rax
 .Lkey_expansion_128_cold:
@@ -2093,9 +2094,11 @@
 	shufps	$255,%xmm1,%xmm1
 	xorps	%xmm1,%xmm0
 	ret
+.cfi_endproc	
 
 .align	16
 .Lkey_expansion_192a:
+.cfi_startproc	
 	movups	%xmm0,(%rax)
 	leaq	16(%rax),%rax
 .Lkey_expansion_192a_cold:
@@ -2113,9 +2116,11 @@
 	pshufd	$255,%xmm0,%xmm3
 	pxor	%xmm3,%xmm2
 	ret
+.cfi_endproc	
 
 .align	16
 .Lkey_expansion_192b:
+.cfi_startproc	
 	movaps	%xmm0,%xmm3
 	shufps	$68,%xmm0,%xmm5
 	movups	%xmm5,(%rax)
@@ -2123,9 +2128,11 @@
 	movups	%xmm3,16(%rax)
 	leaq	32(%rax),%rax
 	jmp	.Lkey_expansion_192b_warm
+.cfi_endproc	
 
 .align	16
 .Lkey_expansion_256a:
+.cfi_startproc	
 	movups	%xmm2,(%rax)
 	leaq	16(%rax),%rax
 .Lkey_expansion_256a_cold:
@@ -2136,9 +2143,11 @@
 	shufps	$255,%xmm1,%xmm1
 	xorps	%xmm1,%xmm0
 	ret
+.cfi_endproc	
 
 .align	16
 .Lkey_expansion_256b:
+.cfi_startproc	
 	movups	%xmm0,(%rax)
 	leaq	16(%rax),%rax
 
@@ -2149,6 +2158,7 @@
 	shufps	$170,%xmm1,%xmm1
 	xorps	%xmm1,%xmm2
 	ret
+.cfi_endproc	
 .size	aes_hw_set_encrypt_key_base,.-aes_hw_set_encrypt_key_base
 
 .globl	aes_hw_set_encrypt_key_alt
diff --git a/gen/bcm/aesni-x86_64-win.asm b/gen/bcm/aesni-x86_64-win.asm
index 4876ed7..c585507 100644
--- a/gen/bcm/aesni-x86_64-win.asm
+++ b/gen/bcm/aesni-x86_64-win.asm
@@ -2187,6 +2187,7 @@
 
 ALIGN	16
 $L$key_expansion_128:
+
 	movups	XMMWORD[rax],xmm0
 	lea	rax,[16+rax]
 $L$key_expansion_128_cold:
@@ -2198,8 +2199,10 @@
 	xorps	xmm0,xmm1
 	ret
 
+
 ALIGN	16
 $L$key_expansion_192a:
+
 	movups	XMMWORD[rax],xmm0
 	lea	rax,[16+rax]
 $L$key_expansion_192a_cold:
@@ -2218,8 +2221,10 @@
 	pxor	xmm2,xmm3
 	ret
 
+
 ALIGN	16
 $L$key_expansion_192b:
+
 	movaps	xmm3,xmm0
 	shufps	xmm5,xmm0,68
 	movups	XMMWORD[rax],xmm5
@@ -2228,8 +2233,10 @@
 	lea	rax,[32+rax]
 	jmp	NEAR $L$key_expansion_192b_warm
 
+
 ALIGN	16
 $L$key_expansion_256a:
+
 	movups	XMMWORD[rax],xmm2
 	lea	rax,[16+rax]
 $L$key_expansion_256a_cold:
@@ -2241,8 +2248,10 @@
 	xorps	xmm0,xmm1
 	ret
 
+
 ALIGN	16
 $L$key_expansion_256b:
+
 	movups	XMMWORD[rax],xmm0
 	lea	rax,[16+rax]
 
@@ -2255,6 +2264,7 @@
 	ret
 
 
+
 global	aes_hw_set_encrypt_key_alt
 
 ALIGN	16