nolibc is a C standard library for Linux which is developed and distributed as part of the kernel source tree. It has support for a wide range of architectures^1, many features and is easy to extend, especially for kernel developers. It consists solely of header files which allows building very small applications with bare-metal toolchains.
This talk will explain why it makes sense to have nolibc in the kernel tree, how it ended up there, its strengths and limitations and how it is used currently. Furthermore a new framework is proposed which uses nolibc to combine kselftests with KUnit to improve the developer experience.
^1 i386, x86_64, arm, aarch64, riscv32, riscv64, loongarch64, mipso32, m68k, s390, s390x, SPARC32, SPARC64
Thomas WEISSSCHUH