Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
Add missing endbr64 to gstreamer1-plugins-good
To:
ports@openbsd.org
Cc:
ajacoutot@openbsd.org, kettenis@openbsd.org
Date:
Sun, 25 Feb 2024 19:49:52 +0100

Download raw body.

Thread
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