Slashdot Mirror


FreeBSD Removes GCC From Default Base System

An anonymous reader writes "With the LLVM/Clang migration, FreeBSD developers have now disabled building GCC and the GNU C++ standard library (libstdc++) as part of the FreeBSD base system. GCC and libstdc++ have been superseded by LLVM's Clang and libc++, respectively, on primary architectures for FreeBSD 10.0." You can still flip a few switches to get GCC, but the system compiler will still be clang. Update: 09/11 14:50 GMT by U L : Reader Noryungi noted that the What's Cooking for FreeBSD 10 page is also worth a look, adding "I have to say, this is shaping up to be a very interesting release. Bhyve [the BSD hypervisor], in particular, sounds very promising."

8 of 333 comments (clear)

  1. Re:Just one question by Lendrick · · Score: 5, Informative

    See this link for an explanation:

    http://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating-gcc-in-favor-of-clang-llvm/49970#49970

    In short, mostly it's due to FreeBSD's issues with the GPL, not all of which are purely philosophical (it affects their funding, for one thing). On the other hand, if you don't have a beef with the GPL, it's probably best to stick with GCC, which produces more performant code.

  2. Re:Just one question by Anonymous Coward · · Score: 3, Informative

    For many reasons.

    Clang is faster
    Clang produces faster code
    Clang's license is BSD (and hence more in line with FreeBSD's philosophy)
    Clang has built in static analysis tools
    Clang's error messages are easier to understand than gcc's
    Clang has better support for C++11 than gcc
    Clang's code base is much less convoluted than gcc's, and easier to work on
    Clang's code base is more modular, which allows you to easily use separate stages of the compiler in other tools
    Probably a bunch of reasons I've forgotten too

    The real question is actually, why are so many people stubbornly sticking to gcc when clang has surpassed it in pretty much every way.

  3. Re:Just one question by lactose99 · · Score: 5, Informative

    Licensing.

    GCC in the FreeBSD base is stuck at v4.2.1 as that was the last version licensed under the GPLv2. As this is about 7 years old by GCC standards a newer compiler is a welcomed change and since CLANG is BSD-licensed it is more in line with the project's goals anyway.

    --
    Fully licensed blockchain psychiatrist
  4. Clang is Slower by tuppe666 · · Score: 4, Informative

    For many reasons.

    Clang is faster...

    No its slower. Phoronix benchmark GCC vs Clang all the time. http://www.phoronix.com/scan.php?page=article&item=llvm_clang33_3way&num=1

    1. Re:Clang is Slower by tlhIngan · · Score: 5, Informative

      No its slower. Phoronix benchmark GCC vs Clang all the time. http://www.phoronix.com/scan.php?page=article&item=llvm_clang33_3way&num=1

      Except FreeBSD is not using GCC 4.8. They're using GCC 4.2.1, the last version that was GPLv2.

      While the current version of GCC may be faster than Clang/LLVM, that doesn't mean Clang/LLVM isn't faster than what is in use now, so the switch may even boost performance compared to the ancient version of GCC in use.

  5. Re:More interesting page for FreeBSD 10... by MatthiasF · · Score: 5, Informative

    I think the updates to ZFS are more impressive. The addition of LZ4 compression (50-80% faster), SSD TRIM support and the new NOP-write that reduces the need to write to compressed disks will all mean commodity hardware SANs running FreeBSD will be able to give the big boys a run for their money.

    So, better compression, SSD speed-up and less need to write to changed files, means there will be a huge performance increase.

  6. Re:on Single Compilers by phoenix_rizzen · · Score: 4, Informative

    FreeBSD (and Linux) were already in a "one compiler to rule them all" situation, aka GCC. At least with FreeBSD 9 there were two compilers in the base install (GCC, LLVM), and you have the option of keeping GCC in 10 if you really want.

    IOW, you're complaint is baseless and backwards.

  7. Ah, the BSD "freedom" by Anonymous Coward · · Score: 0, Informative

    Freedom to deny others freedom. That's the only reason for avoiding copyleft.