Libc++ Has Landed

Posted by Michael Larabel on May 24, 2012

The LLVM-spawned libc++ standard C++ library has now landed within FreeBSD.

As I reported on Phoronix earlier this month and was widely-carried by other news outlets after that, FreeBSD 10 will using the LLVM/Clang compiler and deprecate GCC. The BSD camp wants to get rid of the GPL-licensed compiler from the Free Software Foundation and replace it with the younger but promising Apple-sponsored and BSD-style-licensed LLVM and Clang; see the earlier Phoronix articles on the topic for greater detail.

As the latest step in this default compiler migration and throwing out GPL code from BSD, a message arrived on the FreeBSD-Stable mailing list on Wednesday entitled libc++ has landed. Being merged into FreeBSD 9-STABLE is libc++ and its dependencies. This change will first be found in FreeBSD 9.1, which is due to be branched soon.

Due to libc++ being written in C++11, and the FreeBSD base relying upon an outdated GCC release, the C++ standard library can only be built if using Clang to begin with. The libc++ introduction also requires a very recent libc implementation.

The libstdc++ replacement library from the LLVM project is dual-licensed under the MIT and UIUC licenses. The library aims to be compatible with the C++0x/C++11 standard, provide fast execution, minimal memory use, and fast compile times. The libc++ implementation also aims to be ABI compatible with the reference libstdc++ library from GCC when it comes to low-level features. Additional libc++ information is available from libcxx.llvm.org.

It was also one year ago that PathScale gave FreeBSD and NetBSD a new C++ run-time. This code donation from the PathScale compiler company was in the form of the libcxxrt C++ run-time. This run-time was done under the two-clause BSD license in order to ditch the GPL-licensed libsubc++ library.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  2. X.Org Libraries Hit By Round Of Security Issues
  3. Linux Desktop Security Could Be A Whole Lot Better
  4. Sumo Lounge Emperor
  5. Debian GNU/Hurd 2013 Release Brings New Packages
  6. Digia Announces "Boot To Qt" Project
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite