1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

FreeBSD 10 To Use Clang Compiler, Deprecate GCC

BSD

Published on 12 May 2012 08:01 PM EDT
Written by Michael Larabel in BSD
93 Comments

As indicated by the Q1-2012 FreeBSD Status Report, LLVM's Clang compiler is quickly replacing GCC for this popular BSD operating system. The developers are also making much progress in a GNU-free C++11 stack. For FreeBSD 10 they're aiming for Clang as the default C/C++ compiler, deprecate GCC, and to have a BSD-licensed C++ stack.

While the Q1-2012 FreeBSD Status Report was just talked about in the afore-linked article, the Clang and C++ items warranted their own more detailed article.

Going back to 2009, FreeBSD developers have worked to replace GCC with LLVM/Clang. Over time, there's been numerous improvements especially with the FreeBSD 9.0 release. The FreeBSD developers are interested in doing away with the GPL-licensed GNU Compiler Collection and instead use the Apple-sponsored LLVM/Clang work that's under a BSD-like license.

As reported in the status report for the last quarter, Clang 3.0 is now installed by default for FreeBSD 10.0-CURRENT and 9.0-STABLE. They're also working to import a newer Clang snapshot since LLVM 3.1 and Clang 3.1 are about to be released (next week). On FreeBSD 10.0-CURRENT, Clang can now build world and the generic FreeBSD kernel without emitting any error warnings. With more recent revisions, a new WITH_CLANG_IS_CC option will make Clang become the default cc, c++, and cpp commands.

The intent is to make Clang become the default compiler for FreeBSD 10.0 and to then deprecate GCC from FreeBSD. "The intent is to switch on this option by default rather sooner than later, so we can start preparing for shipping 10.0-RELEASE with Clang as as the default system compiler, and deprecating gcc."

Additional information on building FreeBSD with Clang is available from this FreeBSD.org Wiki page. Any FreeBSD package not building under Clang should be treated as a bug; "One of the most important tasks at the moment is to actually build and run your entire FreeBSD system with Clang, as much as possible. Any compile-time or run-time problems should be reported to the appropriate mailing list, or filed as a PR. If you have patches and/or workarounds, that would be even better."

There's also been other non-Apple operating systems toying with Clang for different use-cases. There was also the Debian Clang experiment, which could build most of the Debian packages for popular architectures, but LLVM/Clang still falls behind in its support of the more obscure CPU architectures and platforms compared to GCC. Some vendors have also been playing around with the idea of using Clang to build the Linux kernel (it's possible to do with certain kernel configurations, patches, and other headaches).

LLVM/Clang is unlikely to replace GCC on any tier-one Linux distribution as the default in the foreseeable future, but it's interesting as a complementary option. Clang is quite good with its static analysis abilities, among other benefits.

In terms of FreeBSD's mission for a GNU-free C++11 stack, the libc++ and libcxxrt libraries have gained new features, support for the ARM EABI, and with Clang 3.1 can now pass all C++11 atomic tests. The libcxxrt library is the new C++ run-time that was given by PathScale. There's still some work ahead in this area, but the status report mentions, "we're on track for a BSD licensed C++ stack in 10.0."

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Btrfs On 4 x Intel SSDs In RAID 0/1/5/6/10
  2. AMD Radeon R9 290 On Ubuntu 14.10: RadeonSI Gallium3D vs. Catalyst
  3. MSI X99S SLI PLUS On Linux
  4. NVIDIA GeForce GTX 970 Offers Great Linux Performance
Latest Linux Articles
  1. NVIDIA's Linux Driver Can Deliver Better OpenGL Performance Than Windows 8.1
  2. Windows 8.1 vs. Ubuntu 14.10 With Intel HD Graphics
  3. 6-Way Ubuntu 14.10 Radeon Gallium3D vs. Catalyst Driver Comparison
  4. NVIDIA vs. Nouveau Drivers On Ubuntu 14.10
Latest Linux News
  1. AMD On Linux & Systemd Were Very Popular This Month
  2. Wine 1.7.30 Continues Work On DirectWrite & Offers Regedit Fixes
  3. Has The Sky Fallen? Qualcomm Contributes To Freedreno's DRM/KMS Driver
  4. Manjaro Works To Make Calamares A Distribution-Independent Installer
  5. DisplayLink USB 3.0 Support Sounds Like A Mess
  6. PulseAudio Gains A Native Bluetooth Headset Backend
  7. X.Org Foundation Decides On Its Women Outreach Project
  8. GTK+ 3.16's New GtkGLArea Widget Gets Improved
  9. X.Org Server 1.17 ABI Bumped
  10. Fedora 21 Beta To Be Released Next Week
Latest Forum Discussions
  1. Step by Step install of Latest Nvidia Driver Article Request
  2. How to get rid of Linux
  3. Closed source to opensource
  4. What Would You Like To See Next?
  5. Is foolish currently develop in machine code, hexadecimal and assembly?
  6. Reducing The CPU Usage In Mesa To Improve Performance
  7. Help diagnosing problems with a Readon HD 4670 on Mesa 10.3.2-1
  8. Advertisements On Phoronix