From: Mark Kettenis Subject: Re: Add missing endbr64 to gstreamer1-plugins-good To: Theo Buehler Cc: ports@openbsd.org, ajacoutot@openbsd.org, kettenis@openbsd.org Date: Sun, 25 Feb 2024 20:34:12 +0100 > Date: Sun, 25 Feb 2024 19:49:52 +0100 > From: Theo Buehler > > 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 >