Child pages
  • Compiler Migration
Skip to end of metadata
Go to start of metadata

We need a new default compiler for users. This will also likely be the compiler used for illumos-userland.

Requirements

  • Vanilla gcc works fine with DTrace. CTF friendliness only matters for illumos-gate
  • Not having to ship multiple supporting library versions with system for eternity
  • Probably libstdc++ ABI (libc++ should remain compatible)

Candidates

Compiler

Features

Configuration

Testing

Caveats

gcc 3.4.3 (csl-sol210-3_4-20050802)

Compatible with illumos-gate

/usr/sfw prefix

Builds illumos-gate, builds parts of Userland and SFW

Cannot build some newer software; no longer maintained by upstream

gcc 4.4.4 (richlowe)

List of changes. Same as 3.4, improved warnings and read-only strings

/usr/gcc/4.4 libdir

Builds illumos-gate

Too old to build some OSS

gcc 4.6.2 (vanilla)

Current stable release; some OSS programs require gcc 4.6 to build

/usr/gcc/4.6 libdir

Builds SFE

Cannot build illumos-gate

clang 2.9 (vanilla)

Builds basic C programs

?

Mostly untested

Mostly untested; C++ Standard Library has not been ported to Illumos

  • No labels

2 Comments

  1. Anonymous

    GCC 4.6.x/4.7.x can compile illumos_gate with proper patches. The work necessary to do this may be time prohibitive due to current resources.

    Clang is not a true consideration due to lack of major C++ support for porting FOSS projects.

    1. Please provide references.

      FreeBSD is using clang for their kernel and userland.

      Debian is using clang to build 91% of their debian packages.

      I'd say that clang, with a bit of work and testing, could be viable alternative compiler.