Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
openssl/1.1: missing endbr64 for padlock engine
To:
ports@openbsd.org
Cc:
kettenis@openbsd.org
Date:
Sat, 24 Feb 2024 17:33:10 +0100

Download raw body.

Thread
This adds missing endbr64 to the padlock engine in openssl/1.1:

ld: warning: padlock_capability: missing endbr64
ld: warning: padlock_key_bswap: missing endbr64
ld: warning: padlock_verify_context: missing endbr64
ld: warning: padlock_reload_key: missing endbr64
ld: warning: padlock_aes_block: missing endbr64
ld: warning: padlock_xstore: missing endbr64
ld: warning: padlock_sha1_oneshot: missing endbr64
ld: warning: padlock_sha1_blocks: missing endbr64
ld: warning: padlock_sha256_oneshot: missing endbr64
ld: warning: padlock_sha256_blocks: missing endbr64
ld: warning: padlock_sha512_blocks: missing endbr64
ld: warning: padlock_ecb_encrypt: missing endbr64
ld: warning: padlock_cbc_encrypt: missing endbr64
ld: warning: padlock_cfb_encrypt: missing endbr64
ld: warning: padlock_ofb_encrypt: missing endbr64
ld: warning: padlock_ctr32_encrypt: missing endbr64

Index: Makefile
===================================================================
RCS file: /cvs/ports/security/openssl/1.1/Makefile,v
diff -u -p -r1.67 Makefile
--- Makefile	18 Feb 2024 22:36:59 -0000	1.67
+++ Makefile	24 Feb 2024 16:29:35 -0000
@@ -8,7 +8,7 @@ PORTROACH=	limit:^1\.1\.[0-9][a-z] skipb
 V=		1.1.1w
 PKGSPEC=	openssl->=1.1.0v0,<1.2v0
 EPOCH=		0
-REVISION=	1
+REVISION=	2
 
 SHLIBVER=	11.6
 SHARED_LIBS=	crypto ${SHLIBVER} \
Index: patches/patch-engines_asm_e_padlock-x86_64_pl
===================================================================
RCS file: patches/patch-engines_asm_e_padlock-x86_64_pl
diff -N patches/patch-engines_asm_e_padlock-x86_64_pl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-engines_asm_e_padlock-x86_64_pl	24 Feb 2024 16:23:50 -0000
@@ -0,0 +1,99 @@
+Index: engines/asm/e_padlock-x86_64.pl
+--- engines/asm/e_padlock-x86_64.pl.orig
++++ engines/asm/e_padlock-x86_64.pl
+@@ -52,6 +52,7 @@ $code.=<<___;
+ .type	padlock_capability,\@abi-omnipotent
+ .align	16
+ padlock_capability:
++	endbranch;
+ 	mov	%rbx,%r8
+ 	xor	%eax,%eax
+ 	cpuid
+@@ -91,6 +92,7 @@ padlock_capability:
+ .type	padlock_key_bswap,\@abi-omnipotent,0
+ .align	16
+ padlock_key_bswap:
++	endbranch;
+ 	mov	240($arg1),%edx
+ 	inc	%edx
+ 	shl	\$2,%edx
+@@ -108,6 +110,7 @@ padlock_key_bswap:
+ .type	padlock_verify_context,\@abi-omnipotent
+ .align	16
+ padlock_verify_context:
++	endbranch;
+ 	mov	$arg1,$ctx
+ 	pushf
+ 	lea	.Lpadlock_saved_context(%rip),%rax
+@@ -135,6 +138,7 @@ _padlock_verify_ctx:
+ .type	padlock_reload_key,\@abi-omnipotent
+ .align	16
+ padlock_reload_key:
++	endbranch;
+ 	pushf
+ 	popf
+ 	ret
+@@ -144,6 +148,7 @@ padlock_reload_key:
+ .type	padlock_aes_block,\@function,3
+ .align	16
+ padlock_aes_block:
++	endbranch;
+ 	mov	%rbx,%r8
+ 	mov	\$1,$len
+ 	lea	32($ctx),%rbx		# key
+@@ -157,6 +162,7 @@ padlock_aes_block:
+ .type	padlock_xstore,\@function,2
+ .align	16
+ padlock_xstore:
++	endbranch;
+ 	mov	%esi,%edx
+ 	.byte	0x0f,0xa7,0xc0		# xstore
+ 	ret
+@@ -166,6 +172,7 @@ padlock_xstore:
+ .type	padlock_sha1_oneshot,\@function,3
+ .align	16
+ padlock_sha1_oneshot:
++	endbranch;
+ 	mov	%rdx,%rcx
+ 	mov	%rdi,%rdx		# put aside %rdi
+ 	movups	(%rdi),%xmm0		# copy-in context
+@@ -188,6 +195,7 @@ padlock_sha1_oneshot:
+ .type	padlock_sha1_blocks,\@function,3
+ .align	16
+ padlock_sha1_blocks:
++	endbranch;
+ 	mov	%rdx,%rcx
+ 	mov	%rdi,%rdx		# put aside %rdi
+ 	movups	(%rdi),%xmm0		# copy-in context
+@@ -210,6 +218,7 @@ padlock_sha1_blocks:
+ .type	padlock_sha256_oneshot,\@function,3
+ .align	16
+ padlock_sha256_oneshot:
++	endbranch;
+ 	mov	%rdx,%rcx
+ 	mov	%rdi,%rdx		# put aside %rdi
+ 	movups	(%rdi),%xmm0		# copy-in context
+@@ -232,6 +241,7 @@ padlock_sha256_oneshot:
+ .type	padlock_sha256_blocks,\@function,3
+ .align	16
+ padlock_sha256_blocks:
++	endbranch;
+ 	mov	%rdx,%rcx
+ 	mov	%rdi,%rdx		# put aside %rdi
+ 	movups	(%rdi),%xmm0		# copy-in context
+@@ -254,6 +264,7 @@ padlock_sha256_blocks:
+ .type	padlock_sha512_blocks,\@function,3
+ .align	16
+ padlock_sha512_blocks:
++	endbranch;
+ 	mov	%rdx,%rcx
+ 	mov	%rdi,%rdx		# put aside %rdi
+ 	movups	(%rdi),%xmm0		# copy-in context
+@@ -289,6 +300,7 @@ $code.=<<___;
+ .type	padlock_${mode}_encrypt,\@function,4
+ .align	16
+ padlock_${mode}_encrypt:
++	endbranch;
+ 	push	%rbp
+ 	push	%rbx
+