It seems that we need more here. This makes all the regression
tests pass. I suspect there will be still more needed, but we
need something to uncover those.

Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/libvpx/Makefile,v
diff -u -p -u -r1.55 Makefile
--- Makefile    24 Feb 2024 17:39:07 -0000      1.55
+++ Makefile    28 Feb 2024 11:40:27 -0000
@@ -6,7 +6,7 @@ GH_TAGNAME=     v1.13.1
 EPOCH=         0
 CATEGORIES=    multimedia
 
-REVISION=      2
+REVISION=      3
 
 SHARED_LIBS=   vpx     16.0
 
Index: patches/patch-vp8_common_x86_subpixel_ssse3_asm
===================================================================
RCS file: patches/patch-vp8_common_x86_subpixel_ssse3_asm
diff -N patches/patch-vp8_common_x86_subpixel_ssse3_asm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-vp8_common_x86_subpixel_ssse3_asm     28 Feb 2024 11:40:27 
-0000
@@ -0,0 +1,67 @@
+Index: vp8/common/x86/subpixel_ssse3.asm
+--- vp8/common/x86/subpixel_ssse3.asm.orig
++++ vp8/common/x86/subpixel_ssse3.asm
+@@ -37,6 +37,7 @@ SECTION .text
+ ;)
+ globalsym(vp8_filter_block1d8_h6_ssse3)
+ sym(vp8_filter_block1d8_h6_ssse3):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 6
+@@ -180,6 +181,7 @@ vp8_filter_block1d8_h4_ssse3:
+ ;)
+ globalsym(vp8_filter_block1d16_h6_ssse3)
+ sym(vp8_filter_block1d16_h6_ssse3):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 6
+@@ -287,6 +289,7 @@ sym(vp8_filter_block1d16_h6_ssse3):
+ ;)
+ globalsym(vp8_filter_block1d4_h6_ssse3)
+ sym(vp8_filter_block1d4_h6_ssse3):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 6
+@@ -417,6 +420,7 @@ sym(vp8_filter_block1d4_h6_ssse3):
+ ;)
+ globalsym(vp8_filter_block1d16_v6_ssse3)
+ sym(vp8_filter_block1d16_v6_ssse3):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 6
+@@ -605,6 +609,7 @@ sym(vp8_filter_block1d16_v6_ssse3):
+ ;)
+ globalsym(vp8_filter_block1d8_v6_ssse3)
+ sym(vp8_filter_block1d8_v6_ssse3):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 6
+@@ -745,6 +750,7 @@ sym(vp8_filter_block1d8_v6_ssse3):
+ ;)
+ globalsym(vp8_filter_block1d4_v6_ssse3)
+ sym(vp8_filter_block1d4_v6_ssse3):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 6
+@@ -884,6 +890,7 @@ sym(vp8_filter_block1d4_v6_ssse3):
+ ;)
+ globalsym(vp8_bilinear_predict16x16_ssse3)
+ sym(vp8_bilinear_predict16x16_ssse3):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 6
+@@ -1147,6 +1154,7 @@ sym(vp8_bilinear_predict16x16_ssse3):
+ ;)
+ globalsym(vp8_bilinear_predict8x8_ssse3)
+ sym(vp8_bilinear_predict8x8_ssse3):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 6
Index: patches/patch-vp8_encoder_x86_copy_sse3_asm
===================================================================
RCS file: patches/patch-vp8_encoder_x86_copy_sse3_asm
diff -N patches/patch-vp8_encoder_x86_copy_sse3_asm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-vp8_encoder_x86_copy_sse3_asm 28 Feb 2024 11:40:27 -0000
@@ -0,0 +1,12 @@
+Index: vp8/encoder/x86/copy_sse3.asm
+--- vp8/encoder/x86/copy_sse3.asm.orig
++++ vp8/encoder/x86/copy_sse3.asm
+@@ -94,6 +94,8 @@ SECTION .text
+ globalsym(vp8_copy32xn_sse3)
+ sym(vp8_copy32xn_sse3):
+ 
++    _endbr64
++
+     STACK_FRAME_CREATE_X3
+ 
+ .block_copy_sse3_loopx4:
Index: patches/patch-vp8_encoder_x86_dct_sse2_asm
===================================================================
RCS file: patches/patch-vp8_encoder_x86_dct_sse2_asm
diff -N patches/patch-vp8_encoder_x86_dct_sse2_asm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-vp8_encoder_x86_dct_sse2_asm  28 Feb 2024 11:40:27 -0000
@@ -0,0 +1,21 @@
+Index: vp8/encoder/x86/dct_sse2.asm
+--- vp8/encoder/x86/dct_sse2.asm.orig
++++ vp8/encoder/x86/dct_sse2.asm
+@@ -66,6 +66,8 @@ SECTION .text
+ globalsym(vp8_short_fdct4x4_sse2)
+ sym(vp8_short_fdct4x4_sse2):
+ 
++    _endbr64
++
+     STACK_FRAME_CREATE
+ 
+     movq        xmm0, MMWORD PTR[input        ] ;03 02 01 00
+@@ -170,6 +172,8 @@ sym(vp8_short_fdct4x4_sse2):
+ ;void vp8_short_fdct8x4_sse2(short *input, short *output, int pitch)
+ globalsym(vp8_short_fdct8x4_sse2)
+ sym(vp8_short_fdct8x4_sse2):
++
++    _endbr64
+ 
+     STACK_FRAME_CREATE
+ 
Index: patches/patch-vp8_encoder_x86_fwalsh_sse2_asm
===================================================================
RCS file: patches/patch-vp8_encoder_x86_fwalsh_sse2_asm
diff -N patches/patch-vp8_encoder_x86_fwalsh_sse2_asm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-vp8_encoder_x86_fwalsh_sse2_asm       28 Feb 2024 11:40:27 
-0000
@@ -0,0 +1,11 @@
+Index: vp8/encoder/x86/fwalsh_sse2.asm
+--- vp8/encoder/x86/fwalsh_sse2.asm.orig
++++ vp8/encoder/x86/fwalsh_sse2.asm
+@@ -16,6 +16,7 @@ SECTION .text
+ ;void vp8_short_walsh4x4_sse2(short *input, short *output, int pitch)
+ globalsym(vp8_short_walsh4x4_sse2)
+ sym(vp8_short_walsh4x4_sse2):
++    _endbr64
+     push        rbp
+     mov         rbp, rsp
+     SHADOW_ARGS_TO_STACK 3
Index: patches/patch-vpx_ports_x86_abi_support_asm
===================================================================
RCS file: patches/patch-vpx_ports_x86_abi_support_asm
diff -N patches/patch-vpx_ports_x86_abi_support_asm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-vpx_ports_x86_abi_support_asm 28 Feb 2024 11:40:27 -0000
@@ -0,0 +1,17 @@
+Index: vpx_ports/x86_abi_support.asm
+--- vpx_ports/x86_abi_support.asm.orig
++++ vpx_ports/x86_abi_support.asm
+@@ -423,3 +423,13 @@ extern sym(rand)
+ %define LIBVPX_RAND rand
+ %endif
+ %endif ; CONFIG_POSTPROC || CONFIG_VP9_POSTPROC
++
++%if VPX_ARCH_X86_64=1
++%imacro _endbr64 0
++    dd 0xfa1e0ff3
++%endmacro
++%else
++%imacro _endbr64 0
++; empty
++%endmacro
++%endif

Reply via email to