GNU Had A Busy 2020 With The GCC Toolchain Still Rocking, Finally Converted To Git
The GNU Project had a very active year with the GNU toolchain in particular continuing to make major strides in punctually supporting new C/C++ features, continuing to enhance device offloading / accelerator support, support new CPU features, and more. GCC also saw its conversion this year finally over to Git among other accomplishments by the large number of GNU software projects.
GNU free software developers were as busy as ever in 2020 with fortunately the pandemic not interfering. Besides all of the GCC excitement, GRUB continued improving, Guile 3.0 was released, Make 4.3 debuted, Shepherd is still striving to be a viable alternative to systemd and other init systems, and dozens of other GNU projects saw new releases.
From the Phoronix perspective, the most popular GNU stories on Phoronix for 2020 included:
GCC 10 Introduces A Static Analyzer - Static Analysis On C Code With "-fanalyzer" Option
Within GCC's newly minted Git repository is a big last minute feature for the GCC 10 release: a long-awaited static analyzer.
Experimental Support For C++20 Coroutines Has Landed In GCC 10
As of this morning experimental support for C++20 coroutines has been merged into the GCC 10 compiler!
It Looks Like GCC's Long-Awaited Git Conversion Could Happen This Weekend
The long in development process of converting GCC's SVN repository to Git for using this modern distributed revision control system for developing the GNU Compiler Collection in the 2020s may finally be complete in the days ahead.
GRUB Boot Loader Adds Support For LUKS2 Encrypted Disks
The GRUB boot-loader has finally merged support for dealing with LUKS2 encrypted disks.
GCC 11 Enables Co-Routines Support In C++20 Mode
The recently released GCC 10 compiler landed initial coroutines support for this major C++20 feature but wasn't enabled unless explicitly enabling that option.
GNU Binutils 2.34 Branched - Bringing With It "debuginfod" HTTP Server Support
GNU Binutils 2.34 has been branched off in preparing for the upcoming release of this important set of "binary utilities" to the GNU compiler toolchain. Most interesting with Binutils 2.34 is in fact an optional HTTP server support for enhancing the developer/debugging experience.
GNU Guix Wants To Replace The Linux-Libre Kernel With The Hurd Micro-Kernel
Seemingly at first thinking it was just an April Fools' Day joke, but it turns out the GNU Guix developers responsible for their package manager and operating system are actually working to replace their Linux (GNU Linux-libre to be exact) kernel with GNU Hurd.
GCC Automatic Parallel Compilation Viability Results Help Up To 3.3x
One of the most interesting projects out of Google Summer of Code 2020 has been the ongoing work for allowing individual code files to be compiled in parallel, building off work last year in addressing GCC parallelization bottlenecks. The final report for GSoC 2020 on this work has been issued.
AMD Developers Looking At GNU C Library Platform Optimizations For Zen
It's long overdue but AMD engineers are now looking at refactoring the GNU C Library (Glibc) platform support to enhance the performance for AMD Zen processors.
GNU Assembler Adds New Options For Mitigating Load Value Injection Attack
Yesterday the Load Value Injection (LVI) vulnerability was disclosed by Intel and researchers and affecting newer Intel CPUs with SGX and requiring mitigations outside of all the speculative execution mitigations the past two years. The GNU Assembler patches adding new options for mitigation have now been merged to Git master.
GNU Guile 3.0 Released With JIT Code Generation For Up To 4x Better Performance
GNU Guile 3.0 has been released, the GNU's implementation of the Scheme programming language with various extra features. The big news with Guile 3.0 is better performance.
GCC Is Currently Faster Than LLVM's Clang At Compiling The Linux Kernel
While LLVM's Clang C/C++ compiler was traditionally known for its faster build speeds than GCC, in recent releases of GCC the build speeds have improved and in some areas LLVM/Clang has slowed down with further optimization passes and other work added to its growing code-base. As it stands right now, GCC is faster than Clang at compiling the Linux kernel.
GNU Make 4.3 Released With Performance Improvements, Newer GNU libc + Musl Support
While a Red Hat developer is working on "Goals" to try to improve upon Make, the GNU Make project is not slowing down and is out this Sunday with a big update.
GCC 10 Adds Late Support For -std=c++20 To Target C++20
With C++20 now effectively complete, GCC developers have made a rather late change for GCC 10 that is also long overdue and that is introducing the -std=c++20 switch for targeting C++20.
GCC 8.4 Released With A Year Worth Of Bug Fixes
For those making use of the GCC 8 compiler series, GCC 8.4 is out with all of the bug fixes collected since GCC 8.3's release in February of last year.
GNU Shepherd 0.8 Released As An Alternative To Systemd
GNU Shepherd, the official init system and service manager of the GNU operating system, is out with its newest update.
C++20 Modules Compiler Code Under Review, Could Still Land For GCC 11
With C++20 one of the major features added is that of modules as a modern alternative to that of conventional C++ header files for packages. The C++20 modules code for the GNU Compiler Collection that has been in the works for several years is now under review and could potentially still land for the GCC 11 release next year.
GNU MediaGoblin Announces They Are Still Alive
One of several GNU projects that have been silent in recent years is MediaGoblin, the effort to provide a free and decentralized web platform for sharing of digital media.
GCC's libstdc++ Continues Landing C++20 Changes Around The Spaceship Operator
The GCC compiler's libstdc++ library has continued receiving more last minute C++20 work.
It's 2020 And GCC Has Finally Converted From SVN To Git
I reported a few days ago GCC was hoping to transition to Git this weekend from their large SVN repository. Going into this weekend I wasn't going to be the least bit surprised if this transition got delayed again given all of the months of delays already, but actually, they went ahead and migrated to Git!