From: Klemens Nanni Subject: multimedia/libass: endbr64 To: Brad Smith Cc: ports@openbsd.org Date: Sun, 25 Feb 2024 15:42:58 +0000 On Sun, Feb 25, 2024 at 10:39:39AM +0100, Theo Buehler wrote: > multimedia/libass.log > ld: warning: ass_fill_solid_tile16_sse2: missing endbr64 > ld: warning: ass_fill_solid_tile16_avx2: missing endbr64 > ld: warning: ass_fill_halfplane_tile16_sse2: missing endbr64 > ld: warning: ass_fill_halfplane_tile16_avx2: missing endbr64 > ld: warning: ass_fill_generic_tile16_sse2: missing endbr64 > ld: warning: ass_fill_generic_tile16_avx2: missing endbr64 > ld: warning: ass_merge_tile16_sse2: missing endbr64 > ld: warning: ass_merge_tile16_avx2: missing endbr64 > ld: warning: ass_add_bitmaps_sse2: missing endbr64 > etc This silences them, looks exactly like the cummulative x264 diff. Index: Makefile =================================================================== RCS file: /cvs/ports/multimedia/libass/Makefile,v diff -u -p -r1.32 Makefile --- Makefile 27 Sep 2023 10:10:20 -0000 1.32 +++ Makefile 25 Feb 2024 15:25:29 -0000 @@ -5,6 +5,7 @@ DISTNAME= libass-${VER} CATEGORIES= multimedia devel SITES= https://github.com/libass/libass/releases/download/${VER}/ EXTRACT_SUFX= .tar.xz +REVISION= 0 SHARED_LIBS= ass 3.1 Index: patches/patch-libass_x86_x86inc_asm =================================================================== RCS file: patches/patch-libass_x86_x86inc_asm diff -N patches/patch-libass_x86_x86inc_asm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libass_x86_x86inc_asm 25 Feb 2024 15:42:08 -0000 @@ -0,0 +1,25 @@ +add ENDBR64 instructions for BTI + +Index: libass/x86/x86inc.asm +--- libass/x86/x86inc.asm.orig ++++ libass/x86/x86inc.asm +@@ -756,6 +756,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 +@@ -777,6 +780,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