FreeBSD 10 To Use Clang Compiler, Deprecate GCC


Recommended Posts

FreeBSD 10 To Use Clang Compiler, Deprecate GCC

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."

Source: Phoronix

This topic is now closed to further replies.
  • Posts

    • Google pitches Spanner as one database for all AI agents with these new featues by Karthik Mudaliar Google Cloud is introducing new features within Spanner, its distributed database, as a place where enterprises should keep their data, using which AI agents could make smarter and better decisions. In a detailed blog post, Google highlighted quite a few features coming to Spanner, including relational data, graph relationships, vector search, key-value access, full-text search, and operational analytics together in one database architecture. Google says that today's systems aren't well-made for AI agents. There could be data that is present in one system, search indexes in another, embeddings in a vector database, and relationship data in a graph database. This fragmentation isn't great for AI agents to do their jobs because they don't have access to all of this data in one place. This is where Google is positioning Spanner as a solution. Spanner is already a globally distributed relational database with strong consistency, and Google wants its customers to see it as a broader data layer for AI applications. The company introduced something called Spanner Graph, along with integrated vector search, full-text search, a Cassandra-compatible key-value endpoint, and a columnar engine for analytical queries on operational data. Google also added that its ScaNN-powered vector search can support indexes with more than 10 billion vectors, while the columnar engine can make some analytical scans up to 200 times faster. All of this isn't just exclusive to the Google Cloud Platform, and there's support for multi-cloud as well. This comes via Spanner Omni, which Google says is a downloadable, containerized version of Spanner that can run on Kubernetes and in environments outside Google Cloud, including Microsoft Azure and AWS, and even on-premises infrastructure as well as edge deployments. Google says that customers who are interested in the full-featured edition should contact the company, and there's no word on commercial availability or separate pricing. Those interested can read the full blog by Google Cloud, which details these features individually.
    • Kalmuri 4.2.5 by Razvan Serea Kalmuri is your all-in-one, portable screen capture and recording solution designed for speed, simplicity, and flexibility. Whether you need a full-screen snapshot, a custom area, a scrolling webpage, or smooth video recording, Kalmuri delivers with ease. Capture text instantly from images with built-in OCR, keep floating images on top for quick reference, and use the precise color picker for perfect design matching. Customize hotkeys to work your way and share results instantly with built-in upload options. Kalmuri runs without installation, making it ideal for USB use, and offers an intuitive interface that’s easy to learn. Kalmuri key features: Video recording support (designation of whole screen and area) Whole screen, active program, window control, area application Extract text from images using optical character recognition (OCR). Support for PNG, JPG, WEBP, BMP, GIF file formats MP4 video recording powered by FFmpeg for high-quality results Full web page capture Share the captured image on the web Color extraction function Printer output Hotkey settings Adjustable via keyboard for area capture (Arrow key, Ctrl+Arrow key, Shift+Arrow key) File name format (sequential, datetime) Free to use it at work, at home, in government offices, at school, etc. Using Kalmuri portable for video recording Kalmuri’s portable version doesn’t include FFmpeg, which is required for video recording. Without it, you’ll get an “error FFmpeg.exe not found” message. To fix this, download FFmpeg from the provided link, extract it, and place FFmpeg.exe in Kalmuri’s folder. Kalmuri will then recognize it automatically, allowing you to start recording in high quality instantly. Kalmuri 4.2.5 changelog: Fixed an intermittent crash when using Area Capture Improved stability for Area Capture and screen recording Resolved a capture issue that could occur right after startup Download: Kalmuri 4.2.5 | 24.2 MB (Freeware) Download: Kalmuri Portable 4.2.5 | 2.1 MB View: Kalmuri Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • They have lots of info on me, I have a facebook account and have done so for years, it was the thing to have then. My phone number is not on it. I don't have the Facebook app on my phone these days, just the messenger part, and only for a couple of people to contact me, most will text me via SMS or phone. I agree, Meta, like others, even without an account will know something about me. Just have to try and keep some things private Also, never saw the need for Whatsapp, people used to ask for me to join it, but as I said to them, I have SMS and a phone, use that, or email
  • Recent Achievements

    • First Post
      rosiecharles earned a badge
      First Post
    • Reacting Well
      Juan Dela earned a badge
      Reacting Well
    • Week One Done
      Collagen Project earned a badge
      Week One Done
    • Reacting Well
      Wakeen1966 earned a badge
      Reacting Well
    • Rookie
      Almohandis went up a rank
      Rookie
  • Popular Contributors

    1. 1
      +primortal
      514
    2. 2
      +Edouard
      273
    3. 3
      PsYcHoKiLLa
      143
    4. 4
      Steven P.
      99
    5. 5
      macoman
      54
  • Tell a friend

    Love Neowin? Tell a friend!