> Date: Wed, 28 Feb 2024 12:43:05 +0100
> From: Robert Nagy <rob...@openbsd.org>
> 
> 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.

Not entirely clear to me why the linker doesn't issue warnings here,
these are indeed used in function pointers.

ok kettenis@

> 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