Tool chaining the Hydra The ongoing quest for modern toolchains in NetBSD - Martin Huseman & Joer
Channel: EuroBSDcon
Date: 2019-10-14

Abstract:

The NetBSD auto-build cluster creates binaries for 67 architectures (and misses one, due to toolchain problems). Providing modern toolchains for all these is not a simple task. Some of them lack the resources for a modern compiler. Some CPU models are no longer supported by GCC or never have been by LLVM. In some cases, NetBSD developers are the primary maintainers of the GCC port.In the last year great progress has been made – gcc 4.8 is now the default compiler for several architectures; binutils and gdb have been updated as well. At the same time LLVM/Clang can be used as alternative system compiler to build a full system for some ports. PCC is explored for severely restrainted ports like Sun2. Some architectures are still using GCC 4.1 or 4.5.But this is only one part of the game. The compiler needs access to certain run time functionality, ranging from low-level algorithms like software integer division over stack unwinding and exception support to C++’s Standard Template Library. NetBSD is in the process of moving toward a full set of BSD or MIT licensed libraries, after careful testing on each architecture and with special attention towards binary compatibility. Avoiding regressions is one goal, but a side effect is increased maintainability. NetBSD is the likely the first platform to offer C++11 support on the VAX including shared libraries and working exception handling.The talk will provide an overview of the ongoing work, the status quo, and show some of the road blocks we had to clean, as well as provide a roadmap of planned future work.