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