> From: Theo Buehler <tb () theobuehler ! org>
> Date: Sun, 25 Feb 2024 09:39:39 +0000
> 
> Here's the list of ~90 ports emitting warnings after about 1/4 of an
> amd64 bulk. First the ports that I haven't looked at more closely with
> (some of) the warnings. Then some ports using D where I suspect NOBTCFI
> is missing. Go, Haskell and Ocaml ports are linked using nobtcfi, as far
> as I know, so I moved them to the end without details.

...

> multimedia/x264.log
> ld: warning: x264_8_sub8x8_dct_sse2.skip_prologue: missing endbr64
> ld: warning: x264_8_sub8x8_dct8_sse2.skip_prologue: missing endbr64
> ld: warning: x264_8_sub8x8_dct_ssse3.skip_prologue: missing endbr64
> ld: warning: x264_8_sub8x8_dct8_ssse3.skip_prologue: missing endbr64
> ld: warning: x264_8_sub8x8_dct_avx.skip_prologue: missing endbr64
> ld: warning: x264_8_sub8x8_dct8_avx.skip_prologue: missing endbr64
> ld: warning: x264_8_sub8x8_dct_xop.skip_prologue: missing endbr64
> ld: warning: x264_8_add8x8_idct8_sse2.skip_prologue: missing endbr64
> ld: warning: x264_8_add8x8_idct8_avx.skip_prologue: missing endbr64
> ld: warning: x264_8_add8x8_idct_sse2.skip_prologue: missing endbr64
> ld: warning: x264_8_add8x8_idct_avx.skip_prologue: missing endbr64
> ld: warning: x264_10_sub8x8_dct8_sse2.skip_prologue: missing endbr64
> ld: warning: x264_10_sub8x8_dct8_sse4.skip_prologue: missing endbr64
> ld: warning: x264_10_sub8x8_dct8_avx.skip_prologue: missing endbr64
> ld: warning: x264_10_add8x8_idct8_sse2.skip_prologue: missing endbr64
> ld: warning: x264_10_add8x8_idct8_avx.skip_prologue: missing endbr64

Here is a fix:

Index: multimedia/x264/Makefile
===================================================================
RCS file: /cvs/ports/multimedia/x264/Makefile,v
retrieving revision 1.69
diff -u -p -r1.69 Makefile
--- multimedia/x264/Makefile    20 Feb 2024 10:06:12 -0000      1.69
+++ multimedia/x264/Makefile    25 Feb 2024 12:32:10 -0000
@@ -4,7 +4,7 @@ DISTNAME=       x264-20221028
 GH_ACCOUNT=    mirror
 GH_PROJECT=    x264
 GH_COMMIT=     416e3eb2b52abb0a67e57599aba4f8be3003b36d
-REVISION=      2
+REVISION=      3
 CATEGORIES=    multimedia
 
 SHARED_LIBS=   x264    24.0
Index: multimedia/x264/patches/patch-common_x86_x86inc_asm
===================================================================
RCS file: /cvs/ports/multimedia/x264/patches/patch-common_x86_x86inc_asm,v
retrieving revision 1.1
diff -u -p -r1.1 patch-common_x86_x86inc_asm
--- multimedia/x264/patches/patch-common_x86_x86inc_asm 20 Feb 2024 10:06:12 
-0000      1.1
+++ multimedia/x264/patches/patch-common_x86_x86inc_asm 25 Feb 2024 12:32:10 
-0000
@@ -11,3 +11,13 @@ Index: common/x86/x86inc.asm
      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
+@@ -823,6 +826,9 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg,
+         global current_function %+ %1
+     %endif
+     %1:
++    %if ARCH_X86_64
++        endbr64
++    %endif
+ %endmacro
+ 
+ %macro cextern 1

Reply via email to