Index | Thread | Search

From:
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject:
Re: Add missing endbr64 to gstreamer1-plugins-good
To:
Theo Buehler <tb@theobuehler.org>
Cc:
ports@openbsd.org, ajacoutot@openbsd.org, kettenis@openbsd.org
Date:
Sun, 25 Feb 2024 20:34:12 +0100

Download raw body.

Thread
> Date: Sun, 25 Feb 2024 19:49:52 +0100
> From: Theo Buehler <tb@theobuehler.org>
> 
> 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.

Ah another x86inc.asm user.  ok kettenis@


> 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
>