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
+ 

Reply via email to