Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Jun 2026 15:01:15 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        Piotr Kubaj <pkubaj@freebsd.org>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: Proposal to switch powerpc64le to IEEE-754 binary128
Message-ID:  <CAJ-Vmok_MHFXMoY3KFt13NQ-cM1MgsEXz4wVUo6e7YGeYEjv6g@mail.gmail.com>
In-Reply-To: <aisryP-p7vz96Ui-@talos-powerpc64le>
References:  <ah8sFn_mmGrJp9Ru@talos-powerpc64le> <CAJ-VmonbXXpq4TBZ38idRPVHM1h%2BSFChvyr3DhVjHkVeaw9KjA@mail.gmail.com> <aipwRlW1k4QBiDtp@talos-powerpc64le> <CAJ-VmomxFEzuXuCitZd94csONR_m0oUv2O5fE-q4u4zRsFLSsg@mail.gmail.com> <aisryP-p7vz96Ui-@talos-powerpc64le>

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

On Thu, 11 Jun 2026 at 14:42, Piotr Kubaj <pkubaj@freebsd.org> wrote:
>
> On 26-06-11 09:54:09, Adrian Chadd wrote:
> > On Thu, 11 Jun 2026 at 01:22, Piotr Kubaj <pkubaj@freebsd.org> wrote:
> > >
> > > On 26-06-10 18:53:11, Adrian Chadd wrote:
> > > > So, a few of us chatted in IRC about it.
> > > >
> > > > * The minimum for PPC64LE was POWER7 anyway, right?
> > > POWER8. Last I heard, POWER7 has issues with unaligned access, which is
> > > vital on LE. All the toolchains assume POWER8 as given on ppc64le.
> > > > * There's no easy way to deal with this in library versioning and
> > > > such, so we should just rip the bandaid off
> > > > * We can fix the ports as they come up.
> > > Yes, and there's not much to fix. The good news is that reinstallation
> > > won't be necessary, upgrade is just the usual buildworld + installworld.
> > > > * people wishing to run stuff built on -15 or earlier should just run
> > > > a userland jail.
> > > >
> > > > so given that!
> > > >
> > > > * Please include something to propose to put in UPDATING
> > > The review at https://reviews.freebsd.org/D57388 includes UPDATING
> > > entry.
> > > > * Please explain what will happen with all the toolchains in -HEAD (eg
> > > > all the gcc versions will use the right base type, we won't have gcc
> > > > compiling a different ABI to llvm21, etc)
> >
> > > Compilers explicitly using C's long double will need updating.
> > > Everything else will work as it is. I have tested bootstraps for Rust,
> > > GHC, OpenJDK and SBCL - all of them work. GCC and LLVM will need to be
> > > updated though to emit correct long double, otherwise code built with
> > > them that also uses long double type will misbehave. I'm also currently
> > > playing with ldc and it will also need to be updated.
> >
> > Ok, can you go investigate GCC and LLVM too?

> The clang part of our FreeBSD patch will be upstreamed and can be
> readily backported to our ports.

Sweet.

>
> Regarding GCC, there's a configure option for IEEE long double, so we
> would be modifying just a port's Makefile.

Sweet.

> >
> > And go, maybe? Does go currently work on ppc64le?
>
> Go doesn't work, there's a ready patch from Raptor that upstream somehow
> isn't willing to merge. Raptor is apparently working on it. I have no
> idea whether Raptor's patch will need modifications.
> >
> > > > * Let's figure out when the flag day should be.
> >
> > > Since it's CURRENT, people should expect breakages, we can't provide
> > > stability there. IMO it's better to do it sooner than later so that more
> > > people can test it. If someone doesn't want to upgrade yet, we're not
> > > Microsoft, we don't force upgrades.
> >
> > Hey if you're willing to drive it forward then great! We just need to make sure
> > it gets done enough that we don't end up with half working toolchains in ports.
> Hmmm, I pretty often do bulk port builds anyway, just usually not
> CURRENT, because with debugging enabled it takes a lot of time (and I
> prefer to keep it enabled because it's CURRENT). I guess after the
> switch I'll run CURRENT builds more often.

Ok. Let's pick a date and give anyone else a chance to speak up before
you pull the lever and commit us to the path!



-adrian


home | help

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