> Date: Tue, 27 Feb 2024 16:06:59 +0000
> From: Stuart Henderson <s...@spacehopper.org>
> 
> On 2024/02/27 16:03, Stuart Henderson wrote:
> > On 2024/02/27 12:08, Theo Buehler wrote:
> > > Now that the bulk has completed here's the remainder of the list with
> > > two more that may need fixing. 119 ports total contained a warning.
> > > I did not build the chromium variants.
> > > 
> > > audio/deadbeef.log
> > > ld: warning: ff_scalarproduct_and_madd_int16_sse2: missing endbr64
> > 
> > This is when building the plugin for playback of monkey's audio (ape)
> > files (plugins/ffap) which has its own copy of (a very old version of)
> > some asm from ffmpeg, see plugins/ffap/x86inc.asm and dsputil_yasm.asm.
> > 
> > This seems to do the trick on amd64, there might be a better way but
> > I was struggling with yasm vs nasm syntax. I'm testing to make sure it
> > doesn't break i386 now.
> 
> Still builds on i386.

Using

%ifdef ARCH_X86_64
    dd 0xfa1e0ff3
%endif

directly into the cglobal_internal macro worked fine in other places
that used yasm.  But your diff is probably a step closer to something
that would be accepted upstream.

Either way, ok kettenis@

> > This Index: Makefile
> > ===================================================================
> > RCS file: /cvs/ports/audio/deadbeef/Makefile,v
> > retrieving revision 1.53
> > diff -u -p -r1.53 Makefile
> > --- Makefile        20 Sep 2023 15:58:34 -0000      1.53
> > +++ Makefile        27 Feb 2024 16:00:57 -0000
> > @@ -1,7 +1,7 @@
> >  COMMENT =          DeaDBeeF is an audio player
> >  DISTNAME =         deadbeef-1.9.4
> >  CATEGORIES =               audio
> > -REVISION =         0
> > +REVISION =         1
> >  
> >  HOMEPAGE =         https://deadbeef.sourceforge.io/
> >  
> > Index: patches/patch-plugins_ffap_x86inc_asm
> > ===================================================================
> > RCS file: patches/patch-plugins_ffap_x86inc_asm
> > diff -N patches/patch-plugins_ffap_x86inc_asm
> > --- /dev/null       1 Jan 1970 00:00:00 -0000
> > +++ patches/patch-plugins_ffap_x86inc_asm   27 Feb 2024 16:00:57 -0000
> > @@ -0,0 +1,28 @@
> > +Index: plugins/ffap/x86inc.asm
> > +--- plugins/ffap/x86inc.asm.orig
> > ++++ plugins/ffap/x86inc.asm
> > +@@ -28,6 +28,16 @@
> > +     %endif
> > + %endif
> > + 
> > ++%ifdef ARCH_X86_64
> > ++%imacro _endbr64 0
> > ++    dd 0xfa1e0ff3
> > ++%endmacro
> > ++%else
> > ++%imacro _endbr64 0
> > ++; empty
> > ++%endmacro
> > ++%endif
> > ++
> > + ; FIXME: All of the 64bit asm functions that take a stride as an argument
> > + ; via register, assume that the high dword of that register is filled 
> > with 0.
> > + ; This is true in practice (since we never do any 64bit arithmetic on 
> > strides,
> > +@@ -446,6 +456,7 @@ DECLARE_REG 6, ebp, ebp, bp, null, [esp + stack_offset
> > +     %endif
> > +     align function_align
> > +     %1:
> > ++    _endbr64
> > +     RESET_MM_PERMUTATION ; not really needed, but makes disassembly 
> > somewhat nicer
> > +     %assign stack_offset 0
> > +     %if %0 > 1
> > 
> 

Reply via email to