Index | Thread | Search

From:
Yuichiro NAITO <naito.yuichiro@gmail.com>
Subject:
Re: lang/luajit add support of IBT for amd64
To:
stu@spacehopper.org
Cc:
ports@openbsd.org
Date:
Fri, 17 Oct 2025 15:52:31 +0900

Download raw body.

Thread
Thanks for the lang/luajit port patch. It works for me on Xeon 6325P
without runtime error. I can see the endbr64 instructions at where
I expected, while I disassemble the luajit binary. I'm sure that
the IBT patch works correctly.

From: Stuart Henderson <stu@spacehopper.org>
Subject: Re: lang/luajit add support of IBT for amd64
Date: Thu, 16 Oct 2025 15:57:14 +0100

> https://github.com/LuaJIT/LuaJIT/commit/25a61a182166fec06f1a1a025eb8fabbb6cf483e
> 
> please test :) if it looks good I will commit when ports reopens.
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/luajit/Makefile,v
> diff -u -p -r1.38 Makefile
> --- Makefile	24 Jul 2025 14:40:51 -0000	1.38
> +++ Makefile	16 Oct 2025 14:51:54 -0000
> @@ -1,6 +1,7 @@
>  # keep arch-defines.mk LUAJIT_ARCHS in sync
>  # bump ports which use PROPERTIES:Mluajit if changing
>  ONLY_FOR_ARCHS = aarch64 arm amd64 i386 powerpc
> +USE_NOBTCFI-aarch64 = Yes
>  #
>  # games/tome4 is using embedded copy of luajit
>  
> @@ -14,10 +15,10 @@ SHARED_LIBS +=	luajit-5.1 1.0 # 2.0.5
>  # changes look (because they often are not)."
>  GH_ACCOUNT =	LuaJIT
>  GH_PROJECT =	LuaJIT
> -GH_COMMIT =	871db2c84ecefd70a850e03a6c340214a81739f0
> +GH_COMMIT =	25a61a182166fec06f1a1a025eb8fabbb6cf483e
>  # epoch time of the commit; easiest found in ${WRKSRC}/.relver of the
>  # git-archive tar
> -V =		2.1.1753364724
> +V =		2.1.1760617492
>  
>  COMMENT =	just-in-time compiler for Lua
>  DISTNAME =	LuaJIT-${V}
> @@ -30,8 +31,6 @@ HOMEPAGE =	https://luajit.org/
>  # MIT
>  PERMIT_PACKAGE =	Yes
>  
> -USE_NOBTCFI =	Yes
> -
>  WANTLIB =	c m
>  
>  MODULES =	lang/lua
> @@ -48,6 +47,10 @@ MAKE_FLAGS += \
>  	INSTALL_SONAME=libluajit-5.1.so.${LIBluajit-5.1_VERSION} \
>  	PREFIX="${PREFIX}" \
>  	Q= E=@:
> +
> +.if ${MACHINE_ARCH} == amd64
> +CFLAGS +=	-DLUAJIT_ENABLE_CET_BR
> +.endif
>  
>  USE_GMAKE =	Yes
>  
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/lang/luajit/distinfo,v
> diff -u -p -r1.12 distinfo
> --- distinfo	24 Jul 2025 14:40:51 -0000	1.12
> +++ distinfo	16 Oct 2025 14:51:54 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (LuaJIT-2.1.1753364724-871db2c8.tar.gz) = qz8W2C32lGVDVlz7DSgQ04fXmjpD4EMWlbA0ZhiOJoA=
> -SIZE (LuaJIT-2.1.1753364724-871db2c8.tar.gz) = 1084103
> +SHA256 (LuaJIT-2.1.1760617492-25a61a18.tar.gz) = P8ortQaNcVDTJKNOqsVVdXuM6U8VVl4KBVI3P3U0CB4=
> +SIZE (LuaJIT-2.1.1760617492-25a61a18.tar.gz) = 1084654
> Index: patches/patch-src_Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/luajit/patches/patch-src_Makefile,v
> diff -u -p -r1.10 patch-src_Makefile
> --- patches/patch-src_Makefile	29 Apr 2025 15:19:06 -0000	1.10
> +++ patches/patch-src_Makefile	16 Oct 2025 14:51:54 -0000
> @@ -1,8 +1,8 @@
>  Index: src/Makefile
>  --- src/Makefile.orig
>  +++ src/Makefile
> -@@ -357,6 +357,10 @@ else
> -   ifeq (GNU/kFreeBSD,$(TARGET_SYS))
> +@@ -360,6 +360,10 @@ else
> +   ifeq (GNU,$(TARGET_SYS))
>       TARGET_XLIBS+= -ldl
>     endif
>  +  ifeq (OpenBSD,$(TARGET_SYS))
> @@ -12,7 +12,7 @@ Index: src/Makefile
>   endif
>   endif
>   endif
> -@@ -614,10 +618,10 @@ endif
> +@@ -621,10 +625,10 @@ endif
>   endif
>   endif
>   
> Index: patches/patch-src_lj_arch_h
> ===================================================================
> RCS file: /cvs/ports/lang/luajit/patches/patch-src_lj_arch_h,v
> diff -u -p -r1.8 patch-src_lj_arch_h
> --- patches/patch-src_lj_arch_h	16 May 2024 11:04:08 -0000	1.8
> +++ patches/patch-src_lj_arch_h	16 Oct 2025 14:51:54 -0000
> @@ -5,7 +5,7 @@ ignore the gcc version check ifdef hell 
>  Index: src/lj_arch.h
>  --- src/lj_arch.h.orig
>  +++ src/lj_arch.h
> -@@ -446,7 +446,7 @@
> +@@ -460,7 +460,7 @@
>   /* -- Checks for requirements --------------------------------------------- */
>   
>   /* Check for minimum required compiler versions. */

-- 
Yuichiro NAITO (naito.yuichiro@gmail.com)