Re: Proposal to switch powerpc64le to IEEE-754 binary128
Adrian Chadd <[email protected]> Thu, 11 Jun 2026 15:01:15 -0700
| Newsgroups | gmane.os.freebsd.devel.ppc |
|---|---|
| Message-ID | <CAJ-Vmok_MHFXMoY3KFt13NQ-cM1MgsEXz4wVUo6e7YGeYEjv6g@mail.gmail.com> |
On Thu, 11 Jun 2026 at 14:42, Piotr Kubaj <[email protected]> wrote: > > On 26-06-11 09:54:09, Adrian Chadd wrote: > > On Thu, 11 Jun 2026 at 01:22, Piotr Kubaj <[email protected]> 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