Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 May 2026 21:58:31 +0200
From:      Robert Clausecker <fuz@freebsd.org>
To:        Piotr Kubaj <pkubaj@freebsd.org>
Cc:        ports-committers@freebsd.org, dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org
Subject:   Re: git: 3bb0a93351df - main - lang/ruby*: fix runtime on powerpc64*
Message-ID:  <agtvZ_ZlMj4Nq6J5@fuz.su>
In-Reply-To: <6a0b6ad4.37103.760e0311@gitrepo.freebsd.org>

index | next in thread | previous in thread | raw e-mail

Hi Piotr,

Am Mon, May 18, 2026 at 07:39:00PM +0000 schrieb Piotr Kubaj:
> The branch main has been updated by pkubaj:
> 
> URL: https://cgit.FreeBSD.org/ports/commit/?id=3bb0a93351df3e8d1d7263c39e49e228ff388123
> 
> commit 3bb0a93351df3e8d1d7263c39e49e228ff388123
> Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
> AuthorDate: 2026-05-18 13:46:13 +0000
> Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
> CommitDate: 2026-05-18 19:38:23 +0000
> 
>     lang/ruby*: fix runtime on powerpc64*
>     
>     The hand-written `coroutine_transfer` in `coroutine/ppc64le/Context.S`
>     lacks the ELFv2 ABI global entry prologue. When the function is reached
>     via the PLT (lazy resolution path), r2 (TOC pointer) is left pointing
>     at whatever the resolver had loaded — typically the dynamic linker's
>     own TOC — instead of libruby's TOC.
>     
>     The wrong r2 propagates through the fiber switch into `fiber_entry`,
>     which jumps into `fiber_restore_thread` → `rb_current_ec_set`. The
>     first PLT thunk inside the new fiber (`__plt___tls_get_addr` for the
>     `ruby_current_ec` thread-local) computes its GOT entry as
>     `r2 + offset` and segfaults dereferencing the bogus address.
>     
>     Fixes build of textproc/rubygem-nokogiri and devel/rubygem-glib2.

I wonder if this is similar to the issue plaguing the two ports on armv7!

Will have to look into that in detail.

-- 
()  ascii ribbon campaign - for an encoding-agnostic world
/\  - against html email  - against proprietary attachments


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?agtvZ_ZlMj4Nq6J5>