From nobody Thu Jun 11 11:53:54 2026 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gbgzC222fz6hJMv for ; Thu, 11 Jun 2026 11:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gbgzC15nMz3Fv1 for ; Thu, 11 Jun 2026 11:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781178839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g0VnTvfcTj39FhchSMzQQfWmpj1sbfJw8pphJekZyaE=; b=oDwEaZBVHAtPtaOven6tT6m/m1/QHMQd8KvicueV4FmykMmk3IDkgNWAXVAO2XPn4nxxtv vn0f44Et1vU/rzGquKquoUo9Z4rkPTCb19nHzu+3mN0goNwLpmUpcdpHIhZ4qEkLjayZ62 VSe8txfGxcgmBbqqFAQoGTw0tK7X9m7t7PVs/lwiror1d/eMUhFjWUmeMNPWnbaAJMbP0k HazDIjUv11Y7vsm3rPyUj1Xr+BF5zrqFvNUJIZcEpkqAiuk4BhmPONaLF42LGj2jDGEs0q 5wBxbqiUkr6WLa8RIBXBgtSn4PtmHu+yBJejcp6g8OMVFIL5myEGK7fylznkmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781178839; a=rsa-sha256; cv=none; b=vP89nFeOAtxN+BBjUO2YIBQQOYpmLAKirMfztM2zUacxZI8wVenoGcJfM4iAn8lLnAVvwG OE38BGOS5kBiXJJwfODVmPAUQND8rOB1ek2XXdsVk+aT3jSkMpL/mU+b2jdhJ/wkvKM1Lf nY9+q1+DjISR+cb0Mvj/KDZ9BOTJ8cDJvJ89kUtnBHWgA6jUBJGyYSNrqzr+nMFg28DGA2 k0nzowcIkbPwfvGWhUMvRszEE5AC7u/+GS8kGbegFcvZPzqZ3mEwc6lXrJYkSbY/tmml9w vDDAI1hZAceFFLEWjrAXMkmOSESQrH7yvVku7lD5UkwpiOYSLYobO+88OJfKGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781178839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g0VnTvfcTj39FhchSMzQQfWmpj1sbfJw8pphJekZyaE=; b=D2+0+SKOi1r3pGw+DUhYHOodwIimuYvNL+rqyI8CXdVGoQtoTCY/E2766vdCBqY6yXS3bO Y8JsNeFdWU9mhAukeHqSFytnbtmSvC+y2xCYOC587s+YEqQh+0US2c8735AEvNr2Ya6vYi Fo5ATYomyczuau0S6tqbvUN7foo8q2hgTGxV10F2doCAVb+QpvylfuI6n23oHVOHS/0Eio eONTjQFrIf1PxAoi6WXrf+aYQ2RqEqqbMQXtVcg9/evROZW541TR8DbUp2WKEZorEoSL1x Pe6aWrtjjSkenz2pUZmtwjw6O2TgW7BPx/oipxvZhq5/E4Uypv4YGoEQPRyHWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gbgzC0dmNzqqd for ; Thu, 11 Jun 2026 11:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4192f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 11 Jun 2026 11:53:54 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org Cc: Piotr Kubaj From: Robert Clausecker Subject: git: a43b81e2cbc7 - 2026Q2 - lang/ruby*: fix coroutines on armv7 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: ports X-Git-Refname: refs/heads/2026Q2 X-Git-Reftype: branch X-Git-Commit: a43b81e2cbc7397acb5b4727890ff578d62a63fa Auto-Submitted: auto-generated Date: Thu, 11 Jun 2026 11:53:54 +0000 Message-Id: <6a2aa1d2.4192f.189ce3fb@gitrepo.freebsd.org> The branch 2026Q2 has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=a43b81e2cbc7397acb5b4727890ff578d62a63fa commit a43b81e2cbc7397acb5b4727890ff578d62a63fa Author: Piotr Kubaj AuthorDate: 2026-06-10 22:18:01 +0000 Commit: Robert Clausecker CommitDate: 2026-06-11 11:53:37 +0000 lang/ruby*: fix coroutines on armv7 Two ports, devel/rubygem-glib2 and graphics/rubygem-cairo, have been broken on armv7 for a long time. Recently, pkubaj fixed a problem with Ruby's coroutine code on ppc64* (see 3bb0a9335) affecting the very same ports. This naturally raises the question if the armv7 problems are related. Turns out that due to an oversight, we use the generic ucontext.h-based coroutine code on armv7. Switching to the assembly-based code fixes the ports! Further digging suggests that there may be a problem in the freebsd32 support for these calls on aarch64 causing the observed issues. We will investigate those separately. Tested by: fuz Approved by: portmgr (build fix blanket) MFH: 2026Q2 (cherry picked from commit b6686e6f886f55b93c73d323d868bc3fdf7f1eac) --- lang/ruby33/Makefile | 1 + lang/ruby33/files/patch-configure.ac | 24 +++++++++++++++++------- lang/ruby34/Makefile | 1 + lang/ruby34/files/patch-configure.ac | 20 +++++++++++++++----- lang/ruby40/Makefile | 1 + lang/ruby40/files/patch-configure.ac | 20 +++++++++++++++----- 6 files changed, 50 insertions(+), 17 deletions(-) diff --git a/lang/ruby33/Makefile b/lang/ruby33/Makefile index 7d16bb778252..2e0371df2d1a 100644 --- a/lang/ruby33/Makefile +++ b/lang/ruby33/Makefile @@ -1,5 +1,6 @@ PORTNAME= ruby PORTVERSION= ${RUBY_DISTVERSION} +PORTREVISION= 1 PORTEPOCH= ${RUBY_PORTEPOCH} CATEGORIES= lang ruby MASTER_SITES= RUBY/${MASTER_SITE_SUBDIR_RUBY} diff --git a/lang/ruby33/files/patch-configure.ac b/lang/ruby33/files/patch-configure.ac index b83eddb09e5c..1e195de7f3dd 100644 --- a/lang/ruby33/files/patch-configure.ac +++ b/lang/ruby33/files/patch-configure.ac @@ -1,15 +1,25 @@ ---- configure.ac.orig 2023-11-12 04:51:16 UTC +--- configure.ac.orig 2026-03-26 00:05:04 UTC +++ configure.ac -@@ -1356,7 +1356,7 @@ AC_CHECK_HEADERS(ucontext.h) - AC_CHECK_HEADERS(utime.h) - AC_CHECK_HEADERS(sys/epoll.h) +@@ -1359,7 +1359,7 @@ AC_CHECK_HEADERS(stdatomic.h) + AC_CHECK_HEADERS(sys/event.h) + AC_CHECK_HEADERS(stdatomic.h) -AS_CASE("$target_cpu", [x64|x86_64|i[3-6]86*], [ +AS_CASE("$target_cpu", [amd64|x64|x86_64|i[3-6]86*], [ AC_CHECK_HEADERS(x86intrin.h) ]) RUBY_UNIVERSAL_CHECK_HEADER([x86_64, i386], x86intrin.h) -@@ -3101,7 +3101,7 @@ AC_SUBST(EXTOBJS) +@@ -2699,6 +2699,9 @@ AS_CASE([$coroutine_type], [yes|''], [ + [i386-freebsd*], [ + coroutine_type=x86 + ], ++ [arm*-freebsd*], [ ++ coroutine_type=arm32 ++ ], + [aarch64-freebsd*], [ + coroutine_type=arm64 + ], +@@ -3112,7 +3115,7 @@ AC_SUBST(EXTOBJS) : ${LDSHARED='$(CC) -shared'} AS_IF([test "$rb_cv_binary_elf" = yes], [ LDFLAGS="$LDFLAGS -rdynamic" @@ -18,7 +28,7 @@ ], [ test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable' ]) -@@ -3559,6 +3559,7 @@ AS_CASE("$enable_shared", [yes], [ +@@ -3570,6 +3573,7 @@ AS_CASE("$enable_shared", [yes], [ [freebsd*|dragonfly*], [ LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)' LIBRUBY_SONAME='$(LIBRUBY_SO)' @@ -26,7 +36,7 @@ AS_IF([test "$rb_cv_binary_elf" != "yes" ], [ LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)" LIBRUBY_ALIASES='' -@@ -4391,6 +4392,7 @@ AS_IF([test "${universal_binary-no}" = yes ], [ +@@ -4397,6 +4401,7 @@ AS_IF([test "${universal_binary-no}" = yes ], [ arch="${target_cpu}-mingw-ucrt" ], [ arch="${target_cpu}-${target_os}" diff --git a/lang/ruby34/Makefile b/lang/ruby34/Makefile index 3db8ee1270dc..46b8a39efad5 100644 --- a/lang/ruby34/Makefile +++ b/lang/ruby34/Makefile @@ -1,5 +1,6 @@ PORTNAME= ruby PORTVERSION= ${RUBY_DISTVERSION} +PORTREVISION= 2 PORTEPOCH= ${RUBY_PORTEPOCH} CATEGORIES= lang ruby MASTER_SITES= RUBY/${MASTER_SITE_SUBDIR_RUBY} diff --git a/lang/ruby34/files/patch-configure.ac b/lang/ruby34/files/patch-configure.ac index 2e3c608f9449..8d1d1cfeb097 100644 --- a/lang/ruby34/files/patch-configure.ac +++ b/lang/ruby34/files/patch-configure.ac @@ -1,6 +1,6 @@ ---- configure.ac.orig 2024-12-12 01:10:13 UTC +--- configure.ac.orig 2026-03-11 09:51:47 UTC +++ configure.ac -@@ -1411,7 +1411,7 @@ AC_CHECK_HEADERS(stdatomic.h) +@@ -1409,7 +1409,7 @@ AC_CHECK_HEADERS(stdatomic.h) AC_CHECK_HEADERS(stdckdint.h) AC_CHECK_HEADERS(stdatomic.h) @@ -9,7 +9,17 @@ AC_CHECK_HEADERS(x86intrin.h) ]) RUBY_UNIVERSAL_CHECK_HEADER([x86_64, i386], x86intrin.h) -@@ -3149,7 +3149,7 @@ AC_SUBST(EXTOBJS) +@@ -2728,6 +2728,9 @@ AS_CASE([$coroutine_type], [yes|''], [ + [i386-freebsd*], [ + coroutine_type=x86 + ], ++ [arm*-freebsd*], [ ++ coroutine_type=arm32 ++ ], + [aarch64-freebsd*], [ + coroutine_type=arm64 + ], +@@ -3147,7 +3150,7 @@ AC_SUBST(EXTOBJS) : ${LDSHARED='$(CC) -shared'} AS_IF([test "$rb_cv_binary_elf" = yes], [ LDFLAGS="$LDFLAGS -rdynamic" @@ -18,7 +28,7 @@ ], [ test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable' ]) -@@ -3611,6 +3611,7 @@ AS_CASE("$enable_shared", [yes], [ +@@ -3609,6 +3612,7 @@ AS_CASE("$enable_shared", [yes], [ [freebsd*|dragonfly*], [ LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)' LIBRUBY_SONAME='$(LIBRUBY_SO)' @@ -26,7 +36,7 @@ AS_IF([test "$rb_cv_binary_elf" != "yes" ], [ LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)" LIBRUBY_ALIASES='' -@@ -4443,6 +4444,7 @@ AS_IF([test "${universal_binary-no}" = yes ], [ +@@ -4442,6 +4446,7 @@ AS_IF([test "${universal_binary-no}" = yes ], [ arch="${target_cpu}-mingw-ucrt" ], [ arch="${target_cpu}-${target_os}" diff --git a/lang/ruby40/Makefile b/lang/ruby40/Makefile index d91cdbfd4882..b9496684e786 100644 --- a/lang/ruby40/Makefile +++ b/lang/ruby40/Makefile @@ -1,5 +1,6 @@ PORTNAME= ruby PORTVERSION= ${RUBY_DISTVERSION} +PORTREVISION= 1 PORTEPOCH= ${RUBY_PORTEPOCH} CATEGORIES= lang ruby MASTER_SITES= RUBY/${MASTER_SITE_SUBDIR_RUBY} diff --git a/lang/ruby40/files/patch-configure.ac b/lang/ruby40/files/patch-configure.ac index 2e3c608f9449..e48af2c4f55d 100644 --- a/lang/ruby40/files/patch-configure.ac +++ b/lang/ruby40/files/patch-configure.ac @@ -1,6 +1,6 @@ ---- configure.ac.orig 2024-12-12 01:10:13 UTC +--- configure.ac.orig 2026-05-19 23:22:54 UTC +++ configure.ac -@@ -1411,7 +1411,7 @@ AC_CHECK_HEADERS(stdatomic.h) +@@ -1444,7 +1444,7 @@ AC_CHECK_HEADERS(stdatomic.h) AC_CHECK_HEADERS(stdckdint.h) AC_CHECK_HEADERS(stdatomic.h) @@ -9,7 +9,17 @@ AC_CHECK_HEADERS(x86intrin.h) ]) RUBY_UNIVERSAL_CHECK_HEADER([x86_64, i386], x86intrin.h) -@@ -3149,7 +3149,7 @@ AC_SUBST(EXTOBJS) +@@ -2761,6 +2761,9 @@ AS_CASE([$coroutine_type], [yes|''], [ + [i386-freebsd*], [ + coroutine_type=x86 + ], ++ [arm*-freebsd*], [ ++ coroutine_type=arm32 ++ ], + [aarch64-freebsd*], [ + coroutine_type=arm64 + ], +@@ -3183,7 +3186,7 @@ AC_SUBST(EXTOBJS) : ${LDSHARED='$(CC) -shared'} AS_IF([test "$rb_cv_binary_elf" = yes], [ LDFLAGS="$LDFLAGS -rdynamic" @@ -18,7 +28,7 @@ ], [ test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable' ]) -@@ -3611,6 +3611,7 @@ AS_CASE("$enable_shared", [yes], [ +@@ -3644,6 +3647,7 @@ AS_CASE("$enable_shared", [yes], [ [freebsd*|dragonfly*], [ LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)' LIBRUBY_SONAME='$(LIBRUBY_SO)' @@ -26,7 +36,7 @@ AS_IF([test "$rb_cv_binary_elf" != "yes" ], [ LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)" LIBRUBY_ALIASES='' -@@ -4443,6 +4444,7 @@ AS_IF([test "${universal_binary-no}" = yes ], [ +@@ -4546,6 +4550,7 @@ AS_IF([test "${universal_binary-no}" = yes ], [ arch="${target_cpu}-mingw-ucrt" ], [ arch="${target_cpu}-${target_os}"