GNU Tools Cauldron 2025

GNU Tools Cauldron 2025

Toolchain and Linux kernel
2025-09-26 , I-105 (30)

Author: Steven Rostedt (Kernel maintainer)
Author: Paul E. McKenney (Kernel maintainer)
Author: Alexei Starovoitov (Kernel maintainer)
Author: Jose E. Marchesi (GNU toolchain)

The Linux kernel, which is by far one of the biggest, more complex and
more important programs around, is (still) mainly built using the GNU
Toolchain.

There is an intimate relationship between toolchain and kernel.

Compiling a huge, complex and specialized program such as the kernel
often implies facing challenging or unusual requirements on the
toolchain side. This includes security related requirements. Also, some
of the toolchain components interface directly with the kernel. In the
case of glibc, it even provides the main visible interface from the
kernel to userland programs. The support for BPF is also mainly Linux
kernel specific.

This relationship benefits both projects. For example, an actively
maintained toolchain can quickly include kernel specific
enhancements. And vice versa, the toolchain benefits from the associated
relevance that makes corporations support its development. It is
certainly not unusual for a feature introduced primarily for kernel
usage to also be very useful to other programs. Examples of this are the
support for patchable function entries, "asm goto", fentry , and several
security related features.

In order to improve this relationship a Toolchains Track has been
organized for some years now at the Linux PLumbers Conference. The aim
of the track is to fix particular toolchain (both GNU and LLVM) issues
which are of interest to the kernel and, ideally, find and agree on
solutions right away, during the track, making the best use of the
opportunity to discuss the issues live with kernel developers and
maintainers. The LPC toolchains track is proving very useful, although
it is not always easy to bring toolchain hackers there, given it is a
kernel specific conference.

We propose to have a Toolchain and Linux Kernel BoF during Cauldron this
year, with the participation of at least one Linux kernel
maintainer. The goals of the BoF are (a) to discuss about particular
requirements, desired features and on-going developments that are
relevant to the kernel and (b) to gather kernel related
questions/input/feedback from the toolchain developers so we can bring
the issues to the LPC Toolchains Track, which will be held later in the
year after Cauldron.

See also:

GNU hacker and maintainer

This speaker also appears in:

Paul E. McKenney is a software engineer at Meta Platforms, and has been coding for almost half a century, with more than half of that on multicore hardware. Paul is lead maintainer of the RCU implementation within the Linux kernel, where the variety of workloads present highly entertaining performance, scalability, real-time response, and energy-efficiency challenges. Paul also is lead maintainer for the Linux-kernel memory model (LKMM).

Paul previously worked for IBM LTC, Sequent Computer Systems, SRI International, himself, and the Oregon State University Computer Center, with his work having migrated from the upper reaches of the application stack to the lower reaches of the Linux kernel.

He received bachelors degrees in Mechanical Engineering and Computer Science and a masters degree in Computer Science, all from Oregon State University, along with a Ph.D. in Computer Science and Engineering from the OGI School of Science & Engineering at Oregon Health & Science University. He holds more than 100 patents and has a few hundred publications, perhaps most notably a freely downloadable book entitled “Is Parallel Programming Hard, And If So, What Can You Do About It?”, which has been used in university courses and translated into Korean, Chinese, Japanese, and Russian. His hobbies include hiking and gym workouts along with the usual house-wife-and-grown-kids habit.

All things BPF

Steven Rostedt currently works for Google on the ChromeOS base OS performance team. Steven is one of the senior maintainers of the Linux kernel. He is the main developer, maintainer and creator of ftrace, the official tracer of the Linux kernel, as well as the user space tools and libraries that interact with it. Steven is one of the original developers for the Real Time patch (PREEMPT_RT) and still helps maintain the stable releases of the Real Time patch set. He also develops ktest.pl (in the kernel) and created the "make localmodconfig" kernel build option