Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
devel/uv: "fix" xonly issue on amd64
To:
ports@openbsd.org
Cc:
foxy@free.fr
Date:
Thu, 9 Apr 2026 21:49:04 +0200

Download raw body.

Thread
As jtt found when testing my zizmor port, aws-lc-sys is not xonly clean
on amd64 and the s2n asm needs a lot of patching nowadays:

https://github.com/awslabs/s2n-bignum/pull/242

The funny thing is that I was aware of this at some point since I wrote
patches for deno, but I completely forgot. I guess I'm getting old...

Anyway: take the easy way out and use noexeconly on amd64. arm64 is fine
and there's currently no riscv64 asm.

Repro on modern enough amd64 (needs PKU in the cpu0 line):
$ mkdir test && cd test && uv init && uv add kyber # segfault

PS: Not a good moment to change this, but why do we have -arch
suffixes for USE_NOBTCFI but not USE_NOEXECONLY?

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/uv/Makefile,v
diff -u -p -r1.28 Makefile
--- Makefile	9 Apr 2026 11:41:52 -0000	1.28
+++ Makefile	9 Apr 2026 19:38:56 -0000
@@ -1,12 +1,19 @@
 # ring-v0.17 does not support this arch
 NOT_FOR_ARCHS =		sparc64
 
+# aws-lc-sys 0.36 has constants in .text
+# https://github.com/awslabs/s2n-bignum/pull/242
+.if ${MACHINE_ARCH} == "amd64"
+USE_NOEXECONLY =	Yes
+.endif
+
 COMMENT =		Python package and project manager
 
 MODPY_DISTV =		0.11.5
 GH_ACCOUNT =		astral-sh
 GH_PROJECT =		uv
 GH_TAGNAME =		${MODPY_DISTV}
+REVISION =		0
 
 CATEGORIES =		devel