The goal of the Toolchains Microconference is to focus on specific topics related to the GNU Toolchain and Clang/LLVM that have a direct impact in the development of the Linux kernel.
The intention is to have a very practical MC, where toolchain and kernel hackers can engage and, together:
Identify problems, needs and challenges. Propose, discuss and agree on solutions for these specific problems. Coordinate on how to implement the solutions, in terms of interfaces, patches submissions, etc in both kernel and toolchain component.
Consequently, we will discourage vague and general "presentations" in favor of concreteness and to-the-point discussions, encouraging the participation of everyone present.
Examples of topics to cover:
Header harmonization between kernel and glibc. Wrapping syscalls in glibc. eBPF support in toolchains. Potential impact/benefit/detriment of recently developed GCC optimizations on the kernel. Kernel hot-patching and GCC. Online debugging information: CTF and BTF
If you are interested in participating in this microconference and have topics to propose, please use the CfP process. More topics will be added based on CfP for this microconference.
Operating system distributors often face challenges that are somewhat
different from that of upstream kernel developers. For instance, some
kernel updates often need to stay at least binary compatible with
modules that might be "out of tree" for some time.
In that context, being able to automatically detect and analyze
changes to the binary interface exposed by the kernel to its module
A brief introduction to CTF and its recent addition to the GNU toolchain: what is it for, what's there now, what improvements are planned, and why you might want to use this stuff rather than DWARF.
What cool things might we be able to do now that C programs can inspect their own types cheaply? What cool things might we be able to do if we extend this to other languages, so C programs could...
This proposal covers the ongoing effort about adding eBPF support to the GNU Toolchain.
Binutils support is already upstream . This includes a CGEN cpu description, assembler, disassembler and linker. A GCC backend will be submitted for inclusion upstream before September.
Both the binutils and GCC ports will be briefly described, and then a list of points will be discussed with the...
There are many security features common to both GCC and Clang, but there is a growing set of features that are missing from GCC and present in Clang, missing from Clang and present in GCC, or missing in both. This session seeks to enumerate and discuss these areas, with the eye toward finding next steps forward (or at least elevating development priority).
Potential areas of focus:
This topic will cover how the LLVM port of the linux kernel is going, where it’s being used, and some of the pain points still plaguing those efforts. The issues the kernel port is having almost always are the same issues that other projects have porting from gcc to clang.
A lot of updates have been made to both the kernel and to llvm/clang which are making both projects better.
The glibc project decided a while back that it wants to add wrappers for
system calls which are useful for general application usage. However,
that doesn't mean that all those missing system calls are added
System call wrappers still need documentation in the manual, which
can be difficult in areas where there is no consensus how to describe
the desired semantics (e.g., in the...