On 2024/02/25 19:49, Theo Buehler wrote:
> This fixes
> 
> ld: warning: gst_yadif_filter_line_mode0_ssse3: missing endbr64
> ld: warning: gst_yadif_filter_line_mode2_ssse3: missing endbr64
> ld: warning: gst_yadif_filter_line_mode0_sse2: missing endbr64
> ld: warning: gst_yadif_filter_line_mode2_sse2: missing endbr64
> 
> These are generated by the two cglobal in gst/deinterlace/x86/yadif.asm
> and assigned to function pointers in gst/deinterlace/yadif.c.
> 
> There are no uses of the cvisible macro (public visibility), but if
> there were, they would also need endbr64, hence I placed the endbr64
> there without conditioning on %1.
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/multimedia/gstreamer1/plugins-good/Makefile,v
> diff -u -p -r1.79 Makefile
> --- Makefile  27 Sep 2023 10:10:20 -0000      1.79
> +++ Makefile  25 Feb 2024 18:45:03 -0000
> @@ -7,6 +7,7 @@ COMMENT-pulse=                pulseaudio(1) element fo
>  
>  DISTNAME=            gst-plugins-good-${V}
>  PKGNAME=             ${GST_PKGNAME_PREFIX}-plugins-good-${V}
> +REVISION=            0
>  
>  PKGNAME-main=                ${PKGNAME}
>  PKGNAME-pulse=               ${GST_PKGNAME_PREFIX}-plugins-pulse-${V}
> Index: patches/patch-gst_deinterlace_x86_x86inc_asm
> ===================================================================
> RCS file: patches/patch-gst_deinterlace_x86_x86inc_asm
> diff -N patches/patch-gst_deinterlace_x86_x86inc_asm
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-gst_deinterlace_x86_x86inc_asm      25 Feb 2024 18:42:45 
> -0000
> @@ -0,0 +1,13 @@
> +Index: gst/deinterlace/x86/x86inc.asm
> +--- gst/deinterlace/x86/x86inc.asm.orig
> ++++ gst/deinterlace/x86/x86inc.asm
> +@@ -732,6 +732,9 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg,
> +     %endif
> +     align function_align
> +     %2:
> ++    %if ARCH_X86_64
> ++        endbr64
> ++    %endif
> +     RESET_MM_PERMUTATION        ; needed for x86-64, also makes disassembly 
> somewhat nicer
> +     %xdefine rstk rsp           ; copy of the original stack pointer, used 
> when greater alignment than the known stack alignment is required
> +     %assign stack_offset 0      ; stack pointer offset relative to the 
> return address
> 

I've changed -Dtests=disabled for enabled and run through them on an IBT
machine. Without this diff, the only failures are timeouts not SIGILL,
so gstreamer plugins-good's test suite doesn't seem to exercise this
(presumably need to run something that does deinterlacing to do that).
Not sure how to test that.

Anyway the diff seems sane. OK with me.

Reply via email to