future of sparc64 (was: Making C++11 a hard requirement for FreeBSD)

K. Macy kmacy at freebsd.org
Sat Oct 7 19:14:22 UTC 2017


On Sat, Oct 7, 2017 at 10:41 Mark Linimon <linimon at lonesome.com> wrote:

> On Thu, Oct 05, 2017 at 07:12:28PM -0500, A. Wilcox wrote:
> > That doesn't change the fact that sparc64 still exists, and with Oracle
> > laying off Solaris as well, FreeBSD becomes a "way out" for people
> > heavily invested (DC full of sparc64 gear, or such).
>
> I have thought for some time that we've been a "way out" for Solaris
> sites wanting to keep ZFS and not deal with licensing issues, and have
> worked to keep sparc64 alive.  (AFAIK FreeBSD is the only open source
> sparc64/zfs solution?)
>
> But here's the current problem.
>
> All gccs > 4.9 fail to build.  Looking at the logs AFAICT the failure
> is a floating-point exception as soon as the first built binary is run
> during the internal testing.
>
> Neither Marcel nor Gerald nor I have any insight on how to fix this.
> Gerald does state that those gccs build on other OSes, so this is almost
> certainly a FreBSD problem.
>
> The default ports compiler has recently moved to gcc5 and then again
> to gcc6.  The only reason gcc49 still exists in the Ports Collection is
> specifically for sparc64 ports.
>
> Recent llvms do not build.  I have no insight into that failure, either.
>
> So, the long and short is, even with using gcc4.2.1 as an external
> compiler, over time, fewer and fewer ports build as they adapt to the
> newer compilers.
>
> This is something I don't have the cycles to fix.  Unless someone else
> can step up and fix the compilers, we're close to the end of feasibility.
>
> In the meantime, I'll keep running package builds with gcc4.9 as long as
> it produces some kind of useful results.



My recollection of sparc64 from sun4v work was that unsupported operations
would trap in to the kernel which would in turn trap in to a user space
handler for floating point emulation. If someone wants to fix it that’s
where to look. I think that FreeBSD needs to always have one big-endian
arch and one arch that requires IOMMU. Bonus points if it fulfills both.
For a time that was sparc64. These days other arches meet that need. And at
this point the most recent hardware supported by the sparc64 port shipped
in ~2003. One could amortize the cost of a low end 2017 server in just the
power bill within a year. I don’t know how much work continuing to maintain
sparc64 really adds to non sparc64 enthusiasts. Nonetheless, it is non-zero.



-M


More information about the freebsd-sparc64 mailing list