Hacker News new | ask | show | jobs
by sgift 1871 days ago
How would upgrading GCC help with the problem that they don't have SPARC machines available for building Illumos?
2 comments

It wouldn't, but they state that one of the benefits of dropping SPARC is being able to "[retire] the now-ancient GCC 4.4.4 shadow compiler that remains chiefly to support the SPARC platform"

I'm guessing the problem isn't that newer GCC lacks SPARC support, but that their (now very old and bitrotted) SPARC support relies on some kind of undefined behavior or nuance of GCC 4 that prevents newer versions from building the kernel.

While I don't follow Illumos closely, I know that there was a project to remove the dependency on the Sun Studio compiler suite, so it's possible that the reliance on the old gcc version has something to do with that.
Illumos is a BSD, so perhaps, like other BSDs, they don't want to rely on GPLv3 projects like (current) gcc.
Illumos is a fork of Solaris, itself a UNIX System V derived OS, very much not a BSD, though taking some code from BSD. I'm not sure what license they make new additions under, but the core is CDDL licensed and not BSD licensed, anyway.

(side tangent FWIW, NetBSD has no qualms with using GPLv3 GCC, only Free/Open do)

(Edit for another historical tangent: Sun helped create System V release 4, which specifically combined element of older SysV with BSD. Additionally, Solaris/"SunOS 5"'s predecessor SunOS 4 was a straight-up BSD. So Solaris is a pretty BSD-y UNIX, in a way...)

NetBSD can optionally be built with LLVM/Clang. It can be cross-compiled using either toolchain.
Well, yes -- it's nice and portable like that. I think at some point they got it building with PCC and TCC too?

My point is unlike the other BSDs they haven't made a point of deprecating/removing GCC from the source tree, or even using LLVM by default where they can. For third parties worried about GPLv3, you can easily delete all GPLv3 code with a rm -rf src/external/gpl3 :)

LLVM doesn't support all the CPU architectures that GCC does, ones missing include 68k, VAX and SH3.
Illumos is from the System V family tree, as it is a direct descendant of OpenSolaris.
Well, they could reach out to the Debian or Gentoo community and ask for help. We would be happy to help them.